Payment status

You can make a request to get the status of a Checkout payment request by using the checkoutId as a reference to the payment.

Initiating a Checkout session sends a webhook notification to the merchant that includes the checkoutId. The initial status is created.

A merchant can also query the transaction status using their merchantTransactionId. Using the merchantTransactionId returns the latest Checkout associated with that value. If the merchant is not maintaining unique merchantTransactionIds, multiple associations between this parameter and Checkout sessions could exist.


Merchants should use unique merchantTransactionIds for each payment request that they execute.

API endpoints

Payment statusDescription
pendingThe merchant initiated a Checkout payment and is awaiting customer completion. Payments can have a future state depending on the customer's action.
successfulThe customer completed a Checkout payment. This is a final state of a payment attempt.
cancelledThe customer cancelled a Checkout payment. This is a final state of a payment attempt.
expiredA Checkout payment has timed out by the end customer. The customer might not have completed their payment in the allotted time (30 minutes) or could have closed the payment window on their device. This is a final state of a payment attempt.

GET status request parameters

The payment status API supports two requests per minute per merchant.

authentication.entityIdThe entity for the request. By default, this is the channel's ID.AN32
signatureThis signature for the request.AN64
idThe unique identifier of a successful payment; used to reference the payment at a later stage.AN32
checkoutIdThe identifier of the Checkout request; used to reference the payment later. You get this as the field ID of a Checkout's response and then should use it as the {id} part in ensuing steps.AN48
merchantTransactionIdMerchant-provided reference number; should be unique for your transactions. Some receivers require this ID and it is often used for reconciliation.AN48


All GET status requests require a signature using the secret token as the key and the API signs all responses with a signature using the secret token as the key.

curl -G \
   -d authentication.entityId=8ac7a4ca86c2c24d0168c2caab2e0025 \
   -d signature=79b450ed255e306332f6325c99732cc84fca8cc2cf3fdc2bfd1f3e2465f55'