Skip to content

Suggested

API Dashboard

Payments / RailsCVU

CVU

Argentina's virtual account identifier for instant bank transfers. Used for pay-in in Argentina.

Rail overview

Use CVU to collect Argentine bank transfers into an internal account. Static CVUs are best for recurring topups; dynamic CVUs are best for checkout-style matching.

Dynamic CVU payments are matched 1:1 to a payment attempt. Static CVU transfers create an unassigned payment that Conomy reconciles before settlement.

Region Argentina
Currency ARS
Direction Pay-in
Model Virtual account identifier

Show the CVU code clearly to the payer and rely on webhooks to update your UI once the transfer is received, matched, settled, expired, or refunded.

The platform supports two CVU allocation modes. The mode determines how an incoming transfer is matched to a transaction.

CharacteristicStatic CVUDynamic CVU
AllocationA fixed code assigned to a specific identity. Shared across all topups for that identity.A unique code allocated per payment attempt.
Transfer matchingNo automatic match — an unassigned payment is created and reconciled against an account on our side.Automatic 1:1 match with the originating payment attempt.
Typical use caseRecurring topups, off-platform onboarding, bulk collection flows.Checkout flows where payer identity and amount are known upfront.
Underpaid / overpaid classificationAt reconciliation time.Automatic, by comparing the received amount against the amount on the attempt.

A static CVU is a fixed code bound to an identity in your tenant. Every topup that arrives on that code creates an unassigned payment in CREATED state, with no accountNumber set.

  1. The payer initiates an ARS transfer to the static CVU code.
  2. The platform receives the transfer notification and creates an unassigned payment in CREATED.
  3. A webhook fires so your dashboard can surface the pending item.
  4. The payment is reconciled against a destination account on our side and transitions to SETTLED.
  5. Webhook payment.settled fires.

A topup that is not reconciled within 48 hours expires automatically:

  • A refund is initiated back to the originating bank account.
  • A child REFUND transaction is created in RECEIVED state.
  • The parent transitions to EXPIRED and a payment.expired webhook fires.

A dynamic CVU is allocated per payment attempt. When you create a payment attempt with type: CVU as the origin, the platform returns a unique CVU code for that specific transaction. The payer transfers to that code and the topup auto-matches.

{
"purchaseAmount": "1500.00",
"purchaseCurrency": "ARS",
"origins": [
{
"type": "CVU",
"currency": "ARS",
"cvu": {
"customer": {
"firstName": "Juan",
"lastName": "Perez",
"documentNumber": "12345678",
"documentType": "DNI"
}
}
}
],
"destinations": [
{
"type": "ACCOUNT",
"currency": "ARS",
"account": {
"accountNumber": "17733420419010021326597"
}
}
]
}

The response includes the allocated CVU code in origins[0].cvu.code. Display this code to the payer so they can initiate the bank transfer.

When the topup arrives, the platform matches it to the attempt by CVU code. The attempt is promoted to CREATED and continues through the normal lifecycle toward SETTLED.

If the received amount differs from the expected amount, purchase.overpaid or purchase.underpaid fires alongside the lifecycle events.


FieldTypeDescription
typestringMust be "CVU"
currencystringMust be "ARS"

FieldTypeDescription
cvu.codestringPre-assigned CVU code for static mode. Omit when using dynamic allocation via a payment attempt.
cvu.customerobjectCustomer data for the originante — used for automatic customer resolution on topup receipt.
cvu.customer.firstNamestringOriginante’s first name.
cvu.customer.lastNamestringOriginante’s last name.
cvu.customer.documentNumberstringOriginante’s document number.
cvu.customer.documentTypestringDocument type, e.g. "DNI".

NodeDescription
ACCOUNTInternal platform account

Optional CVU/CBU code when pre-assigned by the payer flow.

Information on who pays the transaction

idstring

Unique identifier for the internal service.

firstNamestringrequired

Payer's name

emailstring

Payer's email

lastNamestring

Payer's last name

phoneNumberstring

Payer's phone number without prefix

phoneNumberPrefixstring

Phone number prefix (e.g., +57)

documentTypestring

Documeny type of the entity (e.g., RUT, CURP, CURL). Go to the Supported Identity document types page for the complete list of supported values.

documentNumberstring

The document number associated with the documentType

addressobject

The entity’s address information.