Skip to main content

Create PIX charge

POST/api/v1/bank/wallet/charge/pix/Bearer Token

Request headers

HeaderValueRequired
AuthorizationBearer {A55_ACCESS_TOKEN}Yes
Content-Typeapplication/jsonYes
Idempotency-KeyUUID v4Recommended

Request body

FieldTypeRequiredDescription
wallet_uuidstring (UUID)YesWallet that receives the funds
merchant_idstring (UUID)YesMerchant identifier
payer_namestringYesPayer full name
payer_emailstringYesPayer email address
payer_tax_idstringYesCPF or CNPJ (e.g., 123.456.789-09)
payer_cell_phonestringYesMobile phone with country code
amountnumberYesCharge amount in BRL (e.g., 100.00)
currencystringYesMust be BRL
due_datestringYesExpiration date YYYY-MM-DD
descriptionstringYesCharge description shown to the payer
webhook_urlstringNoOverride default webhook URL
payer_addressobjectYesBilling address (street, city, state, postal_code)

Response fields

FieldTypeDescription
charge_uuidstringUnique charge identifier
statusstringissued — waiting for payer to scan QR
pix_payloadobjectPIX payment data
pix_payload.qr_code_base64stringBase64-encoded PNG of the QR code
pix_payload.copy_pastestringEMV copy-paste string (pix copia e cola)
pix_payload.expirationstringQR code expiration ISO 8601 timestamp
local_currencynumberAmount in BRL
charge_payment_urlstringHosted payment page URL
Rendering the QR code

Decode qr_code_base64 and display it as an <img> tag:

<img src="data:image/png;base64,{qr_code_base64}" alt="PIX QR Code" width="250" />

Alternatively, show the copy_paste string so the payer can paste it in their banking app.


HTTP status codes

StatusDescription
200PIX charge created — QR code returned
400Invalid request body or missing required fields
401Invalid or expired Bearer token
403Insufficient permissions for this wallet
404Wallet not found
422Validation error (invalid CPF, currency not BRL)
429Rate limit exceeded
500Internal server error — retry with exponential backoff

Code examples

curl -s -X POST https://core-manager.a55.tech/api/v1/bank/wallet/charge/pix/ \
-H "Authorization: Bearer $A55_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 660e8400-e29b-41d4-a716-446655440001" \
-d '{
"wallet_uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"merchant_id": "11111111-1111-1111-1111-111111111111",
"payer_name": "Ana Costa",
"payer_email": "ana@example.com",
"payer_tax_id": "111.222.333-44",
"payer_cell_phone": "+5521977777777",
"amount": 149.90,
"currency": "BRL",
"due_date": "2026-12-31",
"description": "Order #100 — PIX",
"webhook_url": "https://your-app.com/webhooks/a55",
"payer_address": {
"street": "Av. Rio Branco",
"address_number": "200",
"complement": "Sala 301",
"neighborhood": "Centro",
"city": "Rio de Janeiro",
"state": "RJ",
"postal_code": "20040-002",
"country": "BR"
}
}'

Error response example

{
"charge_uuid": null,
"status": "error",
"message": [
{
"code": "INVALID_TAX_ID",
"source": "validation",
"description": "payer_tax_id is not a valid CPF or CNPJ"
}
]
}