Simular Pagamento PIX

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.