iPintiPint Docs
API Reference

POST /checkout

Create a hosted checkout session and get a payment process URL.

POST /checkout

POST/checkout

Create a payment session and receive a payment_process_url to redirect your customer to iPint's hosted checkout page.

Headers

HeaderRequiredDescription
apikeyYesYour API key
Content-TypeYesapplication/json

Request body

ParameterTypeRequiredDescription
client_email_idstringYesCustomer's email address
client_preferred_fiat_currencystringYesCustomer's fiat currency code (e.g. USD, INR)
amountstringNoPayment amount in fiat. If omitted, customer enters it on the checkout page
merchant_idstringConditionalRequired for B2B / aggregator flows
merchant_websitestringYesURL to redirect to after payment completes
invoice_callback_urlstringYesYour webhook URL for payment status updates

curl example

curl --location --request POST 'https://api.ipint.io:8003/checkout' \
  --header 'apikey: your-api-key' \
  --header 'Content-Type: application/json' \
  --data-raw '{
      "client_email_id": "user@email.id",
      "client_preferred_fiat_currency": "INR",
      "amount": "4999.65",
      "merchant_website": "https://merchant.redirect",
      "invoice_callback_url": "https://merchant.web/callback"
  }'

JavaScript example

const response = await fetch(
  "https://api.ipint.io:8003/checkout",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "apikey": "your-api-key"
    },
    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 customer → payment_process_url

Success response (200)

Mainnet:

{
  "session_id": "voZ3pYmiE16FLaSfFmytouwFfcjR4Zom8",
  "payment_process_url": "https://ipint.io/checkout?id=voZ3pYmiE16FLaSfFmytouwFfcjR4Zom8"
}

Testnet:

{
  "session_id": "voZ3pYmiE16FLaSfFmytouwFfcjR4Zom8",
  "payment_process_url": "https://ipint.io/test-checkout?id=voZ3pYmiE16FLaSfFmytouwFfcjR4Zom8"
}
FieldTypeDescription
session_idstringUnique session ID (same as invoice_id in callbacks and /invoice queries)
payment_process_urlstringURL to redirect the customer to

Use the session_id to check payment status later via GET /invoice.

Error response (400)

{ "error": true, "message": "error-message" }

Integration options

The payment_process_url can be used in three ways:

1. Redirect (default)

Redirect the customer to the URL:

window.location.href = payment_process_url;

2. Pop-in iFrame

Embed the checkout in your page:

<iframe
  width="1270"
  height="740"
  src="payment_process_url-from-checkout-endpoint"
></iframe>

Example:

<iframe
  width="1270"
  height="740"
  src="https://ipint.io/checkout?id=voZ3pYmiE16FLaSfFmytouwFfcjR4Zom8"
></iframe>

3. Custom APIs

For fully custom integration, use the POST /invoice endpoint instead to generate QR codes and build your own UI.

Try it live

Open in Swagger UI →

Next steps

On this page