iPintiPint Docs
Guides

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

  1. Get a payment process URL

    Call the /checkout endpoint with HTTP POST to create a payment session. You'll receive a payment_process_url and a session_id.

  2. 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.

  3. Customer enters amount (if needed)

    If you didn't pass an amount in the /checkout call, the customer enters it on the checkout page. The exchange rate is locked at this point.

  4. 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.

  5. Customer confirms

    After making the payment, the customer clicks "Paid & Confirm". They're redirected back to your merchant_website.

  6. 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 via GET /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 /invoice

Important 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

On this page