Skip to content

Transaction result callback

POST

When a transaction reaches a final state, PayHero sends an HTTP POST to the callback_url supplied on the original request. Respond with 200 OK to acknowledge receipt.

  • transaction_type is inbound_payment for collections (pay-in) and outbound_payment for disbursements (pay-out).
  • status is success or failed; success is a boolean mirror.
  • Match the notification to your record using external_reference (your reference) or reference (the PayHero merchant reference).
Media typeapplication/json

Asynchronous transaction result notification sent to your callback_url.

object
success
boolean
status
string
Allowed values: success failed
message
string
reference

PayHero merchant reference.

string
external_reference

Your reference, echoed back.

string
amount
number
currency
string
transaction_id
string
transaction_date
string format: date-time
transaction_type
string
Allowed values: inbound_payment outbound_payment
provider_reference
string
provider
string
callback_urls
Array<string> | null
Examples

Collection succeeded (inbound)

{
"success": true,
"status": "success",
"message": "The service request is processed successfully.",
"reference": "UFD004453187.iI",
"external_reference": "test_ext",
"amount": 1,
"currency": "KES",
"transaction_id": "",
"transaction_date": "2026-06-30T00:44:53Z",
"transaction_type": "inbound_payment",
"provider_reference": "UFU51A2XO2",
"provider": "mpesa_dc",
"callback_urls": null
}

Acknowledge receipt of the callback.