Merchants can refund successful transactions in Quickteller Business for various reasons, such as if a customer changes their mind about a purchase or if there is a problem with the product or service.

This endpoint allows you to create a refund request from successful transaction details.

πŸ“˜

To get a list of refund requests, make a call to get refund by merchant code and date or get refund by refund reference.

Create Refund Transaction

Make a Post request to this endpoint Create Refund Transaction

https://qa.interswitchng.com/paymentgateway/api/v1/refunds

Request parameters

ParametersTypeDescription
refundReferencestringA unique identifier for the refund request. This reference should be unique for tracking purposes.
parentPaymentIdstringThe unique identifier of the original successful payment that you want to refund.
refundTypestringThe type of refund requested can be either "PARTIAL" or "FULL."
refundAmountstringThe amount you wish to refund. This field is only required for partial refunds and should specify the refund amount in the appropriate currency. Amount should be in minor

Request

{
 "refundReference": "kjsd313sjdsyegdie9322ssaud0004", 
 "parentPaymentId": "3207368",
 "refundType": "PARTIAL",
 "refundAmount": "10" 
}

Response

Upon successfully creating a refund request, you will receive a response containing information about the refund transaction.

{
  "id": 10174,
  "refundReference": "REFUND-1543818751-JB-MX187",
  "merchantCode": "MX187",
  "parentPaymentId": 269089,
  "refundType": "PARTIAL",
  "refundAmount": 22200,
  "createdDate": 1543818875243,
  "refundStatus": "PENDING",
  "createdBy": "[email protected]",
  "reasonForRefund": "Reason for Refund!"
}

Refund Statuses

Refund statuses describe the different stages of a refund request, from creation to completion. They help payment processors and merchants track and manage refund transactions accurately and transparently.

Why is it important to track refund statuses?

Tracking refund statuses is important for several reasons:

  • Transparency: Customers want to know where their refund is in the process. By tracking refund statuses, merchants can provide customers with accurate and up-to-date information about their refund.
  • Accuracy: Tracking refund statuses helps merchants to ensure that refunds are processed and issued correctly. This can help to reduce errors and disputes.
  • Efficiency: Tracking refund statuses can help merchants to identify and address any bottlenecks in the refund process. This can help to improve the efficiency of the refund process and reduce the time it takes for customers to receive their refunds.

Quickteller business refund statuses and their meanings:

Refund StatusComment
SUCCESSThis is the first state of a refund after the refund has been created via API. This means the refund is going to be processed the next business day automatically.
PENDINGRefund has been successfully created and is now pending fulfilment. No debit has impacted your position
PROCESSINGAutomated refund process is in progress (T+1)
FAILEDRefund failed. This is a final status it means we have exhasuted all means to refund the customers' funds or the Refund request sent is invalid.
COMPLETEAutomated refund was successfully processed. Customer receives instant credit refund
COMPLETE_MANUALIssuing bank has been infomred to refund money back to customer's account.

Refunds are processed with settlement the next working day. All refund statuses should be final after 2 working days from when the refund was created.

Failure Responses

We would return HTTP statues 400 and 500 when there's an inssue with the request or trying to process the refund request

CodeDescription
10500This means an unexpected server error occured. You should always call the Get Refund Info endpoint to confirm the refund status before marking it as failed or successful
10400There was an issue creating the refund and the description would contain the exact reason why it failed.

Sample Response

{"code":"10500","description":"Error creating refund","logId":"17aaaxxx-xxxx-xxxbe","errors":null}}
{"code":"10400","description":"Refund account number not found","logId":"xxx-48d8-4afb-a74b-xx","errors":null