Accept the payment methods that move your customers.

Pix, boleto, SPEI, PSE, Bre-B, OXXO, and cards through one API. Real-time confirmation, automatic FX at execution, and reconciliation that lands in your ledger before the customer hangs up.

Three capabilities, one endpoint.

Every local method.

Pix and boleto in Brazil; SPEI, OXXO, and cards in Mexico; PSE and Bre-B in Colombia; cards and ACH in the US.

Real-time confirmation.

Webhooks fire the instant a Pix or SPEI payment clears. No polling.

FX at execution.

Receive in BRL, settle in USD or stablecoin — converted at the moment funds arrive.

Methods and rails, market by market.

Country Real-time rails Other methods
🇧🇷 Brazil Pix · Pix Automático Boleto · TED · credit/debit cards (incl. recurring)
🇲🇽 Mexico SPEI OXXO cash · credit/debit cards (incl. recurring)
🇨🇴 Colombia PSE · Bre-B Bank transfer · cards
🇺🇸 United States FedNow / RTP ACH · Wire Coming soon · cards

From initiate to settled, in four steps.

Pay-in runs the same flow across every market. No per-country logic in your codebase.

Step 01
Initiate

Initiate the payment via the ATTRUS API or a hosted checkout.

Step 02
Pay

The customer pays using the chosen local method.

Step 03
Confirm

We confirm in real time via webhook and credit your local account.

Step 04
Settle

FX executes (if you want it) and the settled balance lands where you choose.

One endpoint. Every local method.

Pay-in runs as a single REST endpoint per payment method. Idempotency keys, webhooks on every state change, SDKs in Node, Python, Go, and Java.

See the full API reference

POST /v1/pay-ins
$ curl -X POST https://api.attrus.com/v1/pay-ins \
  -H "Authorization: Bearer $ATTRUS_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "amount": 25000,
    "currency": "BRL",
    "method": "pix",
    "settle_in": "USD",
    "merchant_reference": "INV-90211"
  }'

Built for both sides of the table.

For finance and treasury teams.

Receive in local currency, settle in dollars, reconcile transaction-by-transaction in one ledger view.

For platform and engineering teams.

One endpoint per method. Idempotent. Webhooks. SDKs.

Why companies choose Pay-in with ATTRUS.

Three reasons that compound across every market we serve.

Talk to an expert
01
Real local infrastructure.

Pay-in lands directly in our Bacen-authorized entity in Brazil and on locally compliant frameworks in Mexico and Colombia. No aggregator layer between you and the rail.

02
Confirmation that doesn't wait.

Pix and SPEI clear in seconds. Webhooks fire the instant the payment lands — no polling, no second-day reconciliation.

03
Built-in FX, not a separate step.

Convert at execution and settle in USD or stablecoin without round-tripping through correspondent banking.

Regulated where Pay-in lands.

Brazilian Pay-in operates under our Bacen authorization (SISBACEN code 00141). Mexico and Colombia run on locally compliant sponsor-institution frameworks.

Read our full compliance posture

Ready to accept local payments?

Talk to our team and get a tailored setup.