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.
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 (e.g. COMPLETED, PENDING, FAILED)
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
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"
}
]
}
]
}