API ReferenceSign In


Last updated 09/28/2019

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. The time limit for refunding via API is 6 months from the charge. You can ask Xendit to help with refunds as long as the cardholder still has an account which links to the card (even if expired). 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.

The response sent when a Refund request is REQUESTED, indicating that the Refund request is successful. After the request is sent, whether the Refund itself eventually succeeds or fails is completely up to the issuing bank - Xendit has no control over this.

Refunds are available through Xendit API, or through the Xendit Dashboard. Remember to include the header x-api-version to send Refunds via API (more detail in our API references).

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.

alt text

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, and add the reference ID for tracking purposes.

alt text

3. Click Submit, and the charge will be refunded. We will adjust the Xendit fees accordingly.


  1. Can we cancel an order before the daily cutoff time rather than refunding it?

    • Yes, the refund API will automatically VOID the amount if the capture has not yet been processed.
  2. 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.
  3. 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.
  4. 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).
  5. 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.