Skip to content
API DocsDocs

HAVALE_HPP Payload

Use the fieldless HAVALE_HPP payload for hosted TRY bank-transfer payments in Turkey.

3 min readUpdated Aug 31, 2026

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:

FieldTypeRequiredValue
paymentMethodEnumYesHAVALE_HPP
paymentTypeEnumYesBANK_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": "customer@example.com",
    "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 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, Exirom 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": "customer@example.com",
    "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. See Handling the Callback.

#See Also

Was this helpful?