This page describes the possible responses when creating a Pix charge via the Deposit API
201 Created - Charge successfully created
201 Created - Charge successfully createdThe request was processed successfully. The Pix QR Code is available for payment. Once payment is confirmed, a webhook will be triggered automatically to your configured URL.
{
"e2eId": "",
"pixImage": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPQAAD0CAYAAACsLwv+AAAAAklEQVR4Ae......",
"pixPayload": "00020101021226990014br.gov.bcb.pix1234pix.banco.com/qrs1/v2/01t5wyjYvOZmqjgB49jQfeUzAVMWTgoVJtWVtTb9Edg7yr49j520400005303986540534.765802BR5908XYZ6014Cidade62070503***63049624",
"status": "processing",
"value": 1000,
"client": "65fd142f29fc5fff93363a95",
"expiry": "2024-05-16T04:11:37.565Z",
"merchant": "6541413aac64324deecf8878",
"txid": "321548692220002",
"responseStatus": 201
}
Field reference
| Field | Type | Description |
|---|---|---|
e2eId | string | End-to-end identifier of the Pix transaction. Populated by the banking partner after payment confirmation. Returns empty ("") while status is processing. |
pixImage | string | QR Code as a Data URL (data:image/png;base64,...). Render it directly in an <img> tag to display to the payer. |
pixPayload | string | EMV Pix Copia e Cola payload, following the Brazilian Central Bank standard. Can be used as an alternative to the QR Code for manual payments. |
status | string | Current charge status. Initial value: "processing". Refer to the status reference for all possible values. |
value | integer | Charge amount in cents. Example: 1000 equals R$ 1000,00. |
client | string | ID of the client (payer) associated with the charge. |
expiry | string (ISO 8601) | QR Code expiration date and time. After this point, payment will no longer be accepted. |
merchant | string | ID of the merchant (recipient) that owns the charge. |
txid | string | Unique transaction identifier, defined in the request. Used for tracking and financial reconciliation. |
responseStatus | integer | HTTP status code of the response. Always 201 in this case. |
Note: The
pixImagefield returns a Base64 image string that can be quite large. Avoid storing it in logs or databases, prefer rendering it directly in the user interface.
400 Bad Request - Charge creation failed
400 Bad Request - Charge creation failedThe request was rejected. The message field describes the reason for the error.
All error responses follow the same envelope:
{
"name": "DepositCreateError",
"message": ["<error description>"]
}
Possible errors
| Message | Cause | How to resolve |
|---|---|---|
"Erro desconhecido. Caso persista, contate o suporte." | Unidentified internal failure. | Retry the request. If the error persists, contact technical support. |
"Identificador de transação já utilizado, favor utilizar outro." | The txid submitted was already used in another charge. | Generate a new unique txid before resubmitting the request. |
"O limite para geração de QR Codes foi excedido." | The merchant has reached the maximum number of active simultaneous charges. | Wait for existing charges to expire or be cancelled before creating new ones. |
Next steps: To receive real-time payment confirmation, configure a Webhook endpoint.