TransfiYa
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
- 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.
- 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.
- 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.
- 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/directendpoint 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.
- 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/directSelect 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.
- 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.
Parameter Requirement Description integration_keyRequired Your EBANX integration key. payment_type_codeRequired Set to transfiya.countryRequired Set to cofor Colombia.currency_codeRequired Must be COPfor Colombian Pesos.amount_totalRequired Total amount to be charged. merchant_payment_codeRequired A unique merchant payment code. nameRequired Customer name. emailRequired Customer email. phone_numberRequired Customer phone number, including the country code. documentRequired Customer national identification number. cityOptional Customer city. stateOptional Customer state. zipcodeOptional Customer zip code. addressOptional Customer address. street_numberOptional Customer street number. To learn more about API parameters, please refer to the API Reference Guide.
- Sample request
Once your customer submits a Transfiya payment, create a payment request using the
ws/directendpoint.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"
}
}' - 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 yourEBANX Dashboardchevron_right - Checkout for customer
The payment flow demonstration can be seen in this LINK.
- 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).
- 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.
- Congratulations!
You have successfully integrated Transfiya.
For more information, refer to theDirect API reference guidechevron_right
API Reference
Click here to access detailed API documentation to integrate efficiently.
Mock Customer Data
Click here to view mock customer data for testing and validating user flows.
Error Codes
Click here to review common error codes to troubleshoot and resolve issues quickly.
Still need help?
We hope this article was helpful. If you still have questions, you can explore the following options:
- Merchant support: Contact our support team at sales.engineering@ebanx.com for assistance.
- Not a partner yet? Please complete the Merchant Signup Form, and our commercial team will reach out to you.