---
title: "How to collect payments in Argentina with Transfers 3.0"
seoTitle: "Collect payments in Argentina with Transfers 3.0 (2026)"
description: "How a business outside Argentina collects pesos at checkout over Transfers 3.0: CUIT or CUIL, the CBU or CVU to show, timing, and settling in USD."
date: "2026-10-22"
updated: "2026-10-22"
category: "payments"
author: "BlindPay Team"
faq:
  - q: "What is Transfers 3.0 in Argentina?"
    a: "Transfers 3.0 is an initiative of the Central Bank of the Argentine Republic (BCRA) that reformulated immediate transfers. Money moves between a CBU bank account and a CVU payment account, credited online in a maximum of 15 seconds, every day, 24 hours. It also made QR payments interoperable, so a shopper can pay any QR code from any wallet or bank app."
  - q: "Can a business outside Argentina accept Argentine bank transfers at checkout?"
    a: "Yes, through a payments API that holds the local account. With BlindPay, you create a payin quote with payment method transfers and the shopper's CUIT or CUIL, show the account the response returns, and the shopper pays it from their bank or wallet app. The pesos convert and land as USD stablecoins in the merchant's wallet."
  - q: "What does the shopper need to pay by Transfers 3.0?"
    a: "An Argentine bank account or a payment app account, and their tax ID. The checkout collects the shopper's CUIT or CUIL before it creates the quote, because BlindPay matches the incoming transfer against that tax ID. The shopper then sends the exact peso amount shown to the CBU, CVU, or alias on the instructions screen."
  - q: "How fast does a Transfers 3.0 payment settle at checkout?"
    a: "The rail itself credits in up to 15 seconds, according to the BCRA. On BlindPay, a transfers payin typically arrives within minutes, and BlindPay waits up to 30 minutes before marking it failed. If the money arrives after that and no stablecoins were sent yet, BlindPay revives the payin and completes it once the tax ID and amount match."
  - q: "How do I handle peso volatility at checkout?"
    a: "Price in dollars and let the quote convert. A BlindPay payin quote locks the exchange rate and fees for 5 minutes, so the peso amount the shopper sees is the amount they pay. If the window runs out, create a new quote on the next click. The merchant still receives the same dollar price, because the quote is receiver denominated."
howto:
  name: "Collect a payment in Argentina over Transfers 3.0 with BlindPay"
  steps:
    - name: "Collect the shopper's tax ID"
      text: "Ask for the shopper's CUIT or CUIL on the payment step, along with name and email, before you request a price."
    - name: "Create a payin quote"
      text: "Call the payin quote endpoint with payment_method transfers, currency_type receiver, cover_fees true, the USD price as request_amount, and payer_rules.transfers_allowed_tax_id."
    - name: "Create the payin within 5 minutes"
      text: "Create the payin from the quote id with an Idempotency-Key, before the quote's expires_at."
    - name: "Show the account and exact amount"
      text: "Display the CBU, CVU, or alias from tracking_transaction.transfers_instruction and the exact peso amount, each with a copy button."
    - name: "Wait for the webhook"
      text: "Listen for payin.complete, read the payin status, and confirm the order only when status is completed."
---

To collect pesos at checkout from a business outside Argentina, show the shopper a local account and an exact amount, and let them pay it over Transfers 3.0 from their bank or wallet app. Argentina's central bank says these transfers credit in up to 15 seconds. With BlindPay, the pesos convert on arrival and the merchant receives the dollar price in stablecoins.

This guide is part of the series on [what a global payments checkout is](/resources/more/what-is-a-global-payments-checkout). For the full screen design across rails, read [bank transfer checkout UX](/resources/more/checkout-payment-instructions-ux).

**Key takeaways**

- Transfers 3.0 is a BCRA framework: immediate transfers between CBU and CVU accounts, credited in a maximum of 15 seconds, 24 hours a day.
- A BlindPay transfers payin requires the shopper's CUIT or CUIL in `payer_rules.transfers_allowed_tax_id`.
- The shopper pays a CBU, CVU, or alias returned in `tracking_transaction.transfers_instruction`, in whole pesos.
- A payin quote locks the ARS rate and fees for 5 minutes, so peso swings stay outside the checkout.
- Late money is not lost: a failed transfers payin revives and completes when the tax ID and amount match.

