Havale Payout Payload
Direct and data-collection payloads for Havale payouts.
Payment Method Identifier: HAVALE_PAYOUT | Payment Type: BANK_TRANSFER
Havale Payout is a TRY bank-transfer payout. For direct S2S processing, submit the beneficiary's account-holder name and IBAN in apmPayload.
If these fields are omitted and data collection is enabled for the configured route, Exirom returns a customer-verification redirect. The customer enters the missing details on Exirom's page, and the payout then continues.
Currently supported for payouts via POST /api/v1/payouts/apm.
#Choose One Submission Mode
- Direct S2S: Send both
accountHolderNameandiban. No customer redirect is required. - Exirom data collection: Omit both fields. The route's external MID must have data collection enabled.
Do not send only one beneficiary field. A partial payload does not start data collection and fails validation.
#Requirements
- Currency must be
TRY. - Amount must be a positive whole number.
- The account-holder name and IBAN are required to process the payout. They may be supplied directly or collected by Exirom.
- The IBAN is normalized and validated before the payout is sent.
#Payload Structure
{
"paymentMethod": "HAVALE_PAYOUT",
"paymentType": "BANK_TRANSFER",
"accountHolderName": "Ada Lovelace",
"iban": "TR330006100519786457841326"
}#Payload Fields
| Field | Type | Required | Description |
|---|---|---|---|
paymentMethod | Enum | Yes | Must be HAVALE_PAYOUT |
paymentType | Enum | Yes | Must be BANK_TRANSFER |
accountHolderName | String | Conditional | Required for direct S2S processing; omit only when using Exirom data collection |
iban | String | Conditional | Required for direct S2S processing; omit only when using Exirom data collection |
#Direct S2S Response
{
"paymentMethod": "HAVALE_PAYOUT",
"paymentType": "BANK_TRANSFER",
"actionType": "NONE",
"providerTransactionId": "39662324"
}#Response Fields
| Field | Type | Description |
|---|---|---|
paymentMethod | Enum | Always HAVALE_PAYOUT |
paymentType | Enum | Always BANK_TRANSFER |
actionType | Enum | NONE for direct processing; REDIRECTION when Exirom must collect data |
providerTransactionId | String | Provider transaction identifier |
With complete beneficiary data, the initial payout response is normally PROCESSING.
#Data-Collection Redirect
To request Exirom collection, submit only the method identifiers in apmPayload:
{
"paymentMethod": "HAVALE_PAYOUT",
"paymentType": "BANK_TRANSFER"
}Exirom returns the payout in customer verification:
{
"transactionId": "869898069059073246",
"transactionStatus": "CUSTOMER_VERIFICATION",
"apmResponseData": {
"paymentMethod": "HAVALE_PAYOUT",
"paymentType": "BANK_TRANSFER",
"actionType": "REDIRECTION",
"redirectUrl": "https://checkout.example.com/?token=..."
}
}The merchant must open apmResponseData.redirectUrl in the customer's browser. Exirom cannot redirect a server-to-server API call automatically. After the customer submits the account-holder name and IBAN on Exirom's checkout page, the same payout continues to the provider.
If the merchant cannot redirect the customer, it must collect both fields itself and use direct S2S mode. If the returned URL is not opened and completed, the payout remains in CUSTOMER_VERIFICATION.
Use the callback as the authoritative final result. Duplicate callbacks must not be processed more than once.
For provider-independent routing, send the same beneficiary fields with paymentMethod: SMART_BANK_TRANSFER_PAYOUT.