Overview
Payment Links let you generate a hosted checkout URL for a specific order (product, fees, applicants, country, etc.).Your customer opens the link and completes the payment on a secure hosted page.
Hosted Checkout
Redirect your customer to a ready-to-pay URL
Fast Setup
No complex integration required
Expires Automatically
Links include an
expiresAt timestampHow It Works
Tip: Store
orderId and token for tracking and support.Create Payment Link
Request
Response
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
submissionId | string | No | Optional reference to your internal submission/order |
productName | string | Yes | Display name for the product/service |
applicants | number | Yes | Quantity (e.g., applicants, seats, people) |
serviceFee | number | Yes | Service fee amount |
govFee | number | Yes | Government fee amount |
totalPrice | number | Yes | Total amount to pay (service + gov, or your final total) |
countryDestination | string | Yes | Destination country label (free text) |
residence | string | Yes | Customer residence label (free text) |
Customer Experience
Best Practices
Store Identifiers
Save
orderId + submissionId (if used) to reconcile paymentsHandle Expiration
If expired, create a new link and resend to the customer
Use HTTPS in Production
Use TLS and keep your
x-api-key secret (server-side only)Don’t Expose API Keys
Never call the endpoint directly from the browser in production
Common Issues
401 / Unauthorized
401 / Unauthorized
Redirect URL not opening
Redirect URL not opening
Problem:
redirectUrl not received or URL is malformedLink expired
Link expired
Problem: Customer tries to pay after
expiresAt
