/api/v1/gateway/payments/create
Open a payment and get a checkout URL to send your customer to.
authorization header —
creating a payment link moves no money on its own, so it is authenticated by your API key, request
signature and IP allowlist alone. You can skip the login call entirely for a payin-only
integration.success_url and fail_url hosts must be registered on your merchant profile before they will be
accepted — an unregistered host is rejected with redirect_domain_not_allowed before a payment is
created. Ask your account manager to add them.Idempotency
Reusing amerchant_reference returns the existing payment rather than creating a second one.
A retry after a network timeout is safe and gives you back the original checkout_url.
The status code is how you tell the two apart: 201 means you just created it, 200 means this
merchant_reference was already used and you are getting the original payment — and its original
checkout_url — back.
Example request
Errors
request_id when you contact support — it identifies the exact request in our logs.503 is about us, not your request: retry the same payload with backoff and it will succeed once
the condition clears. A 4xx will not change on retry.
See Errors for the envelope shape shared by every endpoint.Authorizations
Identifies your account. Issued from Developer Tools in the dashboard.
Headers
Unix epoch in seconds — not milliseconds. Must be within ±5 minutes of our clock, which is what makes a captured request unusable later. Keep your client's clock NTP-synced.
1748023400
HMAC-SHA256 over the signing string, hex encoded. The timestamp is part of what is signed, so a replayed body cannot be re-dated. See https://docs.pontisglobe.com/authentication for how it is built.
"2f8a9b4c1d7e0a3f6b8c2d5e9f1a4b7c0d3e6f9a2b5c8d1e4f7a0b3c6d9e2f5a"
Body
Your own order id. Also the idempotency key.
1 - 128"ORDER-1042"
A positive decimal string, at most 2 decimal places. More than two is rejected rather than rounded — a sub-cent order would have the payer charged something the merchant's own order does not say.
^\d+(\.\d+)?$"100.00"
https only, no embedded credentials, and the host must be on your
account's allowed domains.
USDT 5 minutes to 24 hours. Also how long a deposit address stays open.
300 <= x <= 86400