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.

  1. 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.

  2. Open bank app:
    The customer accesses their online banking app and selects Transfer to another bank.

  3. Select destination bank:
    They choose the destination bank

  4. Enter transfer details:
    The customer fills in the account and reference code provided by Bamboo.

  5. Authorize transfer:
    The transaction is confirmed using their usual method (token, PIN, or mobile key).

  6. Bank confirmation:
    The bank displays a confirmation of the successful transfer.

  7. 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.

PropertyTypeMandatory?Description
PaymentMethodstringYesMust be BTU for Uruguay bank transfers.
TargetCountryISOstringYesMust be "UY". Indicates the destination country.
DescriptionstringYesDescription of the purchase. Required for this payment method.
CustomerEmailstringYesCustomer’s email address.
CustomerFirstNamestringNoCustomer’s first name.
CustomerLastNamestringNoCustomer’s last name.
CustomerDocumentTypestringNoCustomer’s document type. Refer to the Document types table.
CustomerDocumentNumberstringNoCustomer’s document number.
CustomerPhoneNumberstringNoCustomer’s phone number.
CustomerAddressCountrystringNoCustomer’s country.
CustomerAddressStatestringNoCustomer’s state or department.
CustomerAddressCitystringNoCustomer’s city.
CustomerAddressAddressDetailstringNoCustomer’s address detail (street, number, complement).
CustomerAddressPostalCodestringNoCustomer’s postal code.
MetaDataInPaymentExpirationInMinutesnumericNoExpiration time for the transfer in minutes. The API applies a default if not provided.
RedirectionUrl_ApprovedstringNoURL to redirect the customer after an approved transaction.
RedirectionUrl_RejectedstringNoURL to redirect the customer after a rejected transaction.
RedirectionUrl_CanceledstringNoURL to redirect the customer after a canceled transaction.
RedirectionUrl_PendingstringNoURL 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.

PropertyTypeDescription
ActionSessionIdstringSession identifier generated for the redirection process.
ActionURLstringURL where the payer must log into their banking app and complete the transfer.
ActionReasonstringReason 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: