Initiate checkout
redirectUrl for a hosted payment page that you forward the customer to.
Check the guide!
- This API call is idempotent, which means it is safe to submit a request with the same
checkoutIdmultiple times. - Duplicate requests with the same
checkoutIdwill be ignored with theDUPLICATE_IGNOREDstatus in the response. - Always check the
statusin the response for each request. When it isREJECTED, thefailureReasondescribes what went wrong through itsfailureCodeandfailureMessage. - A checkout is the single reference for the whole payment, including any retries the customer makes.
- One checkout can contain multiple payment attempts, but at most one can complete successfully. The customer can retry within the same checkout — PawaPay manages the attempts for you.
- If the checkout is accepted, redirect the customer to the returned
redirectUrl.
| Status | Description |
|---|---|
ACCEPTED | The checkout has been accepted and the hosted payment page has been created. |
REJECTED | The checkout has been rejected. See failureReason for details. |
DUPLICATE_IGNORED | The checkout has been ignored as a duplicate of an already accepted checkout. Deduplication is based on checkoutId. |
How to find out the final status of this checkout?
As the PawaPay Merchant API is an asynchronous API, a checkout has its own lifecycle. You can find out the final status of anACCEPTED checkout by either:
Waiting for a callback
Checking the status
Check Checkout Status endpoint for the latest checkout and payment status.Authorizations
See Authentication.
Headers
SHA-256 or SHA-512 hash of the request body.
Body
A UUIDv4 based unique ID for this payment. We require you to provide the unique ID for all initiated payments to ensure you can always reconcile all payments. Please store this ID in your system before initiating the payment with PawaPay.
36"f4401bd2-1568-4140-bf2d-eb77d2b2b639"
The URL the customer should be redirected to after the payment is processed.
"https://merchant.example.com/checkout-result"
Controls how the customer is returned from the hosted payment page to the returnUrl once the payment is finished or cancelled. The customer is always returned eventually; this only affects the experience.
INSTANT- The customer is redirected back immediately, with no extra screen.COUNTDOWN- A short countdown is shown, then the customer is redirected automatically.CUSTOMER_ACTION- The checkout page waits until the customer presses "Return to merchant".
INSTANT, COUNTDOWN, CUSTOMER_ACTION The default language of the checkout page. Supported languages are en and fr.
en, fr "en"
Number of minutes after creation when the checkout should expire. Must be between 3 and 60. Defaults to 15 if not provided.
3 <= x <= 6060
The fixed amount the customer is asked to pay, specified per country and currency.
This allows you to set the amount the customer will pay in each country and currency the checkout supports. The customer is then asked to pay the amount matching the country and currency they select on the hosted payment page.
If amounts is provided, it must include an entry for every country in the countries array. If omitted, the customer enters the amount themselves on the hosted payment page.
Details of the payer that should be pre-filled for the hosted payment page, if specified.
A reference to an entity in your system that this payment relates to. For example, an invoice ID, customer ID etc.
"INV-123456"
Localized reason values shown to the customer inside the hosted payment page.
{ "en": "GOODS PURCHASE" }A list of metadata that you can attach to the payment for providing additional context about the payment. For example, adding the channel from which the payment was initated, product ID or anything else that might help your operations team.
Metadata will be included in:
- In the dashboard on payment details pages
- Financial statements as JSON object
- Callbacks
Metadata can be used when searching in the PawaPay Dashboard. Full value of the metadata field must be used for searches.
Metadata will not be visible to the customer that is involved in this payment.
Up to 10 metadata fields can be attached to a payment.
[
{ "orderId": "ORD-123456789" },
{
"customerId": "customer@email.com",
"isPII": true
}
]Response
Request has valid payload. See status to confirm if the checkout was accepted for processing.
A UUIDv4 based unique ID for this payment. We require you to provide the unique ID for all initiated payments to ensure you can always reconcile all payments. Please store this ID in your system before initiating the payment with PawaPay.
36"f4401bd2-1568-4140-bf2d-eb77d2b2b639"
The initiation status of the checkout:
ACCEPTED- The checkout has been accepted and the hosted payment page has been created.REJECTED- The checkout has been rejected. SeefailureReasonfor details.DUPLICATE_IGNORED- The checkout has been ignored as a duplicate of an already accepted checkout. Deduplication is based oncheckoutId.
ACCEPTED, REJECTED, DUPLICATE_IGNORED The URL to which the customer must be redirected to open and complete the hosted payment page.
"https://payment.example.com/checkout/afb57b93-7849-49aa-babb-4c3ccbfe3d79"
The timestamp when the checkout and its hosted payment page are scheduled to expire.
"2026-03-27T11:30:00Z"
A unique identifier that forms part of the checkout's redirect URL.
"PPGAFB57B93"