Refund refers to a situation where a cardholder wants to refund a card transaction, and is arranged between the cardholder and the merchant directly. Example reasons include the cardholder being unhappy with a product, or a 30-days return and refund policy by the merchant.

If the merchant agrees, the refund can be processed directly on Xendit via API or dashboard. The time limit for refunding via API is around 6 months from the charge. You can refund a charge in full, or in partial amounts.

Here is an example of a refund flow, this may look similar to a charge flow. Refund are charges, but with a negative amount.

As a Payment Gateway, Xendit does not have the control or visibility over the money movement of the refund to the cardholder balance, but the issuing bank does. Hence, we send the refund inquiry to the bank.

Refunds are available through

Xendit API, or through the Xendit Dashboard. Please remember to include the header x-api-version prior to sending Refunds via API (more detail in our API references).

Refund Rules and Limitation

Refund process may differ depending on the integration model you use with Xendit

Aggregator / Xendit as Payment FacilitatorSwitcher / Xendit as Payment Gateway
DefinitionUsing Xendit’s Merchant ID which allows merchant to receive card payments without having to have their own AcquirerRequires the merchant to have their own Merchant ID from their Acquirer.
Merchant Region SupportIndonesia and PhilippinesAny country
Refund MechanismAvailable via API, dashboard, and some plugins (Shopify, Woocommerce, and Magento)Available via API, dashboard, and some plugins (Shopify, Woocommerce and Magento) Note: If you are using a BCA Payment Gateway-based Merchant ID, for any refund to JCB cards, please contact to get further assistance
MDR* DeductionThe MDR amount for the Bank is already included in Xendit cards transaction fees.The MDR amount depends on the agreement merchants had with the acquiring bank. The MDR amount will be deducted directly once the cards transaction is settled to merchant's bank account.
Refund SourceBalance Tab in dashboardRegistered Bank Account (once the transaction is settled)
Transaction Fees to be refundedFull Refund: Transaction fees / MDR, VAT, and fixed processing fee will be fully refunded Partial Refund: Transaction fees / MDR and VAT will be adjusted accordingly for partial refund. Fixed processing fee won't be refunded.Full Refund: Transaction fees / MDR will be fully refunded. Fixed processing fee won't be refunded Partial Refund: Transaction fees / MDR & VAT will be adjusted accordingly. Fixed processing fee will not be refunded.

Note: *MDR / Merchant Discount Rate is the rate charged to a merchant for payment processing services on debit / credit card transactions

How to Make Refunds From the Xendit Dashboard

1. Here's what it looks like from the Xendit Dashboard: Select and open a successfully charged transaction that you want to refund. On the Details page, click the top right "Refund" button.

2. In the "Refund Charge" dialog box, the Refundable Amount is displayed. You can choose to do a full refund or a partial refund. Simply insert the amount that needs to be refunded.

3. Click Submit, and you’ll be prompted to input PIN, once successful,the refund request will be sent to the bank and it will take approximately 7 - 14 days (depends on the issuer) for the bank to credit back to the customer's balance (note: in this stage, if the refund request is successful, you can refer the customer to ask their bank to check for the refund status). We will adjust the Xendit fees accordingly.

4. Download the refund receipt inside the refund detail page if you need to share it to your customers as a proof.

Tracking Refund

Xendit as a payment gateway has no visibility on refund movement. Our responsibility related to the refund process ended when we successfully requested the refund to the processor. On the opposite side, the responsibility shifted to the issuer when a refund has been successfully requested and only the cardholder who is authorized to check the refund status with the issuer.

In order to track a specific refund transaction, there are few identifiers that the cardholder can use such as:

  • Retrieval Reference Number It is a unique identifier for a card transaction that is based on ISO 8583 standard. The reference number is created technologically and designated for a single transaction. A reference number helps an institution identify transactions in records and electronic databases used to monitor transactions associated with a card.
  • Approval Code It is a six-digit alphanumeric code assigned by the card issuer to identify the approval for a specific authorization request.
  • Network Transaction ID A transaction ID is a unique string of 15 characters attached to a particular transaction.

How to retrieve these IDs?

  • Navigate your way to Xendit Dashboard
  • Click on Accept Payment > Credit / Debit Card > Transactions > Refund Tab
  • Select the refunded transaction which you would like to track with the issuer
  • You will be redirected to the Refund Detail page where you can find the above identifiers.
  • You also have the option to download the refund receipt by clicking the Receipt button which you can give to your end user as a valid proof of refund. The refund receipt will contain the same information as the one in the Refund Detail page.

Note: There might be instances where the information above isn't available for your refund record. It is not a must to have those 3 indicators to check the status of the bank. You may only need to use as much information as possible to check the status.


  • Can we refund an order through your portal?
    • Yes, refunds are available to be done through API and the Xendit Dashboard.
    • After the cutoff time, how long does it take to process a refund?Ultimately depends on issuing bank, but in our experience it's same as capture // T+1 or T+2 depending on time of day.
  • What is the maximum time to create a refund since the transaction is successful?
    • It’s T+6 months since the respective transaction was charged.
  • After the cutoff time, how long does it take to process a refund?
    • Ultimately depends on the issuing bank, but in our experience it's the same as capture // T+1 or T+2 depending on time of day.
    • From our experience, generally the refund process will take around T+1 to T+3 but it varies from each issuing bank ( could be up to 14 days for some issuing banks).
  • Can we cancel a refund request?
    • No. Unfortunately once the refund request has been made, Xendit has no ability to cancel it. You can advise your customer to create a new order and do the transaction again.
  • Let's say I made a charge for an amount of IDR 100.000,-. What happens if I refund the whole amount?
    • This counts as a full refund. If you refund the the whole amount that was previously charged, we will not apply any fees to the transaction.
  • What if I make a partial refund? (i.e. refunding IDR 50.000 out IDR 100.000 that was charged)?
    • Since this is a partial refund, we will only apply the variable rate to the amount that is not refunded (only to the IDR 50.000, instead of the initial charge amount of IDR 100.000).
  • If I refund from a charge coming from an international transaction, will the value be converted back to it's original currency?
    • Yes, the amount refunded will be converted to the local currency of the card. If a USD card was charged Rp10,000, it might show up at $0.73 on the billing statement, if refunded for the full amount it could be converted to $0.72 or $0.74, depending on exchange rate.
  • Can we initiate refund when the card is already expired?
    • In most cases, the issuer will reject any refund requests to an expired card. However, some issuers might redirect the refund to your customer’s new or replacement card (if any). (Note: Cardholder should check with their issuer directly whether they will redirect the refund to their new / replacement card or not)
    • If neither of those options are available, you have another option to refund the user manually using Xendit disbursement feature (additional disbursement fee will be incurred).
  • Can we initiate a refund when the cards transaction that we received is not settled yet?
    • Yes, you can initiate a cards refund request even before the transaction is settled to your balance.

Last Updated on 2023-09-12