The Verify Order endpoint is used to verify the final status of an order using your secret key. This is typically used after an order has been completed or to double-check the payment status without encryption.
Pass your secret key in the
api-keyheader when making the request to this endpoint.This endpoint does not require encryption like other order APIs.
Headers
| Header | Value | Description |
|---|---|---|
api-key | {{your_secret_key}} | Your Transactpay secret key |
Payload Structure
| Key | Type | Description | Required |
|---|---|---|---|
reference | string | The unique reference of the order to verify | ✅ |
Sample Request Payload
{
"reference": "ORDER123456"
}Possible Status IDs and their statuses
The StatusID represents the current state of a transaction in its lifecycle.
| StatusID | Status | Description |
|---|---|---|
1 | Initiated | Transaction has been created but not yet processed. |
2 | Pending | Transaction is awaiting processing or user action. |
3 | Awaiting-Confirmation | Transaction has been sent and is waiting for external confirmation. |
4 | Failed | Transaction failed and was not completed. |
5 | Successful | Transaction completed successfully. |
6 | Reversed | Transaction was reversed. |
7 | Processing | Transaction is currently being processed. |
Response
The response contains the order details, payment status, payment method, transaction references, amount, fees, and customer information.
The values returned may differ depending on the current status and payment method.
Sample Success Response
The response structure may contain different values depending on the current status of the order, such as Pending, Processing, Successful, or Failed.
{
"data": {
"orderReference": "ORDER123456",
"paymentReference": "TRNPAY-72677E31-1234-4741-U765-D3A77B96F2D6",
"productName": "Collection",
"totalAmountCharged": 1000.0000,
"orderAmount": 1000.0000,
"statusId": 5,
"status": "Successful",
"paymentMethod": "Pay With Bank Transfer",
"paymentResponseCode": "00",
"paymentResponseMessage": "Bank transfer received successfully",
"narration": "pay",
"remarks": "Order initiated and created successfully",
"currencyId": 1,
"currencyName": "NGN",
"fee": 1.0000,
"feeRate": 1.0000,
"subsidiaryFee": 200.0000,
"customerFee": 0.0000,
"dateCreated": "2025-12-31T13:02:40.99",
"dateUpdated": "2025-12-31T13:10:33.0554811",
"datePaymentConfirmed": null,
"orderPayments": [
{
"orderId": 2122585,
"orderPaymentReference": "PGW-PAYREF-23AE168E25AB4714A5DE20E64F56670C",
"paymentOptionId": 6,
"paymentOption": "Pay With Bank Transfer",
"statusId": 5,
"status": "Successful",
"responseCode": "00",
"responseMessage": "Bank transfer received successfully",
"orderPaymentInstrument": "1234567890",
"remarks": "Order payment initiated",
"dateCreated": "2025-12-31T13:02:41.2154239",
"dateUpdated": "2025-12-31T13:10:33.055562"
}
],
"customer": {
"customerId": "[email protected]",
"firstName": "Test",
"lastName": "User",
"emailAddress": "[email protected]",
"countryShortName": "NG",
"customerGroup": "Default",
"countryId": 1,
"globalStatusId": 2,
"globalStatus": "Active",
"mobileNumber": "08012345678",
"isBlacklisted": false,
"reasonBlacklisted": null,
"dateCreated": "2025-11-30T10:00:47.8133333",
"dateUpdated": null
},
"cardDetails": [],
"paymentLink": null
},
"status": "success",
"statusCode": "00",
"message": "Order details fetched successfully"
}Always verify the
statusIdandstatusfields before considering an order successfully paid. A successful API response does not necessarily mean that the payment itself was successful.
