Receive a Payment
How to receive a payment by getting a payment process URL from iPint.
Receive a Payment
This guide walks through accepting a payment using iPint's hosted checkout — the fastest way to get started.
How it works
Get a payment process URL
Call the
/checkoutendpoint with HTTP POST to create a payment session. You'll receive apayment_process_urland asession_id.Redirect your customer
Redirect your customer to the
payment_process_url. This opens iPint's checkout page where they'll select a cryptocurrency to pay with.Customer enters amount (if needed)
If you didn't pass an
amountin the/checkoutcall, the customer enters it on the checkout page. The exchange rate is locked at this point.Customer pays via QR
iPint generates a QR code. The customer scans it with their wallet app, or copies the address and amount manually. On mobile, they can tap "Open in wallet" to launch their wallet with details pre-filled.
Customer confirms
After making the payment, the customer clicks "Paid & Confirm". They're redirected back to your
merchant_website.iPint sends a callback
When payment succeeds or fails, iPint sends a POST to your
invoice_callback_url. Use this as a trigger to verify the payment viaGET /invoice.
Full example
// 1. Create the checkout session
const response = await fetch(
"https://api.ipint.io:8003/checkout",
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
client_email_id: "customer@email.com",
client_preferred_fiat_currency: "USD",
amount: "25.00",
merchant_website: "https://yoursite.com/thank-you",
invoice_callback_url: "https://yoursite.com/webhook"
}),
}
);
const { payment_process_url, session_id } = await response.json();
// 2. Redirect your customer
window.location.href = payment_process_url;
// 3. Handle the callback on your server (see Webhooks docs)
// 4. Verify payment via GET /invoiceImportant parameters
merchant_website— where the customer goes after paying. Pass this so they return to your site.invoice_callback_url— your webhook URL. iPint POSTs here when payment status changes.amount— optional. If omitted, the customer enters it on the checkout page.
The session_id from /checkout is the same as the invoice_id in webhook
callbacks. Use it to correlate the session with payment status.
Next steps
- Check payment status — verify payments server-side
- Webhooks reference — callback payload details
- POST /checkout — full endpoint reference