Skip to main content
POST
payments.payment-link.create

Authorizations

Authorization
string
header
required

API key: sk_live_…

Headers

Idempotency-Key
string
required

Required: this capability has an external effect.

Maximum string length: 255
Pramaan-Account
string

Optional. One of your account ids (GET /v1/accounts): run on that account, whatever your routing rules say. The response header X-Pramaan-Account names the account that ran.

Pramaan-End-User
string

Optional. Your own tag for your end user: a sticky: end_user rule keeps them on the account that first served them.

Maximum string length: 256
Pramaan-End-User-Group
string

Optional. Your end user's group, matched by rules with endUserGroup.

Maximum string length: 64

Body

application/json
amount
integer
required

Whole number in the currency's smallest unit, 1 to 99999999.

Required range: 1 <= x <= 99999999
currency
string
required

Three-letter currency code, such as INR or USD.

Required string length: 1 - 3
Pattern: ^[A-Za-z]{3}$
checkout
object

Optional payment page appearance and method controls.

products
object[]

Optional investment purchase details, including customer fund references. Amounts must sum to the payment total.

Required array length: 1 - 50 elements
offerIds
string[]

Apply these offers when supported.

Required array length: 1 - 20 elements

Offer id in your connected merchant account.

Required string length: 1 - 128
Pattern: ^[A-Za-z0-9_-]+$
payerBank
object

Optional payer bank validation. Contains the payer's bank account and name.

splitTransfers
object[]

Split amounts to saved merchant accounts after collection, at most 50. Money stays in the connected merchant accounts.

Required array length: 1 - 50 elements
taxCategory
enum<string>

Optional tax classification: digital_products for digital goods, saas for software subscriptions, e_book for electronic books, edtech for education software, or live_tutoring for live lessons. Required by sources that create a catalog product; never inferred.

Available options:
digital_products,
saas,
e_book,
edtech,
live_tutoring
description
string

What the customer is paying for.

Required string length: 1 - 2048
reference
string

Your own unique reference.

Required string length: 1 - 128
expiresAt
string<date-time>

Date and time in ISO 8601 with a timezone.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
allowPartial
boolean
default:false

Accept partial payments. Default false.

minimumFirstPayment
integer

Whole number in the currency's smallest unit, 1 to 99999999.

Required range: 1 <= x <= 99999999
instantTransferOnly
boolean
default:false

Accept only instant bank transfers, when supported.

customer
object

Customer contact details used only for this payment request; they may not prefill checkout.

notifyEmail
boolean
default:false

Email the customer. Default false.

notifySms
boolean
default:false

Text the customer. Default false.

reminders
boolean
default:false

Send payment reminders. Default false.

notes
object

Your own reference notes, at most 15 entries of 256 characters each.

Response

The result

Payment link id in your connected merchant account.

status
enum<string>
required

Current payment link state.

Available options:
created,
partially_paid,
paid,
expired,
canceled,
unknown
amount
object

Amount requested in minor units; absent when the customer chooses the amount.

minimumAmount
object

Smallest amount a customer may choose, in minor units, when they choose.

amountPaid
object

Amount already collected.

reusable
boolean

Whether several customers can pay through the link.

archived
boolean

Whether the link is archived.

paidAt
string

When the link was paid, ISO 8601.

paymentUrl
string

Temporary platform link that opens the payment page; obtain a fresh link when it expires.

When the temporary platform link expires, ISO 8601.

expiresAt
string

When the payment request expires, ISO 8601.

reference
string

Your own reference.

description
string

What the payment is for.

allowPartial
boolean

Whether partial payments are accepted.

notes
object

Your own reference notes, at most 15 entries of 256 characters each.

createdAt
string

When the payment link was created, ISO 8601.

ref
string

Reference to what this call created. Pass it as ref to payments.payment-link.get or payments.payment-link.notify.