Após a criação de uma transação PIX (seja ela cash in ou cash out) é fundamental simular sua transição para os estados finais. Essas transições acionam chamadas de webhook e permitem que você teste adequadamente as chamadas de eventos assíncronos.
Se você não estiver familiarizado com nossa abordagem de webhook para atualizações assíncronas, consulte a seção Eventos assíncronos.
A seguir, apresentamos um conjunto de exemplos de solicitações úteis para ajudá-lo a conseguir isso.
Competando uma Transação
Endpoint de Referência
POST /sandbox/transactions/complete/{transactionId}
Este endpoint permite simular o pagamento bem-sucedido de uma transação PIX, fornecendo o transactionId
criado. Para os exemplos abaixo, considere o id da transação 4494a26c-4f21-400a-bbe7-cbef6ea7c3c3
.
- Resposta da Request (
200 - OK
)
{
"statusCode": "Done",
"data": {
"transactionId": "4494a26c-4f21-400a-bbe7-cbef6ea7c3c3",
"transactionState": "Completed"
}
}
- Payload do Evento de Webhook
{
"id": "4494a26c-4f21-400a-bbe7-cbef6ea7c3c3",
"transactionState": "Completed",
"transactionDate": "2023-08-04T14:45:34.150Z",
"transactionOrderId": "in-1414870875-158709817091784",
"transactionReceipt": "https://api.sandbox.paybrokers.solutions/v1/system/e-receipt/4494a26c-4f21-400a-bbe7-cbef6ea7c3c3/receipt.pdf",
"transactionReceiptDate": "2023-08-04T14:45:39.047Z",
"transactionReceiptVoucher": "D6BE9C802C7846029269C485FE23060C",
"transactionAmount": "50.000000",
"transactionType": "Credit",
"transactionPaymentType": "PIX",
"stateRegisteredDate": "2023-08-04T14:45:34.332Z",
"stateCompletedDate": "2023-08-04T14:45:39.150Z",
"stateCancelledDate": null,
"stateRefundDate": null,
"stateErrorDate": null,
"stateErrorCause": null,
"webhookUrl": "https://postman-echo.com/post?test=1",
"payer": {
"name": "CRISTINA INACIO OLIVEIRA DA CONCEICAO",
"taxNumber": "14435549603",
"bankCode": "999",
"bankName": null,
"accountAgency": "99999",
"accountNumber": "99999",
"accountDigit": "9"
},
"recipient": {
"name": "PayBrokers Cobrança e Serviço em Tecnologia Ltda",
"taxNumber": "46261360000148",
"bankCode": "999",
"bankName": "SANDBOX",
"accountAgency": "99999",
"accountNumber": "99999",
"accountDigit": "9"
}
}
Erro de Transação
Endpoint de Referência
POST /sandbox/transactions/error/{transactionId}
Este endpoint permite simular um erro no pagamento de uma transação PIX, fornecendo o transactionId
criado. Para os exemplos abaixo, considere o ID da transação 169717bb-65b3-4551-a107-080839ac995e
.
- Resposta da Request (
200 - OK
)
{
"statusCode": "Done",
"data": {
"transactionId": "169717bb-65b3-4551-a107-080839ac995e",
"transactionState": "Error",
"stateErrorCause": "PaymentProcessingError"
}
}
- Payload de Evento do Webhook
{
"id": "169717bb-65b3-4551-a107-080839ac995e",
"transactionState": "Error",
"transactionDate": "2023-08-04T14:45:34.150Z",
"transactionOrderId": "in-1414870875-158709817091784",
"transactionReceipt": null,
"transactionReceiptDate": null,
"transactionReceiptVoucher": null,
"transactionAmount": "50.000000",
"transactionType": "Credit",
"transactionPaymentType": "PIX",
"stateRegisteredDate": "2023-08-04T14:45:34.332Z",
"stateCompletedDate": null,
"stateCancelledDate": null,
"stateRefundDate": null,
"stateErrorDate": "2023-08-04T14:45:39.150Z",
"stateErrorCause": "PaymentProcessingError",
"webhookUrl": "https://postman-echo.com/post?test=1",
"payer": null,
"recipient": null,
}
Cancelamento de Transação
Endpoint de Referência
POST /sandbox/transactions/cancel/{transactionId}
Este endpoint permite que você cancele uma transação PIX, fornecendo o transactionId
. Para o exemplo abaixo, considere o ID da transação 169717bb-65b3-4551-a107-080839ac995e
.
- The Request Response (
200 - OK
)
{
"statusCode": "Done",
"data": {
"transactionId": "169717bb-65b3-4551-a107-080839ac995e",
"transactionState": "Cancelled"
}
}
- The Webhook Event Payload
{
"id": "169717bb-65b3-4551-a107-080839ac995e",
"transactionState": "Cancelled",
"transactionDate": "2023-08-04T14:45:34.150Z",
"transactionOrderId": "in-1414870875-158709817091784",
"transactionReceipt": null,
"transactionReceiptDate": null,
"transactionReceiptVoucher": null,
"transactionAmount": "50.000000",
"transactionType": "Credit",
"transactionPaymentType": "PIX",
"stateRegisteredDate": "2023-08-04T14:45:34.332Z",
"stateCompletedDate": null,
"stateRefundDate": null,
"stateCancelledDate": "2023-08-04T14:45:39.150Z",
"stateErrorDate": null,
"stateErrorCause": null,
"webhookUrl": "https://postman-echo.com/post?test=1",
"payer": null,
"recipient": null,
}
Reversão de Transação
Endpoint de Referência
POST /sandbox/transactions/reverse/{transactionId}
Este endpoint permite que você simule a reversão de uma transação PIX, fornecendo o transactionId
. Para o exemplo abaixo, considere o ID da transação 169717bb-65b3-4551-a107-080839ac995e
.
- The Request Response (
200 - OK
)
{
"statusCode": "Done",
"data": {
"transactionId": "169717bb-65b3-4551-a107-080839ac995e",
"transactionState": "Reverted"
}
}
- The Webhook Event Payload
{
"id": "169717bb-65b3-4551-a107-080839ac995e",
"transactionState": "Reverted",
"transactionDate": "2023-08-04T14:45:34.150Z",
"transactionOrderId": "in-1414870875-158709817091784",
"transactionReceipt": null,
"transactionReceiptDate": null,
"transactionReceiptVoucher": null,
"transactionAmount": "50.000000",
"transactionType": "Credit",
"transactionPaymentType": "PIX",
"stateRegisteredDate": "2023-08-04T14:45:34.332Z",
"stateCompletedDate": null,
"stateRefundDate": null,
"stateRevertedDate": "2023-08-04T14:45:39.150Z",
"stateCancelledDate": null,
"stateErrorDate": null,
"stateErrorCause": null,
"webhookUrl": "https://postman-echo.com/post?test=1",
"payer": null,
"recipient": null,
}
Sobre reuso de transações
Note que o ambiente de Sandbox impede que transações que alcançaram estados finais sejam alteradas. Ou seja, se você completou uma transação, não é possível usar o mesmo transactionId para o endpoint de erro, por exemplo.
Tentativas de gerar transições inválidas de estado retornam o
Error 409 - Conflict
.