Withdrawal Management
Withdrawal management is the process of handling a customer's request for funds, including merchant approval, processing, and eventual fulfillment via subsequent payout or refund transactions.
1. Core Definitions
Understanding these terms is critical for managing fund reversals and disbursements:
| Term | Purpose | Relationship |
|---|---|---|
| Withdrawal | Represents the customer's request (a trigger) to receive funds from the merchant. | Deducts the amount from the customer's account balance, but is not the fund transfer itself. |
| Payout | An actual fund transfer initiated by the merchant to the customer's credit card, bank account, or e-wallet. | Disbursement of funds, often associated with a Withdrawal Request. |
| Refund | The reversal of a previous deposit transaction. | Funds are always processed back to the original payment method. |
Key Distinction: A cancelled authorization is not a refund. Cancellation simply lifts a temporary lock on funds in the customer's account; it does not involve any actual fund transfer.
2. Withdrawal Management Process
The withdrawal process involves two distinct stages: the initial request and the subsequent fulfillment transaction(s).
A. Initiation
The process begins when a customer submits a request via the Cashier or Virtual Terminal (with the intent set to withdrawal).
IMPORTANT: The initial withdrawal request only records the liability in the system. It does not initiate a fund transfer. The transfer awaits merchant approval.
B. Fulfillment (Disbursement)
Once a withdrawal request is created and approved, the merchant fulfills the request by initiating one or more of the following transfer transactions via the Server to Server API or the Atlas dashboard:
C. Linking Transactions
Fulfillment may involve one or multiple transactions (payouts or refunds) to cover the total withdrawal amount.
CRITICAL LINKAGE: To ensure the system correctly associates the fund transfer with the customer's withdrawal request, you must pass the
withdrawal_request_idparameter, set to thetidof the original withdrawal request, in the body of the payout or refund API call. If this parameter is omitted, the transaction is treated as a standalone transfer.
Updated about 1 month ago