Payment status

A request can be made to obtain the status of a Checkout payment request by using the checkoutId as a reference to the payment.

The checkoutId is provided in the webhook notification sent to the merchant when a Checkout session is initiated. The initial status is created.

A merchant is also able to query the transaction status using their merchantTransactionId. However, using the merchantTransactionId returns the latest Checkout associated with that value. This means that if the merchant is not maintaining unique merchantTransactionIds, this parameter can be associated with multiple Checkout sessions.

📘

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

Payment status types

Payment statusDescription
pendingA Checkout payment has been initiated by the merchant and is awaiting
customer completion. Payments can have a future state depending on the
customer's action.
successfulA Checkout payment has been successfully completed. This is a final
state of a payment attempt.
cancelledA Checkout payment has been cancelled by the customer. 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 a maximum of two requests per minute per merchant.

ParameterDescriptionFormatCondition
authentication.entityIdThe entity for the request. By default, this is the channel's ID.AN32
[a-f0-9]{32}
Required
signatureThis signature for the request.AN64
[a-f0-9]{64}
Required
idThe unique identifier of a successful payment that can be used to reference the payment at a later stage.AN32
[a-f0-9]{32}
Optional
checkoutIdThe identifier of the Checkout request
that can be 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 subsequent steps.
AN48
[a-zA-Z0-9.-]{32,48}
Optional
merchantTransactionIdMerchant-provided reference number;
should be unique for your transactions. Some receivers require this ID and it is often used for reconciliation.
AN48
[a-zA-Z0-9.-]{32,48}
Conditional

📘

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

curl -G https://testapi.peachpayments.com/v1/checkout/status \
   -d authentication.entityId=8ac7a4ca86c2c24d0168c2caab2e0025 \
   -dmerchantTransactionId=Test1234\
   -d signature=79b450ed255e306332f6325c99732cc84fca8cc2cf3fdc2bfd1f3e2465f55'