API reference

Payment links

Create and manage payment links by API.

Everything in Payment links is also available by API — useful for creating a link per product or event from your own system.

GET/v1/payment-links?q=jerseyAPI key
POST/v1/payment-linksAPI key
GET/v1/payment-links/:idOrSlugAPI key
PATCH/v1/payment-links/:idAPI key
POST/v1/payment-links/:id/deactivateAPI key
Link fields
titlestringrequired
2–80 chars.
amountPesewasintegerrequired
Fixed amount, 100 – 100,000,000.
slugstringoptional
4–50 lowercase letters, digits or dashes. Generated from the title if omitted. The page is /pay/<slug>.
descriptionstringoptional
≤ 500 chars.
isActivebooleanoptional
Default true.
expiresAtISO dateoptional
Stop accepting after this time.
maxPaymentsintegeroptional
Stop after this many verified payments.
successMessagestringoptional
Shown on the receipt (≤ 300 chars).
redirectUrlURLoptional
Redirect after a verified payment.
collectPayerNamebooleanoptional
Ask the payer’s name.
collectPayerPhonebooleanoptional
Ask the payer’s phone.
Link object
{
  "id": "cmvymjp4f0009zxtw0c1o5l2a",
  "slug": "football-jersey",
  "url": "https://pay.yourshop.com/pay/football-jersey",
  "title": "Football jersey",
  "description": "Home kit 2026, size M–XL.",
  "amountPesewas": 2500,
  "isActive": true,
  "expiresAt": null,
  "maxPayments": null,
  "successMessage": "Thanks! Show this screen at the counter.",
  "redirectUrl": null,
  "collectPayerName": true,
  "collectPayerPhone": false,
  "payments": 3,
  "collectedPesewas": 7500,
  "pending": 1,
  "availability": "OPEN",
  "createdAt": "2026-11-02T09:00:00.000Z"
}

availability is OPEN, INACTIVE, EXPIRED or SOLD_OUT. Changing the amount only affects payers who start after the change.