DinaPay · Payments API

One integration.
Connect LatAm.

Collections and payouts over each country’s local rails, with automatic real-time reconciliation and cross-border settlement in USDT/USDC. Your platform talks to one API; we operate the banking rails.

One payment, end to end
Pay-in PIX R$ 5.000,00
Reconciled automatic match
Settlement USDT 912.40
The flow

Your payment flow, centralized

Four steps, all via API and all announced by signed webhooks.

Collect

Your user deposits in their local currency: CBU/CVU bank transfer in Argentina, PIX in Brazil — via a static key or a per-order dynamic QR.

Reconcile

Every payment identifies and attributes itself: matched by CUIT/DNI + amount in Argentina, or guaranteed 1:1 by the QR in Brazil. You get a webhook.

Pay out

Payouts to any CBU or alias (holder auto-resolved) and any PIX key. Balance debits instantly; status arrives by webhook.

Settle

Cross-border settlement in USDT/USDC to your wallet, with synchronous conversion and the confirmed rate in the same response.

Coverage

One continent, one integration

Local rails per country, the same payments-and-payouts model everywhere.

Argentina

Live

CBU / CVU · bank transfers

Brazil

Live

PIX · dynamic QR + transfer

Mexico

Live

SPEI

Colombia

Live

PSE · Bre-B · cards

Peru

Live

Yape · Plin · CCI · cards

Uruguay

Live

Transfers · wallets

Chile

Coming soon

Transfers · wallets

Bolivia

Coming soon

Transfers · QR

The integration

Collect, confirm and pay — in real code

REST API with an Idempotency-Key on every POST, signed webhooks (HMAC-SHA256 + anti-replay timestamp) and at-least-once delivery.

api.dinaria.com
# Pay-in — collect R$ 100 with a dynamic PIX QR
curl -X POST https://api.dinaria.com/payments \
  -H "Authorization: Bearer di_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{ "amount": "100.00", "currency": "BRL", "paymentMethod": "pix_qr",
        "customer": { "name": "João Silva", "documentNumber": "12345678901" } }'
# → paymentData.qrCodeBase64  (ready for <img src="data:image/png;base64,...">)

# Webhook — the payment confirmed
{ "transactionId": "f90c7c31-...", "status": "confirmed",
  "receivedAmount": "100.00", "currency": "BRL" }

# Pay-out — send ARS 200 to an alias
curl -X POST https://api.dinaria.com/payouts \
  -d '{ "amount": "200.00", "currency": "ARS",
        "destination": { "identifierType": "alias_cbu",
                         "identifierValue": "mialiascbu" } }'

# Settlement — BRL → USDT on-chain (synchronous)
curl -X POST https://api.dinaria.com/payouts \
  -d '{ "amount": "1000.00", "currency": "BRL",
        "destination": { "identifierType": "tron_address",
                         "identifierValue": "TUcVE7YG...", "settlement": "D0" } }'
# → status: completed · exchangeRate: 5.72 · destinationAmount: 174.825874 USDT
  • Pay-in

    POST /payments returns the instructions: CBU + reference in Argentina, a PIX QR ready for <img> in Brazil.

  • The match

    The incoming transfer binds itself to the order — by CUIT/DNI + amount (with optional allowOverUnder tolerance), or by the QR’s embedded externalId.

  • Confirmation

    The payment confirmed webhook carries receivedAmount and the banking-system ID. Don’t fulfil on started: wait for confirmed.

  • Pay-out

    POST /payouts to a CBU, an alias (holder auto-resolved) or a PIX key. States pending → processing → completed.

Stablecoins

Settle in USDT, instantly

Cross-border settlement leaves your balance and lands on-chain — no exchanges, no exposed keys.

Synchronous conversion

BRL → USDT executes in the same call: the response returns completed with the confirmed rate and the exact amount credited. D0, D1 or D2 windows.

Indicative rate first

GET /payouts/rates prices it before you execute. If there’s a price, the market is open.

Your own blockchain access

Query TRX and TRC-20 balances, estimate cost with a dry-run and broadcast pre-signed transactions through Dinaria’s node — your private key never leaves your system.

Who it’s for

One infrastructure, every industry

Fintechs & wallets

Embed pay-in and pay-out in your app.

Crypto exchanges

On/off-ramp with stablecoin settlement.

E-commerce

Improve your checkout conversion.

Marketplaces

Collect from buyers, pay your sellers.

Gaming

In-game purchases and top-ups.

SaaS & subscriptions

Recurring billing with automatic reconciliation.

Delivery & mobility

Collect from users, pay your fleet in real time.

Creator economy

Collect subscriptions, pay your creators.

FAQ

DinaPay FAQs

How are collections reconciled?

Automatically, in real time. In Argentina, the incoming transfer binds to the order by the payer’s CUIT/DNI + amount (with optional tolerance for rounding and bank fees). In Brazil, the dynamic QR embeds the order ID, guaranteeing a 1:1 match. Every confirmation arrives via signed webhook.

What’s the difference between DinaPay and Dinaria Connect?

DinaPay is the merchant’s collections-and-payouts API: the operating account is yours and your users simply pay and get paid. Connect issues global accounts in each of your clients’ own names (same-name USD/EUR, custody, holder KYC). Many platforms use both.

How does stablecoin settlement work?

Convert BRL balance to USDT in one call: execution is synchronous, the response returns completed with the confirmed rate, and the USDT is delivered on-chain to your wallet. You can check the indicative rate first and choose the settlement window (same-day, D1 or D2).

How long until production?

A typical integration is live in two weeks: commercial alignment and KYB, API integration against a multi-country test environment, and end-to-end validation before go-live.

Scale your operations.

Let’s set up a demo and tailor your integration. Live in two weeks.

Contact

We'll talk this week

Tell us what you need to move, in which corridors and at what volume. We respond within 24 business hours.