Guides
Verify a payment
Confirm a payment on your server before you deliver the order.
Confirm a payment on your server before you deliver the order. The popup callback is a hint. The verify call and the webhook are the proof.
GET
/supapay/v1/transaction/verify/{reference}Secret keyGET /supapay/v1/transaction/{reference} does the same thing.
reference can be the reference you created, or the access_code. URL-encode it.
GET /supapay/v1/transaction/verify/order_1001 HTTP/1.1
Host: app.supa.cash
Authorization: Bearer sk_test_your_secret_key
Accept: application/json{
"success": true,
"message": "Payment retrieved",
"options": {
"notifications_count": 0,
"payment": {
"id": 1042,
"reference": "order_1001",
"access_code": "a1b2c3d4e5f6789012345678abcdef01",
"amount": 500000,
"fee": 5000,
"charged_amount": 500000,
"settled_amount": 495000,
"fee_paid_by": "merchant",
"currency": "NGN",
"status": "awaiting_transfer",
"environment": "test",
"customer_id": 88,
"customer_email": "[email protected]",
"customer_name": "Ada Lovelace",
"customer_phone": "08031234567",
"metadata": { "order_id": "1001" },
"bank": {
"bank_name": "9JAPAY MFB",
"account_name": "SUPAPAY CHECKOUT",
"account_number": "0123456789",
"amount": 500000,
"currency": "NGN"
},
"paid_at": null,
"expires_at": "2026-11-03T17:07:00+01:00",
"created_at": "2026-11-03T16:37:00+01:00",
"checkout_url": "https://app.supa.cash/supapay/v1/checkout/frame/a1b2c3d4e5f6789012345678abcdef01",
"script_url": "https://app.supa.cash/js/payjar.js"
}
}
}After payment, the shape is the same. status becomes success and paid_at is set. The paid example above shows the fields that change.
A public key can read one checkout at GET /supapay/v1/checkout/{reference}. The message is Checkout retrieved. Verify from your server with the secret key.
List payments#
GET
/supapay/v1/transactionsSecret key| Query | Description |
|---|---|
status | Optional. One of awaiting_transfer, pending, success, expired, failed, cancelled. |
page | Optional. Page number, starting at 1. Each page has 50 payments. |
GET /supapay/v1/transactions?status=success&page=1 HTTP/1.1
Host: app.supa.cash
Authorization: Bearer sk_test_your_secret_key
Accept: application/json200Response
{
"success": true,
"message": "Transactions",
"options": {
"notifications_count": 0,
"payments": [
{
"id": 1042,
"reference": "order_1001",
"access_code": "a1b2c3d4e5f6789012345678abcdef01",
"amount": 500000,
"fee": 5000,
"charged_amount": 500000,
"settled_amount": 495000,
"fee_paid_by": "merchant",
"currency": "NGN",
"status": "success",
"environment": "test",
"customer_id": 88,
"customer_email": "[email protected]",
"customer_name": "Ada Lovelace",
"customer_phone": "08031234567",
"metadata": { "order_id": "1001" },
"bank": {
"bank_name": "9JAPAY MFB",
"account_name": "SUPAPAY CHECKOUT",
"account_number": "0123456789",
"amount": 500000,
"currency": "NGN"
},
"paid_at": "2026-11-03T16:41:12+01:00",
"expires_at": "2026-11-03T17:07:00+01:00",
"created_at": "2026-11-03T16:37:00+01:00"
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 50,
"total": 1
}
}
}