Transferência bancária Argentina
Transferência bancária Argentina em ARS, com contrato público LeonaPay e confirmação assíncrona.
Limites e disponibilidade
Consulte
GET /api/v2/payment-methods antes de exibir o método. Use minAmount, maxAmount, settlement e available retornados para a empresa; os limites comerciais não são fixos na documentação.QR Argentina está indisponível nesta versão. Não anuncie nem tente criar esse fluxo até a capability autenticada indicar disponibilidade.
| Método | BANK_TRANSFER |
|---|---|
Moeda | ARS |
Mercado | Argentina |
Tipo de instrução | BANK_TRANSFER |
Campos obrigatórios
Valide estes campos no seu backend antes de chamar a API. Não envie credenciais LeonaPay ao navegador.
| payer.name | Nome completo |
|---|---|
payer.email | E-mail válido |
payer.taxId | Documento |
payer.documentType | CUIT, CUIL ou DNI |
Criar pagamento Transferência bancária Argentina
Envie
POST /api/v2/payments com uma chave idempotency-key UUID exclusiva.curl --request POST \
+ --url https://api.leonapay.com.br/api/v2/payments \
+ --header 'Accept: application/json' \
+ --header 'Content-Type: application/json' \
+ --header 'x-api-key: {your_api_key}' \
+ --header 'idempotency-key: {unique_uuid_per_payment}' \
--data '{"method":"BANK_TRANSFER","currency":"ARS","amount":20000.90,"reference":"pedido-ar-123","payer":{"name":"Ana López","email":"ana@exemplo.com","taxId":"20123456789","documentType":"CUIT"}}'Resposta inicial completa
Persista
data.id, status, method, currency e todas as instruções retornadas.{"success":true,"onpayCode":"ONP201","data":{"id":"pay_01J...","status":"PENDING","method":"BANK_TRANSFER","currency":"ARS","amount":20000.90,"nextAction":{"type":"BANK_TRANSFER","accountNumber":"0000085700273809979389","beneficiary":"LeonaPay ARGENTINA","bankName":"Banco local"}}}Tempo das instruções
Os dados bancários podem ser entregues na criação ou posteriormente na consulta da mesma transação. Preserve a idempotência enquanto aguarda.
Estados e webhook
A resposta inicial não comprova liquidação. Valide a assinatura HMAC sobre o corpo bruto, responda 2xx rapidamente e processe cada
event.id uma única vez.| Status | Ação |
|---|---|
PENDING | Aguardar instrução ou confirmação |
ACTION_REQUIRED | Entregar a ação ao pagador |
PAID | Liberar o pedido uma única vez |
FAILED | Encerrar a tentativa |
EXPIRED | Não reutilizar a instrução |
REFUNDED | Registrar devolução/reversão |
{"id":"evt_01J...","event":"payment.paid","occurredAt":"2026-09-22T18:32:10Z","data":{"id":"pay_01J...","reference":"pedido-123","status":"PAID","method":"BANK_TRANSFER","currency":"ARS","amount":125.90}}Conciliação
Concilie pelo ID LeonaPay, reference e referência bancária do evento assinado. A moeda da carteira é ARS; BANK_TRANSFER é o método.
Erros e retentativas
Corrija respostas
ONP400 antes de uma nova tentativa. Em ONP429, ONP502 ou ONP503, use backoff com jitter e repita a mesma requisição com a mesma idempotência. Consulte o pagamento antes de criar outro.| Código | Ação |
|---|---|
ONP400_* | Corrigir o campo indicado |
ONP409_IDEMPOTENCY_CONFLICT | Não reutilizar UUID com conteúdo diferente |
ONP422_BANK_TRANSFER_REJECTED | Revisar os dados e iniciar nova tentativa |
ONP503_BANK_TRANSFER_TEMPORARILY_UNAVAILABLE | Retentar com a mesma idempotência |
Como simular o resultado no Sandbox
Crie o pagamento usando a chave e a Base URL do Sandbox. PIX, boleto, SPEI, MB WAY, transferências bancárias, PSE, Nequi e Bre-B permanecem aguardando até você enviar o resultado desejado ao endpoint de simulação. Use o ID retornado na criação do pagamento.
Troque PAID por FAILED ou EXPIRED para testar os outros cenários. A simulação aceita somente pagamentos da mesma empresa e do ambiente Sandbox.
| Status | Resultado simulado |
|---|---|
PAID | Pagamento confirmado e webhook payment.paid emitido |
FAILED | Pagamento recusado e webhook payment.failed emitido |
EXPIRED | Cobrança expirada e webhook payment.expired emitido |
curl --request POST \
--url https://sandbox.api.leonapay.com.br/api/v2/simulations/payments/{paymentId} \
--header 'x-api-key: {sandbox_api_key}' \
--header 'Content-Type: application/json' \
--data '{"status":"PAID"}'