1
Create a payment link
Call
POST /payment-links with your API key. Idempotency-Key is required on create. Amounts are integers in the currency’s smallest unit; for PHP that is centavos (150000 is PHP 1,500.00).merchant_branch_reference_number is required when your key is scoped to a partner or merchant. Branch-scoped keys can omit it. When line_items are supplied, amount must equal their sum (unit_price times quantity).2
Share the returned URL
The
201 response contains the hosted checkout url. Send it to your customer.3
Pay with a test card
Open the
url and pay with a sandbox card. Use a 3DS challenge card and enter OTP 1234:4000 0000 0000 2503 exp 12/28 CVC 123 OTP 1234No real money moves. The full card set is on the Testing page.4
Confirm and reconcile
After payment, the customer is returned to your
redirect_urls.success. Confirm the result server-side by retrieving the payment link and reading its status and successful_payment_count. Match it to your order with the order_reference you set at creation.merchant_branch_reference_number if your key is partner- or merchant-scoped) to run them.
Next steps
API Reference
Every field on every Payment Links endpoint
Authentication
Keys, entity scoping, and idempotency
JavaScript SDK
Collect cards inside your own checkout
Testing
Test cards and scenarios