"kind": "onramp". Your backend creates it and shares checkout_url. On the pay page the customer verifies their identity once, then pays by card or bank in a secure onramp window embedded in the page. The payment is converted to a stablecoin (for example USDC) and delivered to ParuPay’s wallet. ParuPay takes its fees from the payment, and you are owed the net amount.
- The customer never chooses a wallet, network or coin — they are locked by ParuPay.
- The customer pays the onramp’s own processing and network fees on top of your amount; those fees are shown to them before they pay.
- One successful payment closes the link, like any payment link.
Sandbox (
sk_test_) works for every account straight away. Live (sk_live_) onramp payments must be enabled for your account by ParuPay — ask support@parupay.com. You can check what is enabled with GET /v1/onramp/status.Who can pay
Create
POST /v1/payment_links with Authorization: Bearer sk_… and "kind": "onramp".
Response
The same as a payment link:Errors
What the customer sees
- The pay page opens with your logo, title and amount, and the onramp window loads inside it.
- First time only: the customer signs in with a one-time code and verifies their identity.
- The customer reviews the quote (amount, onramp fees, total) and pays by card or bank.
- The page shows Payment received — finishing up… while the crypto is delivered, then the success screen. If you set
return_url, the customer is sent back to you.
Statuses
Webhooks are the same as for any payment:
payment_intent.succeeded when it completes and payment_intent.payment_failed when it is declined. See Webhooks and Payment statuses.
On the charge, onramp payments have payment_method_type: "crypto_onramp" and card_brand set to the coin (for example "usdc"). The charge metadata includes onramp_transaction_id (the blockchain transaction), onramp_destination_amount, onramp_destination_currency and onramp_destination_network.
Fees and settlement
- ParuPay’s fee (your MDR % plus the fixed fee, and the conversion fee when the currency differs from your settlement currency) is taken from the payment amount, exactly as for card payments. The charge shows
platform_feeandnet_amount. - The onramp’s own fees are paid by the customer on top of your amount — they do not reduce what you receive.
- Your net amount is added to your balance in the merchant portal and settled to you by ParuPay under your settlement terms.
Check availability
GET /v1/onramp/status with your secret key tells you whether you can create onramp links in the key’s mode.
Read
Testing
Usesk_test_ and a small amount such as 10.00 — the sandbox has its own amount limits and larger test payments may not go through. In the onramp window use these test values:
Use a new email address for each test customer. Sandbox payments deliver no real crypto.
