Charging Cards

Charging is the process of pulling funds from a cardholder’s account, this occurs after tokenization and the optional authentication process. A card can be charged through API, or via our Invoice UI without having to do technical configuration. A charge consists of two sub-processes which take place in the background:

Authorization: Confirming with the issuing bank that the card is eligible for transaction and is able to pay, based on transaction history of the cardholder. At this point, the money is put on hold and settlement has not started yet.

Capture: The transaction is locked to be completed and the settlement process will be started.

Note: You can only charge a card transaction with a lower or exactly the same amount as the amount that you have authenticated (3DS) before.

Here is an example of a card charge flow. For most flows without pre-authorization, capture happens immediately after authorization by default.

Charging a Virtual Credit Card (VCC)

Virtual Credit Card is similar to a regular credit card. Virtual cards have all the same characteristics of physical cards, such as the 16 digit number (PAN), expiry date, CVV, cardholder name, and billing address, except they are stored online instead of in your physical wallet.

Xendit is able to support you to charge a VCC, in order to do that there are few steps you need to do:

  • Make sure that you already have a Live Xendit Account. If you have not registered to a Xendit Account, you can register here and proceed to activate your account.
  • Activate your Cards Payment Method.
  • In order to charge a VCC, you need to request for 3DS optional first / disable the 3DS authentication. It is mandatory as VCC will not be able to perform 3DS authentication. The guide to request for 3DS optional can be found here.
    • In the activation reason section, you should state that you want to accept a VCC transaction.
  • You also need to whitelist the IP address where you would most likely process the VCC in the Allow List here.
    • Credit / debit card tab > Fraud Prevention > List > IP Allow List
  • When your 3DS optional feature is enabled, you can start charging a VCC either from Xendit Payment Link or API.

Charging a VCC from Online Travel Agencies (OTA)

VCC is commonly used or generated by Online Travel Agencies (OTA) for accommodation owners to charge the end customer’s card. OTA uses VCC as it provides a more secured payment experience for their users and helps them to automate their reconciliation process.

VCC charge flow:

  1. A cardholder / end customer browsed through an OTA website to search for accommodation.
  2. The cardholder found the desired accommodation and place their card details to OTA's website
  3. Instead of relaying the Cards information from cardholder to accommodation owners for charge, OTA will create a Virtual Credit Card that will be used for merchants to charge the transaction.
  4. Accommodation owners charged the issued VCC with Xendit.

Note: a VCC is created and tied only to 1 transaction for easier reconciliation. Meaning that when a VCC has been charged, the OTA will be instantly notified that the transaction has been charged. And that VCC can no longer be used for another transaction.



  • Do we need to charge a transaction amount during the first time creation?
    • Not necessary for tokenization. Amount is only needed for authentication (3DS), then authorization / capture which you can do anytime after.
  • Is it possible to have a seamless pay-as-you-go model where we allow cardholders to complete transactions with the least amount of clicks / actions possible?
    • Yes, you can request to skip 3DS and / or skip CVN / CVV to your Xendit Account Manager.


  • Can we cancel an authorization?
  • When does an authorization expire?
    • Our Charge API will allow captures up to 7 days after an authorization. If you need an extension to accommodate a longer period, let your Xendit Account Manager know your use case and we can help configure for your account.

Troubleshooting Declines

You can check reason(s) for a card decline within your Xendit Dashboard. In Dashboard > Credit / Debit Cards, just click a declined charge you'd like to see details on. You'll see recommendation on how to successfully re-process the transaction.

Virtual Credit Card

  • What is the settlement time for a VCC transaction?
    • Similar to regular credit cards transactions, your credit card transactions will be settled 7 days after the transaction date
  • Can I refund a VCC transaction?
    • No, VCC transaction cannot be refunded. Once a VCC has been used for charge, the VCC will be inactive and unable to receive refunds.

Last Updated on 2023-05-20