iPintiPint Docs
Integration

Hosted Checkout

iPint's pre-built, user-friendly hosted payment page for crypto payments.

Hosted Checkout

iPint's Hosted Checkout is a pre-built, user-friendly, hosted payment page for digital asset payments. It's the fastest way to start accepting payments — no frontend code required beyond a redirect.

How it works

  1. Create a checkout session

    Call POST /checkout with the payment details. You'll receive a payment_process_url and a session_id.

  2. Redirect your customer

    Send your customer to the payment_process_url. This opens iPint's checkout page where they'll complete the payment.

  3. Customer selects an asset

    Your customer picks which cryptocurrency to pay with from the supported list.

  4. Customer enters amount

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

  5. Customer pays via QR

    iPint generates a QR code. The customer scans it with their wallet, or copies the address and amount manually. On mobile, they can tap "Open in wallet" to launch their wallet app with details pre-filled.

  6. Customer confirms

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

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

Example

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();

// Redirect your customer
window.location.href = payment_process_url;

Parameters

ParameterRequiredDescription
client_email_idYesCustomer's email address
client_preferred_fiat_currencyYesCustomer's fiat currency (e.g. USD)
amountNoPayment amount. If omitted, customer enters it on the checkout page
merchant_websiteYesURL to redirect to after payment completes
invoice_callback_urlYesYour webhook URL for payment status updates

The session_id returned is the same as the invoice_id you'll receive in webhook callbacks. Use it to correlate the checkout session with payment status.

Next steps

On this page