4. Handle the notification

Paga sends this to your server. You don’t call it; build an endpoint at your callback URL that accepts it.

Sent to your statusCallbackUrl once a transfer is processed. Verify the x-paga-hash header, decide on responseCode, then respond with HTTP 200 and {"status": "SUCCESS"}. Until Paga gets that, it retries, each time with a new x-paga-attempt-id; de-duplicate on referenceNumber.

Hash: referenceNumber + transactionDate + transactionId + amount + sessionId + hashKey, using each value exactly as received.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
integer
Defaults to 0

0 means success. Other codes can mean pending, duplicate reference, failed and more, so look each one up in the Business API error codes before acting.

string
Defaults to Successfully deposited N5,000.00 to bank account ******8830. Transaction Id: RP658.
string
Defaults to PAY-2026-0311
string
Defaults to RP658
string
Defaults to SCBS-U_20261103110225559_989465645_RP658_bfrgw
string
Defaults to USER_SEND_CASH_TO_BANK_ACCOUNT_SETTLED
string
Defaults to 2026-11-03 11:02:25.56
string
Defaults to 5000.0
string
Defaults to NGN
number
Defaults to 53.75
number
Defaults to 3.75
string
Defaults to 100002261103110226001406467019
string
Defaults to Test Customer
string | null
Defaults to null
number | null
string | null
integer | null
Headers
string
string

Changes with each delivery attempt.

string

The fields used to build the hash, in order.

string
required

The hash to check.

Response

Language
LoadingLoading…
Response
Choose an example:
application/json