POST /v1/payments
From QR code to balance in seconds.
PIX, card and boleto charges in one API. A signed webhook on every status change, a ledger that records the balance after each entry, and PIX payouts straight from your balance.
POST /v1/payments
One charge. Three payment methods.
The same call creates PIX, card or boleto — headless, with method data in the response, or hosted, with the choice made in the browser.
Charge. POST /v1/payments with a required idempotency key. The response carries the QR code and copy-paste string, the boleto payment line, or the authorization status.
Reconcile. Twelve webhook events signed with HMAC and retried with exponential backoff. A ledger that stores the balance after every entry.
Pay out. PIX transfers to CPF, CNPJ, email, phone or random keys, with every status reported by webhook.
Hosted or headless — per charge.
The mode field decides: hosted returns a payment URL; headless returns method data for your own interface.
Complete payment
R$ 149.90
Scan to pay
Hosted checkout. mode: hosted returns a URL on checkout.yuvexpay.com. The payer picks the method and the charge advances by webhook — no frontend of yours in the path.
/pl/loja-verao-24
/pl/doacao-aberta
Payment links. Fixed or open amount with min and max, methods enabled per link, expiry and fee pass-through to the payer — created in the dashboard, no code.
Priced per transaction. Nothing for existing.
No monthly fee, no setup fee. The rates below are the platform defaults — every account carries its own table, and volume negotiates.
PIX
4.99% + R$ 0.20
per payment, net in your balance same-day
Credit card
4.99% + R$ 0.60
single payment, optional pre-authorization
Boleto
R$ 2.99
flat, per settled boleto
api.yuvexpay.com
A predictable API. Idempotency required on every write, stable error codes, and keys scoped per operation.
create-payment.js
const response = await fetch("https://api.yuvexpay.com/v1/payments", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.YUVEX_API_KEY}`,
"Content-Type": "application/json",
"X-Idempotency-Key": "order-1234-attempt-1",
},
body: JSON.stringify({
amount: 49.90,
methods: ["PIX"],
currency: "BRL",
mode: "headless",
description: "Order #1234",
externalId: "order-1234",
expiresInMinutes: 30,
customer: {
name: "Pedro Álvares Cabral",
email: "[email protected]",
},
}),
});
const { payment } = await response.json();response
{
"payment": {
"id": "5d0f8b6e-3a02-4f5b-9e1c-7c6a4a1b8c9d",
"txId": "PAY3f2a8b9c4e6d1f5a7b3c8d2e9f4a6b1c",
"amount": 49.90,
"feeAmount": 2.99,
"netAmount": 46.91,
"status": "NEW",
"paymentMethod": "PIX",
"currency": "BRL",
"description": "Order #1234",
"expiresAt": "2026-05-03T15:00:00.000Z",
"createdAt": "2026-05-03T14:30:00.000Z",
"methodData": {
"type": "PIX",
"pixCopyPaste": "00020126...",
"qrCodeBase64": "data:image/png;base64,...",
"qrCodeUrl": null
}
}
}