Skip to main content

Transfiya is a Colombian online money transfer service that enables swift and secure interbank transactions using the mobile phone number as the key. This digital platform facilitates sending and receiving funds between users registered with affiliated financial institutions.

In summary, Transfiya offers:

  • Interbank money transfer service: Seamlessly move funds between different banks in Colombia.
  • Mobile number-based transfers: Send and receive money using just a mobile phone number.
  • Speed and security: Transactions are processed quickly and securely.
  • Wide accessibility: Available to users of financial entities linked to Transfiya.

To utilize Transfiya, users must:

  • Hold an account: Have an account with a Transfiya-affiliated bank or financial institution.
  • Activate the service: Enable Transfiya through their bank's mobile application.
  • Register mobile number: Ensure their mobile phone number is registered and associated with their account.

Once activated, users can send money to anyone with an account at a Transfiya-affiliated financial institution, simply by using their mobile phone number.

Operated by ACH Colombia, this digital platform facilitates sending and receiving funds between users registered with affiliated financial institutions. This guide will walk you through integrating Transfiya, covering the technical requirements, the payment flow, and key API parameters for a seamless integration.

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 EBANX Direct for more info.
  • Unique identifiers: The service operates primarily using a mobile phone number and a document ID as unique identifiers for the recipient.

How it works

  • Set up a payment request: The payer initiates a transaction through their mobile banking application.
  • Notify the recipient: TransfiYa sends a notification to the recipient's device or banking app.
  • Accept the transfer: The recipient must explicitly accept the transfer within a specific time frame, typically 12 hours.
  • Fund confirmation: Once accepted, the funds are instantly credited to the recipient's bank account. If not accepted, the money is automatically returned to the sender.

Mobile Flow

  1. Payment Request Notification After the merchant sends the request, the customer receives a notification on their mobile device. Upon opening the banking app, the request appears in a notifications section, ready to be viewed.
  2. Viewing and Decision By selecting the notification, the customer is directed to a screen with the request details. This screen shows the name of the requester (the merchant) and the amount. The customer has the option to "Envía" (Send) to proceed with the payment or "Rechaza" (Reject) to cancel.
  3. Review and Source of Funds By clicking "Envía," the customer is taken to a screen where the payment details (name, phone, and amount) are pre-filled. The customer must then select the source account for the funds and can view additional information, such as transaction limits.
  4. Final Confirmation To complete the payment, a modal confirmation window is displayed. This screen allows the customer to perform a final check of the data before clicking "Listo" (Ready) to authorize the transfer of funds.

Technical flow

  • Request payment - Call the ws/direct endpoint with the parameters defined below
  • Payment instructions - In response to this request, EBANX will return a link to the TransfiYa platform, to which the merchant must redirect the customer to complete the transaction.
  • Customer completes the payment - Once this link is accessed, the customer will have 30 minutes to complete the transaction. During this time, the transaction will be set on our platform with the status pending (PE).
  • Payment Confirmation - As soon as the customer completes the transaction with TransfiYa, EBANX will receive the response and immediately change the payment status to confirmed (CO) or cancelled (CA).

When this status change occurs, the merchant will receive a notification from us, informing them of the payment hash and that a change has occurred in the payment. To view the final status, simply query the payment through the ws/query endpoint.

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

    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.

  2. Payment request

    You must provide required parameters for payment requests. These parameters ensure successful completion of transactions. The following table outlines the required parameters for the payment process.

    ParameterRequirementDescription
    integration_keyRequiredYour EBANX integration key.
    payment_type_codeRequiredSet to transfiya.
    countryRequiredSet to co for Colombia.
    currency_codeRequiredMust be COP for Colombian Pesos.
    amount_totalRequiredTotal amount to be charged.
    merchant_payment_codeRequiredA unique merchant payment code.
    nameRequiredCustomer name.
    emailRequiredCustomer email.
    phone_numberRequiredCustomer phone number, including the country code.
    documentRequiredCustomer national identification number.
    cityOptionalCustomer city.
    stateOptionalCustomer state.
    zipcodeOptionalCustomer zip code.
    addressOptionalCustomer address.
    street_numberOptionalCustomer street number.

    To learn more about API parameters, please refer to the API Reference Guide.

  3. Sample request

    Once your customer submits a Transfiya payment, create a payment request using the ws/direct endpoint.

    Sample request

    curl --location 'https://sandbox.ebanx.com/ws/direct' \
    --header 'Content-Type: application/json' \
    --data-raw '{
    "integration_key": "your_ebanx_integration_key",
    "payment": {
    "merchant_payment_code": "fd0069a3-5efb-421f-a314-8b65186e2bdc",
    "amount_total": 100.01,
    "currency_code": "COP",
    "country": "co",
    "city": "Maracanaú",
    "state": "CE",
    "zipcode": "61919230",
    "address": "Rua E, 1040",
    "street_number": "10",
    "email": "test@test.com",
    "phone_number": "573051000080",
    "name": "Ana Santos Araujo",
    "document": "85351346893",
    "payment_type_code": "transfiya"
    }
    }'
  4. Payment response

    Sample response

    Each request returns a response similar to the example below.

    {
    "payment": {
    "hash": "689644d85e72c5fe683a4f7ac866dd79d4513db194575ab5",
    "country": "co",
    "merchant_payment_code": "62eda3fd-5137-4a17-8160-739694afdf90",
    "status": "PE",
    "status_date": "2025-08-08 18:41:28",
    "open_date": "2025-08-08 18:41:28",
    "confirm_date": null,
    "transfer_date": null,
    "amount_br": "101.00",
    "amount_ext": "100.01",
    "amount_iof": "0.00",
    "currency_rate": "1.0000",
    "currency_ext": "COP",
    "due_date": "2025-08-11",
    "instalments": "1",
    "payment_type_code": "transfiya",
    "pre_approved": false,
    "capture_available": null,
    "customer": {
    "document": "85351346893",
    "email": "test@test.com",
    "name": "ANA SANTOS ARAUJO",
    "birth_date": null
    }
    },
    "status": "SUCCESS"
    }
    At this stage, the payment will appear as pending (PE) in your
    EBANX Dashboardchevron_right
  5. Checkout for customer

    The payment flow demonstration can be seen in this LINK.

  6. Monitor payment for status changes

    Notifications Make sure your system is set up to receive notifications from EBANX for any changes in payment status.

    Status After receiving a notification, retrieve the payment status.

    When a payment is confirmed, the status will change from pending (PE) to confirmed (CO).

    As described in the Technical flow, the customer has 30 minutes to complete the payment after being redirected. If the customer does not complete the payment within this timeframe, the status will automatically update to cancelled (CA).

  7. Sandbox behavior

    When testing in the sandbox, you can use the following phone numbers to simulate different payment outcomes:

    P2B auto-accept wallet: Use the phone number 573051000090 to automatically simulate a successful payment.

    P2B auto-reject wallet: Use the phone number 573051000080 to automatically simulate a failed payment.

  8. Congratulations!

    You have successfully integrated Transfiya.

    For more information, refer to the
    Direct API reference guidechevron_right

Still need help?

Help Image

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