PIX charge (BRL)

API Documentation · Zypher Global

Generate credentials

POST /cashin · "currency": "BRL"

Single route for all currencies, the currency is set by the currency field (default BRL). The amount field decides the MODE: com amount = DYNAMIC charge (fixed amount per charge); sem amount = your FIXED PIX KEY (open amount, the payer chooses how much).

Dynamic charge (by amount)

Send amount → we return a FIXED-AMOUNT PIX QR for THAT payment. Each charge is unique and disappears once paid/expired. It is the day-to-day flow (checkout, single order).

Body
{
  "currency": "BRL",
  "amount": 123.45,
  "name": "Cliente Pix",
  "document": "12345678900",
  "description": "Pedido #123",
  "external_id": "PEDIDO-123",
  "webhook_url": "https://seusistema.com/webhooks/zypherglobal",
  "splits": [
    { "username": "usuario1", "percentage": 10 },
    { "username": "usuario2", "percentage": 5 }
  ]
}
Response
{
  "ok": true,
  "qr_img": "data:image/png;base64,...",
  "copyPaste": "000201...",
  "code": "...",
  "request_number": "pr_...",
  "transaction_id": "pr_..."
}

Query later by request_number (a single payment). See Query Transactions.


Fixed PIX key (open amount · static)

Call the SAME route /cashin WITHOUT the amount field → we return an OPEN-AMOUNT QR (the payer chooses how much to pay). EACH call generates a NEW QR (its own copy-paste) bound to the external_id that YOU send. Authentication, KYC and account are the same as the normal cash-in.
Body
{
  "currency": "BRL",
  "external_id": "PEDIDO-123",
  "webhook_url": "https://seusistema.com/webhooks/zypherglobal",
  "splits": [
    { "username": "usuario1", "percentage": 10 }
  ]
}
Response
{
  "ok": true,
  "static": true,
  "open_value": true,
  "external_id": "PEDIDO-123",
  "copyPaste": "00020126580014br.gov.bcb.pix...",
  "qr_url": "https://quickchart.io/qr?text=...",
  "transaction_id": "acc000094602601"
}
  • The external_id is YOURS (you send it, we do NOT generate it). It is bound to the QR and comes back in the webhook. Since each call generates a new QR, create ONE per order → per-order tracking.
  • Reused the SAME QR across several payments? They all return with the SAME external_id, reconcile by e2e (unique per payment). The credit is always individual (anti-duplicate lock by e2e).
  • The origin: "static" field distinguishes this flow from the dynamic QR in the webhook.

Reselling to your own clients? The external_id is the order in YOUR system, the amount lands in your balance and you relay the webhook to the end client.

Splits, webhook and queries work the same in both modes: Splits (pass-through) · Webhooks · Query Transactions.
Was this page helpful?