Skip to main content

Checkout

Checkout creates a hosted payment page. You redirect the customer to its url, and IntaSend shows the payment methods enabled on your account for that currency.

Checkout is authenticated with your publishable key, so you can call it from your frontend or your server.

curl -X POST https://api.intasend.com/api/v1/checkout/ \
-H "X-IntaSend-Public-API-Key: ISPubKey_test_xxxx" \
-H "Content-Type: application/json" \
-d '{
"amount": 1500,
"currency": "KES",
"email": "[email protected]",
"first_name": "Jane",
"last_name": "Doe",
"phone_number": "254712345678",
"api_ref": "order-123",
"redirect_url": "https://example.com/thank-you"
}'
{
"id": "0b7d…",
"url": "https://sandbox.intasend.com/checkout/0b7d…/express/",
"signature": "eyJ…",
"amount": 1500,
"currency": "KES",
"paid": false
}

Redirect the customer to url. After they pay, they are sent to redirect_url.

Request​

FieldRequiredDescription
amountYesAmount to charge
currencyNoKES (default), USD, EUR, GBP, UGX, TZS, RWF, CDF. UGX and TZS amounts must be between 500 and 5,000,000.
email, first_name, last_name, phone_numberNoPrefills the customer's details
country, address, city, state, zipcodeNoBilling address (card payments)
api_refNoYour reference (letters, numbers, -, _, : and spaces)
unique_api_refNotrue returns the existing checkout for this api_ref instead of creating a new one
redirect_urlNoWhere the customer goes after paying
wallet_idNoWallet to credit
hostNoYour site's URL

Methods shown​

The page shows the methods enabled on your account:

CurrencyMethods
KESM-Pesa, card, Apple Pay, Google Pay, PesaLink, crypto
USD / EUR / GBPCard, Apple Pay, Google Pay, crypto
UGXMTN, Airtel
TZSM-Pesa TZ, Tigo Pesa, Airtel, HaloPesa

Confirming payment​

Don't treat a redirect to redirect_url as proof of payment. Instead, confirm with one of these: