Bank Transfers
Accept bank transfers in Uruguay through Bamboo’s Payfac model. Learn required parameters, redirection flow, and how to confirm payments via home banking.
This page describes Uruguay-specific requirements for processing bank transfer payments under the Payfac model. Bank Transfers allow your customers to pay directly from their bank account through an online banking redirect flow.
Payment Flow
The following steps describe the customer experience when completing a bank transfer payment in Uruguay.
The process may vary slightly depending on the bank’s interface.
-
Payment instructions:
The customer is redirected to Bamboo’s page showing the beneficiary bank, account number, amount, and a reference code that must be included in the transfer. This payment page can be customized to display your merchant logo at the top. Contact Bamboo Support to enable it. -
Open bank app:
The customer accesses their online banking app and selects Transfer to another bank. -
Select destination bank:
They choose the destination bank -
Enter transfer details:
The customer fills in the account and reference code provided by Bamboo. -
Authorize transfer:
The transaction is confirmed using their usual method (token, PIN, or mobile key). -
Bank confirmation:
The bank displays a confirmation of the successful transfer. -
Return to Bamboo:
The Bamboo page confirms the payment as Completed once the transfer is verified.
The purchase status remains PENDING until the payer completes the transfer through their bank’s app or website.
Request parameters
Include the following fields for this payment method to work correctly.
For global parameters (Amount, Currency, Order, etc.), see the Create Purchase guide.
| Property | Type | Mandatory? | Description |
|---|---|---|---|
PaymentMethod | string | Yes | Must be BTU for Uruguay bank transfers. |
TargetCountryISO | string | Yes | Must be "UY". Indicates the destination country. |
Description | string | Yes | Description of the purchase. Required for this payment method. |
Customer → Email | string | Yes | Customer’s email address. |
Customer → FirstName | string | No | Customer’s first name. |
Customer → LastName | string | No | Customer’s last name. |
Customer → DocumentType | string | No | Customer’s document type. Refer to the Document types table. |
Customer → DocumentNumber | string | No | Customer’s document number. |
Customer → PhoneNumber | string | No | Customer’s phone number. |
Customer → Address → Country | string | No | Customer’s country. |
Customer → Address → State | string | No | Customer’s state or department. |
Customer → Address → City | string | No | Customer’s city. |
Customer → Address → AddressDetail | string | No | Customer’s address detail (street, number, complement). |
Customer → Address → PostalCode | string | No | Customer’s postal code. |
MetaDataIn → PaymentExpirationInMinutes | numeric | No | Expiration time for the transfer in minutes. The API applies a default if not provided. |
Redirection → Url_Approved | string | No | URL to redirect the customer after an approved transaction. |
Redirection → Url_Rejected | string | No | URL to redirect the customer after a rejected transaction. |
Redirection → Url_Canceled | string | No | URL to redirect the customer after a canceled transaction. |
Redirection → Url_Pending | string | No | URL to redirect the customer while the transaction is pending. |
Request example
To test this endpoint, use the API Reference or the Postman Collection
{
"PaymentMethod": "BTU",
"Order": "UY-BANK-1001",
"Amount": 100,
"Description": "Compra en línea - Transferencia bancaria",
"Currency": "UYU",
"TargetCountryISO": "UY",
"Customer": {
"Email": "[email protected]",
"FirstName": "Luis",
"LastName": "Martinez",
"DocumentNumber": "12345672",
"DocumentType": "CI.UY",
"PhoneNumber": "24022330",
"Address": {
"Country": "UY",
"State": "Montevideo",
"City": "Montevideo",
"AddressDetail": "Av. Sarmiento 22",
"PostalCode": "15000"
}
},
"MetaDataIn": {
"PaymentExpirationInMinutes": 60
},
"Redirection": {
"Url_Approved": "https://merchant.com/checkout/approved",
"Url_Rejected": "https://merchant.com/checkout/rejected",
"Url_Canceled": "https://merchant.com/checkout/canceled",
"Url_Pending": "https://merchant.com/checkout/pending"
}
}Response parameters
The API returns the purchase with the status PENDING and includes an Action object containing the URL where the customer must complete the transfer.
| Property | Type | Description |
|---|---|---|
Action → SessionId | string | Session identifier generated for the redirection process. |
Action → URL | string | URL where the payer must log into their banking app and complete the transfer. |
Action → Reason | string | Reason code. Always REDIRECTION_NEEDED_EXTERNAL_SERVICE. |
Response example
{
"TransactionId": "135845766093616960",
"Result": "ACTION_REQUIRED",
"Status": "PENDING",
"ErrorCode": null,
"ErrorDescription": null,
"Created": "2025-01-09T20:42:34.562",
"AuthorizationDate": null,
"AuthorizationCode": null,
"Amount": 4365,
"Currency": "UYU",
"Installments": 1,
"TaxableAmount": null,
"Tip": null,
"Url": "https://api.stage.bamboopayment.com/Purchase/135845766093616960",
"MetadataOut": null,
"Action": {
"SessionId": "CA_14d2639f-6b0a-41a5-af4f-07e619955d9a",
"URL": "https://redirect.stage.bamboopayment.com/CA_14d2639f-6b0a-41a5-af4f-07e619955d9a",
"Reason": "REDIRECTION_NEEDED_EXTERNAL_SERVICE"
},
"PaymentMethod": {
"Brand": "Infinia",
"CardOwner": null,
"Bin": null,
"IssuerBank": null,
"Type": "BankTransfer",
"Expiration": null,
"Last4": null
}
}Discover the API
Learn more about how to create and manage cash-based transactions in Uruguay:
Create a Purchase
Explore the full request and response structure for cash payments.
Country Requirements
See document types, address formats, and currency rules for each country.
Error Codes
Understand error responses and how to handle them gracefully.
Updated about 19 hours ago
