Hosted Payment Pages

Overview

Hosted Payment Pages (HPP) allow you to generate a branded, shareable payment link without building a custom checkout UI. Each page is pre-configured with a merchant ID, optional amount, and customer data fields — and can be sent directly to a customer for self-service payment.

For creating a new HPP, see the POST /api/v1/hpp endpoint in the API reference.


Edit a Hosted Payment Page

PUT https://javelin.runpayments.io/api/v1/hpp/{hpp_client_id}

Updates an existing hosted payment page. Existing fields are preserved unless overridden — this endpoint does not remove fields that are omitted from the request body.

Request Fields

FieldFormatRequiredEditableDescription
cc_midstringYesNoMerchant ID associated with the hosted payment page. Cannot be changed after creation.
namestringNoYesDisplay name of the hosted payment page.
name_on_accountstringNoYesCustomer name to pre-populate on the payment form.
amountstringNoYesFixed amount for the payment.
lock_amountstringNoYes"true" or "false". When "true", the customer cannot change the amount. Requires amount to be set.
disable_after_paymentstringNoYes"true" or "false". When "true", the payment page is deactivated after a single successful payment.
min_amountstringNoYesMinimum amount the customer may enter. Only valid when lock_amount is "false". May equal amount.
max_amountstringNoYesMaximum amount the customer may enter. Only valid when lock_amount is "false". May equal amount.
hpp_optionsarrayNoYesArray of optional form field configurations. See below.

hpp_options Fields

Each entry in the hpp_options array configures a form field on the payment page:

FieldTypeDescription
namestringField identifier. Supported values: address, phone, email, invoice_id, custom_01custom_05.
valuestringPre-populated default value for the field.
is_readonlystring"true" or "false". When "true", the customer cannot edit the field.
is_requiredstring"true" or "false". When "true", the field must be completed before payment.

Request Example

1{
2 "name": "GS2 Payment Link",
3 "name_on_account": "Testing Payments",
4 "cc_mid": "800000001780",
5 "amount": "99.99",
6 "lock_amount": "false",
7 "disable_after_payment": "false",
8 "min_amount": "50.00",
9 "max_amount": "200.00",
10 "hpp_options": [
11 {
12 "name": "email",
13 "value": "test@test.com",
14 "is_readonly": "false",
15 "is_required": "true"
16 },
17 {
18 "name": "phone",
19 "value": "2150462839",
20 "is_readonly": "false",
21 "is_required": "true"
22 }
23 ]
24}

Response Fields

FieldFormatDescription
successbooleantrue if the update was applied successfully.
messagestringConfirmation message.
urlstringThe updated payment page URL.

Response Example

1{
2 "success": true,
3 "message": "HPP updated successfully",
4 "url": "https://hpp.runpayments.io/payment?client_id=2DF1A41172BA157090D8E26EC83E0CE0"
5}