Payment Status
From the point of initiation payment goes through several statuses, which merchant can observe using methods described below.
| status | description |
|---|---|
| AWAITING_AUTHORIZATION | Payment was initiated and it waits for the customer to confirm or cancel it in bank application. |
| PENDING | Customer successfully authorized payment in bank application. Bank received thr request to process the payment. |
| COMPLETED | Payment has been accepted and processed by the initiating bank. |
| SETTLED | Payment confirmed and settled into the virtual account balance. Virtual account is required |
| FAILED | Payment failed at any stage of the flow. |

Payment Status Updates
There are three complementary ways for merchant to know what is the current status of the payment.
| method | description |
|---|---|
| Merchant callback | merchant is notified about payment status via merchant callback URL in front-channel |
| Webhook notifications | merchant is notified about payment status via webhook URL in back-channel |
| GetPaymentStatus API call | merchant can query payment status using an API call |
Payment Status API
In addition to being passively informed about ongoing payment status by Merchant Callback and Webhook Notification, merchant can query payment status using direct API call to GetPaymentStatus
-
x-application-id- This can be obtained in the Merchant Portal:Settings → Security → Application ID(opens in a new tab) -
x-application-secretThis can be obtained in the Merchant Portal:Settings → Security → Primary KeyorSecondary Key → Reset(opens in a new tab)
Request
curl --location --request GET 'https://api.sandbox.volumepay.io/api/payments/status?merchantPaymentId={merchantPaymentId}' \
--header 'x-application-id: {application-id}'
--header 'x-application-secret: {application-secret}'| argument | kind | type | description |
|---|---|---|---|
| payment-id | path variable | UUID | id of the payment to get status for |
| application-id | header | UUID | id of the merchant application |
| application-secret | header | UUID | private key of the merchant application |
Response
{
"paymentId": "dd91e433-f77a-4155-bef6-1452bdf2a1d6",
"merchantPaymentId": "fecd123b8b123a4ef09c9a123eb41cb5",
"paymentStatus": "COMPLETED",
"paymentAmount": 52.06,
"institutionId": "natwest",
"shopperId": "5204d458-1234-4714-2f44-4a6f9fc99e67",
"errorDescription": null,
"tracingId": "6177857480076664131"
}| field | type | description |
|---|---|---|
| paymentId | UUID | payment id |
| merchantPaymentId | string [optional] | merchant payment id if specified when payment was initialized |
| paymentStatus | string | current payment status: AWAITING_AUTHORIZATION, AUTHORIZED, PENDING, COMPLETED, SETTLED, FAILED |
| errorDescription | string [optional] | error details when paymentStatus is FAILED |
| tracingId | string | call tracingId |