PIX_IN para processar cobranças PIX de forma simples e segura.
Esta página explica o ciclo de vida completo de uma transação PIX, incluindo as mudanças de status, os campos mais importantes da resposta e as melhores práticas para integrar os pagamentos.
O que é uma transação PIX
Uma transaçãoPIX_IN é uma solicitação de pagamento que gera dois recursos para o cliente:
- QR Code — imagem que pode ser escaneada pelo aplicativo bancário.
- Código Copia e Cola — código de texto que pode ser inserido manualmente no aplicativo bancário.
type: "PIX_IN".
Após o pagamento, a confirmação é recebida pela BukioPay e o status da transação é atualizado para COMPLETED.
Pagamentos PIX no Brasil normalmente são confirmados em segundos e funcionam 24 horas por dia, 7 dias por semana, incluindo feriados.
Ciclo de vida
Toda transação PIX possui um status que representa sua situação atual.
O fluxo mais comum é:
Campos importantes
Ao criar ou consultar uma transação, a API retorna os seguintes campos principais dentro do objetodata:
Exemplo de resposta
Exibindo o QR Code
O campopayment.qrcodeUrl contém uma Data URL completa e pode ser utilizado diretamente no atributo src de uma imagem:
payment.qrCodeBase64, adicione o prefixo data:image/png;base64,:
Quando
include_qr_image for false na criação da transação, os campos relacionados à imagem podem ser null. O campo payment.copyPaste continua disponível para pagamento.Exibindo o código Copia e Cola
Para facilitar o pagamento, exiba o código em um campo somente leitura com um botão de cópia:Consultando uma transação
Para consultar uma transação específica, utilize o UUID interno retornado emdata.id:
transaction.verify.
Cancelando uma transação
Para cancelar uma transação que ainda não foi concluída, utilize:transaction.create.
Confirmação por webhook
Utilize webhooks para receber atualizações em tempo real sobre a transação. Os principais eventos são:Use o evento
payment.paid como forma principal de confirmação. A consulta por GET /api/v1/transactions/:id deve ser utilizada para conferência e reconciliação, não para polling contínuo.Boas práticas
Confirme o pagamento antes de liberar o pedido
Confirme o pagamento antes de liberar o pedido
Nunca libere um produto, serviço ou acesso apenas porque a transação foi criada. Aguarde o evento
payment.paid ou confirme que o status retornado por GET /api/v1/transactions/:id é COMPLETED.Processe webhooks de forma idempotente
Processe webhooks de forma idempotente
O mesmo evento pode ser entregue novamente. Registre o identificador da entrega e ignore reprocessamentos para evitar liberar o mesmo pedido mais de uma vez.
Não faça polling contínuo
Não faça polling contínuo
Utilize webhooks para receber atualizações em tempo real. Consulte o endpoint de detalhes apenas quando precisar conferir ou reconciliar uma transação.
Não reutilize um código cancelado ou expirado
Não reutilize um código cancelado ou expirado
Após o cancelamento ou a expiração, não exiba novamente o mesmo código Copia e Cola. Crie uma nova transação para gerar um novo pagamento.
Não duplique uma criação com resultado incerto
Não duplique uma criação com resultado incerto
Se a criação retornar
PaymentCreationUnknown, a cobrança pode ter sido criada e permanecerá em reconciliação. Consulte a transação retornada em data.id e não crie outra imediatamente.Pronto para começar? Consulte a referência completa dos endpoints de Transações PIX. Ver endpoint para criar uma Transação PIX →
