Response

This page describes the possible responses when creating a Pix charge via the Deposit API

201 Created - Charge successfully created

The 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

FieldTypeDescription
e2eIdstringEnd-to-end identifier of the Pix transaction. Populated by the banking partner after payment confirmation. Returns empty ("") while status is processing.
pixImagestringQR Code as a Data URL (data:image/png;base64,...). Render it directly in an <img> tag to display to the payer.
pixPayloadstringEMV Pix Copia e Cola payload, following the Brazilian Central Bank standard. Can be used as an alternative to the QR Code for manual payments.
statusstringCurrent charge status. Initial value: "processing". Refer to the status reference for all possible values.
valueintegerCharge amount in cents. Example: 1000 equals R$ 1000,00.
clientstringID of the client (payer) associated with the charge.
expirystring (ISO 8601)QR Code expiration date and time. After this point, payment will no longer be accepted.
merchantstringID of the merchant (recipient) that owns the charge.
txidstringUnique transaction identifier, defined in the request. Used for tracking and financial reconciliation.
responseStatusintegerHTTP status code of the response. Always 201 in this case.

Note: The pixImage field 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

The 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

MessageCauseHow 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.