Payment Links
Payment links are shareable URLs that open a hosted checkout page. Create a link, share it via email, social media, or embed it in a button — and customers can pay without you building any checkout UI.Create a Payment Link
Payment amount.
Currency code:
USD, EUR, GBP.Token to accept:
USDC, USDT, SOL.Description shown on the checkout page.
Maximum number of times this link can be used. Omit for unlimited.
ISO 8601 expiration date for the link itself.
Arbitrary key-value pairs.
Enable fiat onramp (NGN to USDC) for this link. The checkout page will present a Pay with Bank option powered by the PAJ Ramp flow.
Original NGN amount for exact PAJ conversion. Bypasses a live FX re-quote at checkout time. Only relevant when
onramp is true.When
true (and onramp is true), a transparent service charge — max(₦30, ceil(amount_ngn × 2.5%)) — is added on top and billed to the payer rather than absorbed by the merchant.When
true, the checkout shows an expanded form to collect customer details (name, phone, company, billing address) before the payment step.Optional pre-filled customer object. When present:
- The checkout page skips the email / customer-info collection step entirely and shows a single “Continue to Pay” button instead.
- The customer data is passed directly into the payment / onramp flow (no manual input required from the payer).
max_usesis automatically forced to1— customer-scoped links are always single-use, regardless of anymax_usesvalue supplied in the request.
| Field | Type | Description |
|---|---|---|
email | string (required) | Customer email address |
name | string | Full name |
phone | string | Phone number (e.g. +2348012345678) |
company | string | Company / organisation name |
billing_address_line1 | string | Address line 1 |
billing_address_line2 | string | Address line 2 |
billing_city | string | City |
billing_state | string | State / province |
billing_postal_code | string | Postal / ZIP code |
billing_country | string | ISO 3166-1 alpha-2 country code (e.g. NG) |
Examples
Response
Response — customer-scoped link
List Payment Links
Get a Payment Link
The unique link code (e.g.,
abc123xyz).Create a Payment from a Link
- Validates the link is active, not expired, and has remaining uses.
- Creates a new payment with the link’s parameters.
- Returns the payment details including wallet address and QR code.
Use Cases
Invoicing
Create a link and email it to your client. They click, pay, done.
Social Commerce
Share payment links on Twitter, Discord, or Telegram. Accept payments from anywhere.
Event Registration
Set
max_uses to your event capacity. Each registration creates a tracked payment.Donations / Tips
Create an open-ended link for recurring or variable-amount contributions.
Payment Links with Fiat Onramp
Whenonramp is set to true, the checkout page shows a Pay with Bank option. The customer transfers NGN via bank transfer, which is converted to USDC and settled directly to your wallet.
Customer-Scoped Links (Single-Use)
Pass acustomer object when you already know who is paying — for example, when generating a link programmatically from an order management system or a checkout flow on your backend.
customer is present:
- The hosted checkout page loads normally.
- Instead of showing the email / customer-info form it shows the customer’s name and a “Continue to Pay” button.
- Clicking the button proceeds directly to the payment step (crypto wallet or PAJ onramp virtual account screen), with the customer details pre-populated.
Trust and Safety on Hosted Checkout
Hosted checkout includes security controls designed to protect both merchants and customers:- Risk-based payment checks are applied during payment creation, transaction build, and submission.
- Sanctions screening is applied during create-payment and transaction-build checkpoints.
- Submission-time fraud gates prevent stale-risk bypasses after initial checkout steps.
What customers may see
Depending on risk outcomes, customers may experience:- normal payment flow
- temporary hold / additional review requirement
- blocked payment attempt
Recommended merchant UX copy
If a payment is blocked or held for review, show neutral language:“Your payment requires additional security review. Please contact support with your payment ID.”Avoid showing internal fraud rule details or threshold values in customer-facing UI. For full policy and operations guidance, see Fraud and Compliance.
Because
max_uses is locked to 1, customer-scoped links are ideal for invoice payment links, programmatic order links, and any scenario where you need a one-time, identity-bound checkout URL.