## What is Transfers 3.0?

Transfers 3.0 is the Central Bank of the Argentine Republic's program for immediate, interoperable transfers. The [BCRA](https://www.bcra.gob.ar/en/transfers-3-0/) describes online crediting in a maximum of 15 seconds between two accounts, every day, 24 hours.

Three parts matter for a checkout:

- **CBU and CVU.** A CBU identifies a bank account. A CVU identifies an account at a payment service provider, the wallet apps many Argentines use daily. Transfers 3.0 works across both.
- **Interoperable QR.** No matter the brand of the QR code, a shopper can pay with any wallet. The rail stopped belonging to one app.
- **Irrevocable credit.** The BCRA says merchants receive the credit automatically and the payments are irrevocable. There is no card-style chargeback to plan around.

For a foreign merchant, that adds up to a bank transfer that behaves like an instant payment. The shopper never types a card number.

## How does a Transfers 3.0 checkout work from start to finish?

The shopper picks Argentina, enters a tax ID, sees a peso amount, and pays a local account from their own app. Your backend does four API calls around that.

1. **The shopper chooses Argentina.** Your country picker shows "Bank transfer" with a short hint, such as "Pay from any Argentine bank or wallet app."
2. **The checkout collects payer details.** Name, email, and CUIT or CUIL. Validate the format (for example `20-12345678-6`) in the browser.
3. **Your backend creates a payin quote.** `payment_method: "transfers"`, `currency_type: "receiver"`, `cover_fees: true`, the USD price as `request_amount`, and `payer_rules.transfers_allowed_tax_id`.
4. **The page shows the price.** The quote's `sender_amount` is what the shopper pays in pesos, fees and exchange included, with a countdown to `expires_at`.
5. **The shopper confirms.** Your backend creates the payin with `POST /v1/instances/{instance_id}/payins/evm` and an `Idempotency-Key`. The same endpoint serves every rail; the path name is historical.
6. **The page shows instructions.** The account from `tracking_transaction.transfers_instruction.account`, its `type` (CBU, CVU, or alias), and the exact ARS amount.
7. **The shopper pays.** They send the transfer from their app.
8. **BlindPay detects the deposit.** It converts the pesos and delivers stablecoins to the merchant's wallet, then fires `payin.complete`.

Confirm the order from the payin's `status`, not from the webhook name. `payin.complete` fires when the payin finishes, and `completed` is the only status that means the merchant got paid.

## What does the shopper need, and why does BlindPay ask for a tax ID?

The shopper needs an Argentine bank or wallet account and their CUIT or CUIL. BlindPay requires the tax ID on the quote so it can match the incoming transfer to the right payin and screen the payer.

| Field | Where it goes | Why it matters |
| --- | --- | --- |
| CUIT or CUIL | `payer_rules.transfers_allowed_tax_id` on the payin quote | BlindPay matches the deposit to this tax ID, and a late payment revives only on a match |
| Shopper name and email | Your checkout session | Receipts, support, and your own records |
| Peso amount | `sender_amount` on the quote | Must be sent exactly; ARS settles in whole units |
| Account | `tracking_transaction.transfers_instruction.account` and `.type` | The CBU, CVU, or alias the shopper pays |

A CUIT identifies a taxpayer, usually a business or a self-employed person. A CUIL identifies a worker. Either works in the payer rule.

Ask for the tax ID before the price, not after. If the shopper pays from an account under a different tax ID, the transfer will not match the payin.

## How do you handle peso volatility at checkout?

Price in dollars, quote in pesos, and let the quote absorb the timing. The [live quote guide for volatile currencies](/resources/more/live-quotes-volatile-currencies-latin-america) covers the mechanics in depth.

The ARS rate can move between the moment a shopper opens your page and the moment they pay. A BlindPay payin quote locks the rate and fees for 5 minutes. That gives you two clean rules:

