Skip to main content

Bank Transfers are an option in Turkey for customers to pay for online purchases, transferring funds directly from their accounts to the Merchant. It supports transfers from major Turkish banks, including İş Bankası, Garanti Bankası, Akbank, Yapı Kredi, and Ziraat Bankası. After initiating a payment, customers are redirected to a secure checkout page where they select their bank and complete the transfer. Customers will receive the bank details to complete the payment via SMS and e-mail, and have 3 business days to complete the transfer.

Payment matching is automated, and status updates happen every 15 minutes.

Requirements

  • API credentials - Ensure you have your EBANX integration key. If not, complete the Merchant Signup Form.
  • Familiarity with EBANX Direct - This setup follows the same general structure as other payment methods, with a few unique parameters. See Direct API Guide for more info.

How it works

  • Set up a payment request through the EBANX API and choose Bank Transfer as the payment method for Turkey.
  • EBANX returns a redirect_url pointing to a secure checkout page.
  • Redirect the customer to the checkout page, where they select their preferred bank (İş Bankası, Garanti Bankası, Akbank, Yapı Kredi, or Ziraat Bankası) and receive the transfer details.
  • The customer completes the bank transfer using their online banking or mobile banking app within 3 business days.
  • Payments are updated every 15 minutes. When the payment is matched, the transaction status is updated to confirmed, and both the merchant and customer are notified.

Key information

  • Minimum transaction amount: TRY 1
  • Maximum transaction amount: TRY 100,000
  • Transaction limits may be adjusted based on the merchant's business model.
  • Transaction expiration period: 3 business days
  • Currency: TRY (Turkish Lira)
  • Supported banks: İş Bankası, Garanti Bankası, Akbank, Yapı Kredi, Ziraat Bankası
  • Refund: Supported
    • Full refund
    • Partial refund
    • Multiple partial refunds

Instructions

Follow the steps below.

  1. Select your environment

    Select the appropriate environment for your integration. Use the sandbox environment for testing, or the production environment for live transactions. Use the URL for your HTTP requests based on your selection.

    https://sandbox.ebanx.com/ws/direct
  2. Create a Bank Transfer payment

    To initiate a Bank Transfer payment in Turkey, prepare the required information and make a request to the /ws/direct endpoint using the parameters below.

    ParameterRequirementDescription
    integration_keyRequiredYour EBANX integration key
    payment_type_codeRequiredSet to banktransfer
    countryRequiredSet to tr for Turkey

    Customer data

    ParameterRequirementDescription
    nameRequiredCustomer's full name
    emailRequiredCustomer's e-mail address
    documentRequiredCustomer's identity number
    phone_numberRequiredCustomer's phone number
    zipcodeRequiredCustomer's zip code
    addressRequiredCustomer's street address
    cityRequiredCustomer's city

    Payment parameters

    ParameterRequirementDescription
    merchant_payment_codeRequiredUnique merchant payment code
    currency_codeRequiredSupported value: TRY
    amount_totalRequiredTotal amount to be charged
  3. Sample request

    Here's an example using CURL to initiate a Bank Transfer payment in Turkey:

    curl -X POST \
    --location 'https://sandbox.ebanx.com/ws/direct' \
    --header 'Content-Type: application/json' \
    --data '{
    "integration_key": "your_ebanx_integration_key",
    "payment": {
    "name": "John Doe",
    "email": "john.doe@example.com",
    "document": "12345678901",
    "phone_number": "+905551234567",
    "zipcode": "34000",
    "address": "Istiklal Caddesi No:1",
    "city": "Istanbul",
    "country": "tr",
    "payment_type_code": "banktransfer",
    "merchant_payment_code": "tr-bt-00001",
    "currency_code": "TRY",
    "amount_total": 100
    }
    }'
  4. Sample response

    A successful request returns a response similar to the example below. The redirect_url parameter contains the link to the secure checkout page where the customer selects their bank and completes the transfer.

    • status: "SUCCESS" indicates EBANX successfully processed the request.
    • payment.status: "PE" (Pending) means the payment is awaiting the customer's bank transfer.
    • payment.redirect_url: The URL to redirect the customer to the checkout page.

    {
    "payment": {
    "hash": "<{hash_here}>",
    "country": "tr",
    "merchant_payment_code": "tr-bt-00001",
    "status": "PE",
    "amount_ext": "100.00",
    "currency_ext": "TRY",
    "due_date": "2026-03-18",
    "payment_type_code": "banktransfer",
    "customer": {
    "email": "john.doe@example.com",
    "name": "John Doe"
    },
    "redirect_url": "https://sandbox.ebanx.com/redirect/banktransfer?hash=<{hash_here}>"
    },
    "status": "SUCCESS"
    }
    At this stage, the payment will appear as pending (PE) in your
    EBANX Dashboardchevron_right
  5. Redirect the customer to the checkout page

    Redirect your customer to the URL provided in the redirect_url parameter. On the checkout page, the customer will:

    1. Select their preferred bank (İş Bankası, Garanti Bankası, Akbank, Yapı Kredi, or Ziraat Bankası).
    2. Receive the bank transfer details via the page, SMS, and email.
    3. Complete the transfer using their online banking or mobile banking app within 3 business days.
  6. Monitor payment for status changes

    Notifications

    Status

    • After receiving a notification, retrieve the payment status.

    • When a payment is confirmed, the status will change from pending (PE) to confirmed (CO). If the customer does not complete the payment within 3 business days, the status will automatically update to cancelled (CA).

  7. Congratulations!

    You have successfully integrated Bank Transfer for Turkey.

    For more information, refer to the
    Direct API reference guidechevron_right

Bank Transfer UX Flow

Bank Transfer UX Flow


Resources

Use the following resources when testing in your sandbox environment.

Still need help?

Help Image

We hope this article was helpful. If you still have questions, you can explore the following options: