Skip to main content

VA Payments

VA Payments generate a dedicated virtual account instruction that your integration can display directly within your own product. Instead of redirecting the payer to a hosted Basilic checkout, you immediately receive the CVU and alias to present the transfer instructions yourself.

What is a VA payment

  • A VA payment is an API-only bank transfer collection flow.
  • Basilic creates the payment record, reserves the receiving account, and returns the CVU / alias to show the payer.
  • Your server can query the lifecycle with GET /api/v1/va-payments and GET /api/v1/va-payments/{id} or react to callbacks when configured.
  • VA payments are currently only supported in Argentina and only for ARS transfer instructions.

VA payment flow

What you can control

  • Lock mode by time, amount, or both.
  • Expiry window via ttlSeconds.
  • Optional client identification with clientId, clientTaxId, and clientName.
  • Callback delivery to your backend via callbackUrl.
  • External references and metadata for reconciliation in your own systems.

Callback payload

When a transfer arrives and Basilic matches it to a VA payment, it delivers a POST to the callbackUrl you configured.

Webhook payload:

{
"eventId": "uuid",
"vaPaymentId": "uuid",
"eventType": "va_payment.received",
"status": "completed",
"payload": {
"vaPaymentId": "uuid",
"operationId": "internal-op-id",
"incomingAmount": 4970.00,
"total": 5000.00,
"totalWithoutTaxes": 4970.00,
"taxes": 30.00,
"receivedAmount": 4970.00,
"remainingAmount": 0
},
"createdAt": "2026-05-18T12:00:00Z"
}

Payload fields:

FieldDescription
payload.incomingAmountNet amount received after taxes (pre-existing field, same as totalWithoutTaxes)
payload.totalGross amount before taxes
payload.totalWithoutTaxesNet amount after taxes (same as incomingAmount)
payload.taxesTax amount retained by the provider. total - taxes = incomingAmount
payload.receivedAmountAmount credited toward the VA payment (may differ if partial or over-paid)
payload.remainingAmountAmount still pending. 0 when fully paid

In most transfers there are no taxes and total === incomingAmount while taxes === 0. For Argentine transfers with withholding, these fields carry the breakdown.