1
Save the order on your server
Create the order as pending. The amount on the payment link is the amount the customer pays. $10.00 is sent as 1000.
2
Ask ParuPay for a payment link
Your backend calls
POST /v1/payment_links with the secret key. The response includes checkout_url.3
Send the customer to hosted checkout
The customer pays on the ParuPay page. Your site does not collect the card number or CVC.
4
Update the order from the webhook
payment_intent.succeeded means paid. payment_intent.payment_failed means failed. charge.refunded means refunded. payment_intent.cancel means canceled.5
Confirm it in the merchant portal
The same payment appears as success, pending, failed, or cancelled.
Sandbox uses
sk_test_. Production uses sk_live_. Follow Getting started, or send a request from Try the API.