- **The shopper pays the quoted pesos.** Show `sender_amount` large, with "Includes fees and exchange" under it.
- **The merchant receives the dollar price.** With `currency_type: "receiver"` and `cover_fees: true`, `receiver_amount` equals the USD price.

If the countdown runs out before the shopper confirms, request a new quote on the next click and show the new amount without an error message. Once the payin exists, the rate is set.

Two more details. ARS settles in whole units, so a sender-denominated `request_amount` must be a multiple of 100 minor units, and computed sender amounts round down to a whole peso. And the quote enforces a minimum and maximum per currency, so read the error if an order is too small or too large and offer another rail. [Pricing in local currency](/resources/more/local-currency-pricing-at-checkout) explains when to show, charge, and settle in which currency.

## How fast is settlement, and what if the transfer arrives late?

The rail is fast. Most delays come from the shopper switching apps or getting distracted.

On production, a transfers payin typically arrives within minutes, and BlindPay's [cut-off reference](/docs/kb/cut-off-times) lists Transfers payin arrival at up to 10 minutes. BlindPay waits up to 30 minutes before it marks the payin `failed`.

Late money has a safety net. If the funding for a transfers payin arrives after it was marked `failed`, and no stablecoins were sent yet, BlindPay revives the payin back to `processing` and completes it once it matches the sender's tax ID and amount. Your checkout should listen for that: a session you marked failed can still turn into a paid one.

Two status values need their own screen. `on_hold` means manual risk or compliance review, so show "Your payment is being reviewed" and keep the order open. `refunded` means the deposit went back to the sender. [Why on-ramp deposits fail](/resources/more/why-crypto-on-ramp-deposits-fail) lists the usual causes, such as a wrong amount or a missing reference.

## How does BlindPay fit into an Argentina checkout?

BlindPay is the money layer: it holds the local account, matches the transfer, converts pesos, and settles the merchant in dollars. You build the checkout page and sessions on the API.

Each merchant is a BlindPay business customer that accepts terms of service and passes KYB. Its money lands in a BlindPay-managed wallet or an external wallet it controls, as USDC or USDT. BlindPay-managed wallets are custodial; payouts from a wallet you control are non-custodial.

From there the merchant can withdraw. A payout quote locks the rate and fees for 5 minutes, then BlindPay delivers over ACH, wire, RTP, or SWIFT (POBO/COBO) with UETR tracking and MT103 confirmations, or back to Argentina over Transfers 3.0 if the merchant has peso costs.

Pricing follows the BlindPay model: a monthly plan plus per-transaction fees that vary by rail and network, disclosed only in the live quote before execute. A platform can add its own margin with a partner fee on each payin quote.

On a development instance, every payin completes about 30 seconds after creation, so you can build the whole Argentina flow before you see a real peso.

**Who this is for:** online sellers, marketplaces, and SaaS companies outside Argentina that want Argentine shoppers to pay from the apps they already use.

## Methodology and sources

Rail facts come from the [BCRA's Transfers 3.0 page](https://www.bcra.gob.ar/en/transfers-3-0/). Checkout behavior benchmarks come from [Baymard's cart abandonment research](https://baymard.com/lists/cart-abandonment-rate), where 9% of US shoppers left a checkout because there were not enough payment methods, and [Stripe's localization guide](https://stripe.com/resources/more/payment-localization-best-practices-a-guide-for-scaling-payments-worldwide), which recommends local language and suppressing irrelevant methods. BlindPay facts come from the [payins](/docs/payins), [payin quotes](/docs/payin-quotes), and [cut-off times](/docs/kb/cut-off-times) docs, as of October 2026. For the payout side of the corridor, see [USDC to ARS routes in 2026](/resources/more/usdc-to-ars-routes-2026).

## What to do next

Add Argentina to your country picker with one field for CUIT or CUIL. Then open a BlindPay development instance, create a transfers payin quote with a test tax ID, and run the [payin quickstart](/docs/quickstart-payin) until your instructions screen shows the account and the exact peso amount.
