Skip to main content
POST

Authorizations

X-Meridian-Signature
string
header
required

Meridian HMAC header authentication.

Required headers:

  • X-Meridian-Api-Key
  • X-Meridian-Timestamp
  • X-Meridian-Signature

X-Meridian-Signature is the HMAC SHA-256 signature of the canonical request string, computed per request as HMAC-SHA256(apiKey + timestamp + method + request URI including any query string + body). See Authentication for how to construct it.

Headers

X-Meridian-Api-Key
string
required

API key issued by Meridian during provisioning.

X-Meridian-Timestamp
string
required

Current time in milliseconds since the Unix epoch. Must be within 10 seconds of the request.

Body

application/json

Request body to create a payment link.

Request body to create a payment link.

sessionKey
string
required

Session key obtained from POST /v1/payment-links/sessions. Must be non-blank and unexpired.

recurrenceType
enum<string>
required

How the payment link handles recurrence.

Available options:
SINGLE,
RECURRING,
VARIABLE
referenceId
string
required

Unique reference defined by the merchant to identify the payment link (non-blank, max 255 characters). Not shown to customers on single payment links.

Maximum string length: 255
referenceLabel
string
required

Human-readable label for the payment link (non-blank, max 64 characters).

Maximum string length: 64
debitCurrency
enum<string>
required

ISO-4217 currency code debited from the payer. Currencies are enabled per merchant.

Available options:
EUR,
USD,
GBP,
PHP,
MXN,
ZAR,
USDC_ETH,
USDC_SOL,
USDT_ETH,
USDT_SOL
creditCurrency
enum<string>
required

ISO-4217 currency code the merchant is paid out in. The merchant must have a configured credit instrument for this currency.

Available options:
EUR,
USD,
GBP,
PHP,
MXN,
ZAR,
USDC_ETH,
USDC_SOL,
USDT_ETH,
USDT_SOL
description
string | null

Optional human-readable description for the payment link (max 255 characters).

Maximum string length: 255
authChallenge
string | null

Authentication challenge the payer must answer to access the payment link before paying (non-blank, max 255 characters). Required unless recurrenceType is SINGLE.

Maximum string length: 255
creditAmount
string | null

Amount collected per charge, sent as a decimal string such as "100.50". Must be greater than zero. For recurring links this is the amount debited for each installment. Required unless recurrenceType is VARIABLE, where it may be omitted at creation and set later via the update endpoint. A JSON number is also accepted on input, and responses always return this field as a string.

Example:

"100.50"

startDate
string<date> | null

First date the link can be paid; payments are not allowed before it. Must be today or later. Normalized forward to the next banking day, so the stored value may differ from what you send. Optional for all recurrence types.

endDate
string<date> | null

Date after which the link can no longer be paid. Must be after today and after startDate. Optional for all recurrence types; it is not required even when collectionCount is omitted.

collectionCount
integer | null

Number of installments to collect, between 1 and 500. Optional for all recurrence types; it is not required even when endDate is omitted.

Required range: 1 <= x <= 500
customFields
Map_String_String · object

Optional key-value map of custom fields defined by the merchant. Each key and value must be a string. Any custom field the merchant has configured as required must be present.

Response

Payment link created successfully

Wrapper returned by the create and update payment link endpoints.

The created or updated payment link.