1. Refunds
Virtual Account Services
  • Introduction
  • Terminologies
  • Webhooks
  • Authentication
  • Account
    • Create Account
      POST
    • Balance Inquiry
      GET
    • Rename Account
      POST
    • Create Bulk Accounts
      POST
    • List Accounts
      GET
  • Transaction
    • Credit Account
      POST
    • Debit Account
      POST
    • Credit Account [Agency Banking]
      POST
    • Debit Account [Agency Banking]
      POST
    • Transaction Query
      GET
    • Transaction Details
      GET
    • Transaction History
      GET
  • Transfer
    • Interbank Transfer
      POST
    • Transfer Enquiry
      GET
    • Get Institutions
      GET
    • Virtual Account Intrabank Transfer
      POST
    • Intrabank Transfer Query
      GET
    • Collection Accounts Intrabank Transfer
      POST
    • Name Inquiry
      POST
    • Core Banking Intrabank Transfer
      POST
    • Transfer Query
      GET
    • Interbank Transfer [Sync]
      POST
  • Invoice
    • Create Invoice
    • Get Invoice Detail
    • Get Invoice Status
    • List Merchant Invoices
  • Refunds
    • Get Refunds
      GET
    • Initiate Refund
      POST
    • Get Refund Status
      GET
  • Notifications
    • Notification
    • Send Notification
  • Group Code
    • Create Group Code
  • Overdraft
    • Draw Overdraft
  • Merchant
    • Account
      • Get Account
      • Activate Sub Ledger For Merchant
      • Get SubLedger Callback Urls
      • Set SubLedger Callback Urls
      • Get Collection Accounts
    • Transfer
      • Get Transfer Details
      • Name Inquiry
      • Get Transfer History
      • Get Subledger transfers
    • Refund
      • Refund Details
    • Create Merchant Account
    • Activate Sub Ledger For Merchant
    • Get KYC Information
    • Get Group Code Collection Account
    • Get Collection Accounts
    • Set Collection Account
    • Get Transfer Details
    • Name Inquiry
  • Admin
    • Accounting
      • Get Classification Codes
      • Get GL Accounts
    • Dashboard
      • Dashboard Summary
      • Dashboard Transaction Details
      • Dashboard Transactions
    • Group Codes
      • Create Group Code
      • Set Collection Account
      • Get Group Codes
    • Reporting
      • Get Report Parameters
      • Get Reports
      • Create Report
      • Get Reports Details
      • Get Reports
    • Get Reports
    • Get Report Parameters
  • Schemas
    • VACreateGroupCodeRequest
    • SubLedgerGroup
    • InvalidParameterError
    • TransactionPointError
    • UnauthorizedError
    • SpringDefaultError
  1. Refunds

Initiate Refund

POST
/va/refunds/initiate-refund
The API allows merchants to process refunds for transactions. It enables full or partial refunds, providing flexibility in handling customer transactions.

Request Body#

Field NameTypeRequiredDescription
transactionReferencestringtrueA unique reference identifier for the original transaction.
refundReferencestringtrueA unique reference identifier for the refund transaction.
refundAmountdecimaltrueThe amount to be refunded.
refundReasonstringtrueThe reason for initiating the refund.
customerNotestringfalseAn optional note from the customer regarding the refund.
destinationAccountNumberstringtrueThe account number where the refund should be credited.
destinationAccountBankCodestringtrueThe bank code of the destination account.

Response Body#

Field NameTypeDescription
requestSuccessfulbooleanIndicates whether the request was processed successfully.
responseMessagestringA message indicating the status of the refund request.
responseCodestringA code representing the outcome of the request.
transactionReferencestringThe reference ID of the original transaction.
refundReferencestringThe reference ID of the refund transaction.
refundAmountdecimalThe amount that is being refunded.
refundReasonstringThe reason provided for initiating the refund.
customerNotestringAn optional note from the customer regarding the refund.
refundTypestringIndicates whether the refund is partial or full.
refundStatusstringThe current status of the refund request (e.g., "PENDING").
refundStrategystringThe method used to process the refund (e.g., "MERCHANT_WALLET").
commentstringAdditional comments about the refund status.
completedOnstringThe timestamp when the refund was completed, or null if pending.
createdOnstringThe timestamp when the refund request was created.

Request

Authorization
OAuth 2.0
Client Credentials
Add the parameter
Authorization
to Headers
,whose value is to concatenate the Token after the Bearer.
Example:
Authorization: Bearer ********************
Token URL: {{tpGatewayHostUrl}}/security/authenticate
or
Body Params application/json

Example
{
  "transactionReference": "907600205586897868208896590539",
  "refundReference": "969118661",
  "refundAmount": 10,
  "refundReason": "Order cancelled!",
  "customerNote": "An optional note",
  "destinationAccountNumber": "4032350505",
  "destinationAccountBankCode": "000012"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/va/refunds/initiate-refund' \
--header 'Content-Type: application/json' \
--data '{
  "transactionReference": "907600205586897868208896590539",
  "refundReference": "969118661",
  "refundAmount": 10,
  "refundReason": "Order cancelled!",
  "customerNote": "An optional note",
  "destinationAccountNumber": "4032350505",
  "destinationAccountBankCode": "000012"
}'

Responses

🟢200Response
application/json
Bodyapplication/json

Example
{
  "requestSuccessful": true,
  "responseMessage": "success",
  "responseCode": "0",
  "responseBody": {
    "transactionReference": "907600205586897868208896590539",
    "refundReference": "969118661",
    "refundAmount": 10,
    "refundReason": "Order cancelled!",
    "customerNote": "An optional note",
    "refundType": "PARTIAL_REFUND",
    "refundStatus": "PENDING",
    "refundStrategy": "MERCHANT_WALLET",
    "comment": "Sample narration",
    "completedOn": null,
    "createdOn": "25/01/2024 01:35:27 AM"
  }
}
🟠400| Source | Error | When |
🟠401| Source | Error | When |
🟠403| Source | Error | When |
🟠404| Source | Error | When |
🔴500| Source | Error | When |
Modified at 2026-11-02 12:41:29
Previous
Get Refunds
Next
Get Refund Status
Built with