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:

TermPurposeRelationship
WithdrawalRepresents 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.
PayoutAn 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.
RefundThe 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_id parameter, set to the tid of 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.