HAVALE_HPP is a hosted bank-transfer pay-in method. It is available only for BANK_TRANSFER payments in TRY for customers in Turkey.
Request Payload
The method payload has only the common method identifiers:
| Field | Type | Required | Value |
|---|---|---|---|
paymentMethod | Enum | Yes | HAVALE_HPP |
paymentType | Enum | Yes | BANK_TRANSFER |
{
"paymentMethod": "HAVALE_HPP",
"paymentType": "BANK_TRANSFER"
}Set the top-level payment currency to TRY. Do not add provider-specific fields to apmPayload.
Full Payment Request Example
Use dummy values only. The hosted payment request contains the fieldless HAVALE_HPP payload and normal payment data:
{
"accountId": "123456789012345678",
"requestId": "00000000-0000-4000-8000-000000000001",
"amount": "5000",
"currency": "TRY",
"checksum": "YOUR_CHECKSUM",
"callbackUrl": "https://merchant.example/webhooks/apm",
"successRedirectUrl": "https://merchant.example/payment/success",
"failureRedirectUrl": "https://merchant.example/payment/failure",
"order": {
"title": "Deposit to demo account",
"orderId": "demo-order-0001"
},
"device": {
"ip": "203.0.113.10"
},
"billingDetails": {
"firstName": "Demo",
"lastName": "Customer",
"email": "[email protected]",
"phone": "+15550101000",
"city": "Istanbul",
"country": "TR",
"address1": "123 Demo Street",
"postalCode": "10001",
"dateOfBirth": "2000-01-01",
"externalUserId": "demo-user-001"
},
"apmPayload": {
"paymentMethod": "HAVALE_HPP",
"paymentType": "BANK_TRANSFER"
}
}Hosted Redirect Response
When the hosted session is created, the response has actionType set to REDIRECTION and includes redirectUrl.
{
"requestId": "00000000-0000-4000-8000-000000000001",
"transactionId": "900000000000000001",
"paymentType": "APM",
"transactionStatus": "CUSTOMER_VERIFICATION",
"apmResponseData": {
"paymentMethod": "HAVALE_HPP",
"paymentType": "BANK_TRANSFER",
"actionType": "REDIRECTION",
"redirectUrl": "https://checkout.example/hosted-session"
}
}Redirect the customer to apmResponseData.redirectUrl.
Use the callback as the final result; the browser return does not confirm payment success.
If the response has actionType: NONE, do not redirect. Follow the transaction status and callback instead.
Callback After Completion
After the hosted payment is completed, Facilero sends this final result to callbackUrl. The callback can still include the original hosted redirect URL:
{
"order": {
"date": null,
"name": null,
"title": "Deposit to demo account",
"siteId": null,
"orderId": "demo-order-0001",
"domainName": null
},
"accountId": "123456789012345678",
"createdAt": "2026-08-31T12:00:00Z",
"requestId": "00000000-0000-4000-8000-000000000001",
"transactionId": "900000000000000001",
"callbackUrl": "https://merchant.example/webhooks/apm",
"declineCode": null,
"orderAmount": "5000.0",
"orderCurrency": "TRY",
"billingDetails": {
"ssn": null,
"city": "Istanbul",
"email": "[email protected]",
"phone": "+15550101000",
"state": null,
"country": "TR",
"address1": "123 Demo Street",
"lastName": "Customer",
"firstName": "Demo",
"postalCode": "10001",
"dateOfBirth": "2000-01-01",
"identityCode": null,
"externalUserId": "demo-user-001"
},
"processedAmount": "5000.0",
"processedCurrency": "TRY",
"conversionRate": "1.0",
"transactionStatus": "SUCCEED",
"apmRequestPayload": {
"paymentMethod": "HAVALE_HPP",
"paymentType": "BANK_TRANSFER"
},
"apmResponseData": {
"paymentMethod": "HAVALE_HPP",
"paymentType": "BANK_TRANSFER",
"actionType": "REDIRECTION",
"redirectUrl": "https://checkout.example/hosted-session"
},
"declineSubReason": null
}On transactionStatus: "SUCCEED", credit the customer using processedAmount and processedCurrency.
Verify the callback checksum before processing it.

