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_01–custom_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

{
"name": "GS2 Payment Link",
"name_on_account": "Testing Payments",
"cc_mid": "800000001780",
"amount": "99.99",
"lock_amount": "false",
"disable_after_payment": "false",
"min_amount": "50.00",
"max_amount": "200.00",
"hpp_options": [
{
"name": "email",
"value": "test@test.com",
"is_readonly": "false",
"is_required": "true"
},
{
"name": "phone",
"value": "2150462839",
"is_readonly": "false",
"is_required": "true"
}
]
}

Response Fields

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

Response Example

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