-
- abort-payment-on-terminal
- capture-payment
- filter-payments
- find-payment
- initiate-payment-flow
- list-activity-logs
- list-payment-activities
- list-payments
- list-payments-by-contact
- list-payments-by-terminal
- refund-payment
- request-payment
- resume-payment-on-terminal
- retrieve-refund-performance
- retrieve-sales-performance
- reverse-payment
- start-payment-on-terminal
- void-payment
Add a payment link
Create a new payment link that can be shared with customers to collect payments. A payment link is a unique URL that redirects customers to a hosted checkout page.
If no installation_* attributes are provided, the merchant's default link installation will be used.
If any installation_* attributes (like installation_email_capture) are provided,
a new one-off installation will be created for this payment link,
based on the merchant's default link installation attributes and the provided attributes.
amount
number
Required. The amount to collect in subunits according to ISO 4217. E.g., 1000 for 10.00 THB. Or 500 for 500 JPY.
currency
string
Required. The 3-letter ISO 4217 currency code (e.g., 'USD'). Must be a supported currency.
description
string
Required. A description of the product or service being paid for.
external_id
string
Optional. Your internal reference for this payment link.
expires_at
number
Optional. Optional Unix timestamp when the link should expire.
single_use
boolean
Optional. If true, the link will be disabled after the first successful payment. Defaults to false.
Allowed values:truefalse
send_confirmation_email
boolean
Optional. If true, sends a confirmation email to the customer after each successful payment. Defaults to false.
Allowed values:truefalse
installation_name
string
Optional. The name for a new custom installation.
installation_payment_methods
string
Optional. Comma-separated list of payment methods for a new custom installation.
installation_email_capture
string
Optional. Email capture configuration for a new custom installation.
Allowed values:disabledoptionalrequired
installation_mobile_capture
string
Optional. Mobile phone capture configuration for a new custom installation.
Allowed values:disabledoptionalrequired
installation_address_capture
string
Optional. Billing address capture configuration for a new custom installation.
Allowed values:disabledoptionalrequired
| Attribute | Description |
|---|---|
payment_link_idstring
|
Always present. The ID of the payment link. |
batch_idstring
|
Nullable. The ID of the batch that created this payment link, if any. |
payment_link_urlstring
|
Always present. The URL of the payment link. |
statusstring
|
Always present. The current status of the payment link. Possible values:
|
amountnumber
|
Always present. The amount of the payment link in subunits. |
currencystring
|
Always present. The 3-letter ISO currency code. |
descriptionstring
|
Always present. The description of the payment link. |
external_idstring
|
Nullable. The merchant's internal reference for this link. |
expires_atnumber
|
Nullable. When the link becomes invalid (Unix timestamp). |
single_useboolean
|
Always present. If true, the link expires after one successful payment. |
send_confirmation_emailboolean
|
Always present. If true, sends a confirmation email to the customer after each successful payment. |
installationobject.installation
|
Always present. The installation associated with this payment link. |
created_atnumber
|
Always present. The creation timestamp (Unix timestamp). |
deletableboolean
|
Always present. If true, the payment link has no associated payments and can be removed. |
| Attribute | Description |
|---|---|
installation_idstring
|
Always present. The ID of the installation. |
enabledboolean
|
Always present. Whether the installation is enabled and active. |
namestring
|
Always present. The name of the installation. |
platformstring
|
Always present. The platform type of the installation (e.g., 'WEB', 'IOS', 'ANDROID', 'TERMINAL'). Possible values:
|
identifierstring
|
Nullable. The unique identifier for the installation on the platform. |
payment_methodsarray<object.payment_method>
|
Always present. List of payment methods supported by this installation. |
email_capturestring
|
Always present. Email capture configuration for this installation. 'disabled' means no email collection, 'optional' means email is collected if provided by customer, 'required' means email is mandatory for all customers. Possible values:
|
mobile_capturestring
|
Always present. Mobile phone capture configuration for this installation. 'disabled' means no mobile number collection, 'optional' means mobile number is collected if provided by customer, 'required' means mobile number is mandatory for all customers. Possible values:
|
address_capturestring
|
Always present. Billing address capture configuration for this installation. 'disabled' means no billing address collection, 'optional' means billing address is collected if provided by customer, 'required' means billing address is mandatory for all customers. Possible values:
|
created_atnumber
|
Always present. The timestamp of the key creation as a Unix timestamp. |
| Attribute | Description |
|---|---|
namestring
|
Always present. The name of the payment method. |
display_namestring
|
Always present. The display name of the payment method. |
flowstring
|
Always present. The flow of the payment method. |
categorystring
|
Always present. The category of the payment method. |
UNHANDLED_ERROR
This error occurs when the server encounters an unexpected internal error that it cannot handle gracefully. This typically happens due to bugs, infrastructure issues, or edge cases that weren't anticipated during development.
INVALID_ARGUMENTS
This error occurs when the request contains invalid or missing parameters. Common cases include missing required fields, or values that don't match the expected format or type.
BAD_VERSION
This error occurs when making requests to an API version that does not exist. This commonly happens when using an outdated SDK or when the API version specified in the request URL is incorrect.
curl "https://api.reservepay.com/merchants/add-payment-link" \
-X POST
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer $(RESERVEPAY_API_KEY)" \
-d '{
"amount": 10000
"currency": "THB"
"description": "Payment for 3 items from MyShop"
}'
