Create Withdrawal
Create a withdrawal request. Normal withdrawals use the authenticated user's stored Bank details. Sub-banked and sub-unbanked withdrawals require explicit recipient details.
OAuth2 access token obtained from POST /auth/tokens.
In: header
Uses the authenticated user's stored Bank details for the requested currency.
Type of withdrawal. See Get Metadata for acceptable values.
"normal"Currency code (must be in platform currencies).
Withdrawal amount.
Requires recipient details to send the withdrawal to a sub-merchant's Bank account.
Type of withdrawal. See Get Metadata for acceptable values.
"sub_banked"Currency code (must be in platform currencies).
Withdrawal amount.
Recipient email. Required for sub_banked.
emaillength <= 255Recipient phone number in E.164 format (for example +18687778899). Required for sub_banked.
^\+[1-9]\d{1,14}$Recipient Bank name. Must match a supported Bank from Get Metadata. Required for sub_banked.
Recipient Bank account number, digits only. Required for sub_banked.
^[0-9]+$Recipient name on the Bank account. Required for sub_banked.
length <= 255Recipient ID type. See Get Metadata for acceptable values and validation patterns. Required for sub_banked.
"driver_permit" | "national_id" | "passport"Recipient ID number. Validated against the regex pattern for the selected id_type. See Get Metadata for patterns. Required for sub_banked.
Required for sub_banked in Jamaica only. See Get Metadata for acceptable values.
"chequing" | "savings"Required for sub_banked in Jamaica only. Must belong to the selected Bank. See Get Metadata for acceptable values.
length <= 255Requires recipient details for an unbanked sub-merchant withdrawal. Does not require bank account fields.
Type of withdrawal. See Get Metadata for acceptable values.
"sub_unbanked"Currency code (must be in platform currencies).
Withdrawal amount.
Recipient email.
emaillength <= 255Recipient phone number in E.164 format (for example +18687778899).
^\+[1-9]\d{1,14}$Recipient name. Required for sub_unbanked.
length <= 255Recipient ID type. See Get Metadata for acceptable values and validation patterns.
"driver_permit" | "national_id" | "passport"Recipient ID number. Validated against the regex pattern for the selected id_type. See Get Metadata for patterns.
Response Body
curl -X POST "https://tt.wipayfinancial.com/wapi/withdrawals" \ -H "Content-Type: application/json" \ -d '{ "withdrawal_type": "normal", "currency": "string", "amount": 0 }'{
"message": "Created",
"data": {
"reference": "string",
"transaction_id": "string"
}
}{
"message": "string"
}{
"message": "string"
}Get Withdrawal MetadataGET
Retrieve withdrawal metadata including supported banks, identification types with validation patterns, status codes, and withdrawal types. This endpoint is public and requires no authentication. Response is cached for 60 seconds.
Withdrawal HistoryGET
Retrieve paginated withdrawal history with optional filters.