Skip to main content
Refunds and reversals are processed asynchronously. First, initiate the request to get a request_uuid, then query the latest status.

Initiate refund/reversal

POST /payments-api-service/v1/refund-reversal Auth: Requires a collection-scoped Bearer token.

Request body

{
  "transaction_reference": "TRC94513697913522",
  "payment_uuid": "803556523944079845",
  "amount": 400,
  "notification_url": "https://webhook.site/679ced79-7dac-4977-be7a-3d600b39c245",
  "remarks": "Test remarks"
}

Check status

POST /refund-reversal Auth: Requires a collection-scoped Bearer token.

Request body (status)

{
  "request_uuid": "A333RTYUT"
}

Example response

{
  "code": 102,
  "status": "SUCCESS",
  "description": "Transaction success",
  "results": {
    "result_code": "21",
    "result_description": "The service request is processed successfully",
    "amount": "1015.00",
    "total_charges": "0.00",
    "total_amount": "1015.00",
    "account": "254792452002",
    "original_payment_uuid": "882231418121042119",
    "original_transaction_reference": "TNC0009886898418",
    "original_external_reference": "1V1OPZZGHQ",
    "external_reference": "1V33UUE1IR",
    "time_processed": "2025-08-26T05:20:27Z"
  }
}

Notes

  • If the refund/reversal is not found, the response body will include a NOT FOUND status.
  • Use Status checks for payout/collection/remittance queries.