Withdrawal Management
This article explains the withdrawal management process, starting from a customer's withdrawal request through to the actions taken by the merchant to approve and fulfill it. If you're specifically interested in the payout or refund transaction flows, please refer to the corresponding articles.
A withdrawal is the process by which a merchant sends funds back to a customer. This can be completed either via a payout or a refund transaction.
Withdrawal represents the customer's request to receive funds from the merchant. This involves deducting the requested amount from the customer’s account balance held at the merchant’s online platform or e-commerce site. It can also include reversing a previous purchase, such as in cases of cancelled orders or returned goods.
Payout is a transaction in which the merchant transfers a specific amount to the customer’s credit card, bank account, or e-wallet. From a processing perspective, payouts are not directly linked to deposit transactions but can be associated with a withdrawal request.
Refund is the reversal of a payment previously made by the customer to merchant. Refunds are always processed back to the original payment method (e.g., the same credit card or bank account used for the initial payment).
Note: A cancelled authorization is not the same as a refund. Authorization is a transaction state that temporarily locks funds in the customer’s account. If the authorization is cancelled, the lock is lifted and the funds become available again — but no actual transfer takes place, unlike a refund.
The withdrawal process starts when a customer submits a request via the Cashier or Virtual Terminal, using intent
set to withdrawal
.
{danger.fa-exclamation-triangle} IMPORTANT: The request itself does not initiate a fund transfer. Instead, it is recorded in the system and awaits merchant approval. Actual fund disbursement is carried out through new payout and/or refund transactions.
Once the withdrawal request is created, further management is done through the Direct API:
{danger.fa-exclamation-triangle} IMPORTANT: To link a payout or refund transaction to a withdrawal request, you must pass the
withdrawal_request_id
parameter set to thetid
of the original withdrawal request. If this is omitted, the transaction will be treated as a standalone fund transfer initiated by the merchant.
Merchants can also manage withdrawals via the Atlas dashboard.
Whether using the Direct API or Atlas, the withdrawal request may be fulfilled through one or more payout or refund transactions. Each of these has its own tid
and should reference the original withdrawal by setting withdrawal_request_id
to the original request’s tid
.