Get Payment Status
curl --request GET \
--url https://api.atoa.me/api/payments/v1/payment-status/{id}{
"userUuid": "65abed89-7e7f-44e1-8855-0ca696f9a75b",
"paymentRequestId": "75abed89-7e7f-44e1-8855-0ca696f9a75b",
"customerId": "string",
"merchantId": "eed6202f-4dfd-42fc-9bc6-48323556b59d ",
"merchantName": "John",
"applicationUserId": "99abed89-7e7f-44e1-8855-0ca696f9a75b",
"callback": "string",
"avatar": "string",
"orderId": "e21d31cc3",
"signatureHash": "string",
"redirectUrlParams": {},
"redirectUrl": "https://paywithatoa.co.uk",
"status": "COMPLETED",
"paidAmount": "100",
"currency": "GBP",
"taxAmount": "2",
"serviceAmount": "16",
"tipAmount": "5",
"storeDetails": {
"id": "d77e02d5-4e93-46cf-a8be-50da650df562",
"address": "London",
"locationName": "Location 1"
},
"transactionDetails": [
{
"paymentIdempotencyId": "ATOA1692417435050",
"consumerId": "eed6202f-4dfd-42fc-9bc6-48323556b59d ",
"consumerName": "Doe",
"institutionId": "modelo-sandbox",
"tracingId": "e21d31cc354d44559d3c7b92ca07060a",
"statusDetails": {
"status": "COMPLETED",
"statusUpdateDate": "2023-08-19T03:31:49.073Z",
"isoStatus": {
"code": "ACSC",
"name": "AcceptedSettlementCompleted"
}
},
"paidAmount": "100",
"totalRefundAmount": "4",
"currency": "GBP",
"bankName": "Barclays",
"bankAccountNo": "756",
"createdAt": "2023-08-19T03:57:20.871Z",
"updatedAt": "2023-08-19T03:57:20.871Z",
"taxAmount": "2",
"serviceAmount": "16",
"tipAmount": "5",
"notes": "string",
"errorDescription": "Insufficient funds",
"paymentDevice": {},
"splitBill": false,
"refundDetails": [
{
"id": "ATOA1745651316374",
"amount": 4,
"currency": "GBP",
"status": "COMPLETED",
"createdAt": "2025-04-26T01:38:36.460Z",
"updatedAt": "2025-04-26T01:38:40.337Z",
"refundNotes": "notes",
"refundType": "PARTIAL",
"refundId": "123e4567-e89b-12d3-a456-426614174000"
}
]
}
]
}
If the status is PENDING, you should Poll for success at regular intervals. It should take 2-3 minutes at maximum for payment to be completed (dependent on the bank used).For a more effective approach, consider implementing an exponential back-off strategy.
So this API can be used to check the status of an individual payment transaction through polling, in case your integration hasn’t been setup for webhook usage.
NOTE: If the customer hasn’t initiated any payment, calling this API will result in a ‘200 OK’ with message: Payment not initiated.
Card Payments: For card transactions, this endpoint returns additional cardPaymentDetails in each transaction detail. Within cardPaymentDetails, metadata.isMitPayment: true indicates a merchant-initiated card-on-file payment. The overall payment status may be AUTHORIZED (for MANUAL_CAPTURE payments not yet captured) or CANCELLED (for cancelled authorizations), in addition to the standard statuses — these values only appear for card-on-file payments.
Request Body Schema
The PaymentRequestId is required for this step, which you’ll receive it from the process-payment API when generating a payment request.
pass env=sandbox in case of sandbox env.
Response
Unique identifier assigned to the user who initiated the payment
Unique identifier for this specific payment request
Unique identifier for the customer making the payment
Unique identifier for the merchant
Business name of the merchant
Unique Identifier for the customer who made the payment
URL that will be called after payment completion
URL of the merchant’s store profile image
Cryptographic hash used to verify payment authenticity
Additional parameters passed in the redirect URL after payment
Current status of the payment: COMPLETED, PENDING, FAILED, AUTHORIZED, or CANCELLED. The AUTHORIZED and CANCELLED statuses only apply to card-on-file payments with MANUAL_CAPTURE or CAPTURE_BEFORE_EXPIRY capture type.
Total amount paid by the customer
Currency code for the transaction (e.g. GBP)
Amount of tax charged on the transaction
Service fees charged on the transaction
Tip amount added by the customer
Custom note provided during Payment Request Creation.
curl --request GET \
--url https://api.atoa.me/api/payments/v1/payment-status/{id}{
"userUuid": "65abed89-7e7f-44e1-8855-0ca696f9a75b",
"paymentRequestId": "75abed89-7e7f-44e1-8855-0ca696f9a75b",
"customerId": "string",
"merchantId": "eed6202f-4dfd-42fc-9bc6-48323556b59d ",
"merchantName": "John",
"applicationUserId": "99abed89-7e7f-44e1-8855-0ca696f9a75b",
"callback": "string",
"avatar": "string",
"orderId": "e21d31cc3",
"signatureHash": "string",
"redirectUrlParams": {},
"redirectUrl": "https://paywithatoa.co.uk",
"status": "COMPLETED",
"paidAmount": "100",
"currency": "GBP",
"taxAmount": "2",
"serviceAmount": "16",
"tipAmount": "5",
"storeDetails": {
"id": "d77e02d5-4e93-46cf-a8be-50da650df562",
"address": "London",
"locationName": "Location 1"
},
"transactionDetails": [
{
"paymentIdempotencyId": "ATOA1692417435050",
"consumerId": "eed6202f-4dfd-42fc-9bc6-48323556b59d ",
"consumerName": "Doe",
"institutionId": "modelo-sandbox",
"tracingId": "e21d31cc354d44559d3c7b92ca07060a",
"statusDetails": {
"status": "COMPLETED",
"statusUpdateDate": "2023-08-19T03:31:49.073Z",
"isoStatus": {
"code": "ACSC",
"name": "AcceptedSettlementCompleted"
}
},
"paidAmount": "100",
"totalRefundAmount": "4",
"currency": "GBP",
"bankName": "Barclays",
"bankAccountNo": "756",
"createdAt": "2023-08-19T03:57:20.871Z",
"updatedAt": "2023-08-19T03:57:20.871Z",
"taxAmount": "2",
"serviceAmount": "16",
"tipAmount": "5",
"notes": "string",
"errorDescription": "Insufficient funds",
"paymentDevice": {},
"splitBill": false,
"refundDetails": [
{
"id": "ATOA1745651316374",
"amount": 4,
"currency": "GBP",
"status": "COMPLETED",
"createdAt": "2025-04-26T01:38:36.460Z",
"updatedAt": "2025-04-26T01:38:40.337Z",
"refundNotes": "notes",
"refundType": "PARTIAL",
"refundId": "123e4567-e89b-12d3-a456-426614174000"
}
]
}
]
}