Verify Order

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-key header when making the request to this endpoint.

This endpoint does not require encryption like other order APIs.

Headers

HeaderValueDescription
api-key{{your_secret_key}}Your Transactpay secret key

Payload Structure

KeyTypeDescriptionRequired
referencestringThe 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.

StatusIDStatusDescription
1InitiatedTransaction has been created but not yet processed.
2PendingTransaction is awaiting processing or user action.
3Awaiting-ConfirmationTransaction has been sent and is waiting for external confirmation.
4FailedTransaction failed and was not completed.
5SuccessfulTransaction completed successfully.
6ReversedTransaction was reversed.
7ProcessingTransaction 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 statusId and status fields before considering an order successfully paid. A successful API response does not necessarily mean that the payment itself was successful.