Simular pagamentos

Dados de teste do sandbox para forçar cada resultado e cada webhook.

No sandbox nenhum dinheiro se move. O resultado de um pagamento é decidido pelo CPF (Pix) ou pelo número do cartão que você usar no checkout. Assim você testa o caminho feliz e cada falha sem depender de ninguém.

Use as credenciais de sandbox

Tudo aqui vale para https://sandbox.xpayz.us/payment-link. Em produção esses dados são tratados como pagamentos reais e serão recusados.

Como funciona

  1. 1
    Crie um link
    POST /links no sandbox. Guarde a url devolvida.
  2. 2
    Pague com um dado de teste
    Abra a url e use um CPF ou cartão desta página.
  3. 3
    Receba os webhooks
    event.created na hora, o evento final entre 3 e 5 segundos depois.

Antes, cadastre um webhook assinando os tópicos que quer ver (veja o Começo rápido). Um endpoint do webhook.site é suficiente para testar.

Pix

Gere o QR Code no checkout informando um destes CPFs como documento do pagador. Não é preciso pagar o QR Code: o sandbox simula o resultado sozinho.

event.completedstatus: done

Pagamento aprovado. Libere o pedido.

event.cancelledstatus: cancelled

Pagamento cancelado antes de concluir.

event.expiredstatus: expired

O QR Code expirou sem pagamento.

event.rejectedstatus: rejected

Pagamento recusado.

Cartão de crédito

Use um destes números no checkout. Validade: qualquer data futura. CVV: quaisquer 3 dígitos. Nome: qualquer um.

event.completedstatus: done

Pagamento aprovado. Libere o pedido.

event.cancelledstatus: cancelled

Pagamento cancelado antes de concluir.

event.expiredstatus: expired

O pagamento expirou.

event.rejectedstatus: rejected

Pagamento recusado.

Clique em um valor para copiar. CPFs e cartões são copiados só com os dígitos.

O que você deve receber

Todo pagamento iniciado emite event.created assim que o pagador confirma no checkout. Depois chega um, e só um, evento final:

event.completed (Pix com 000.000.001-91)
{
  "topic": "event.completed",
  "data": {
    "external_id": "0d4ba8f5-bbc6-4cbb-ae65-13de2f903271",
    "amount": "100",
    "currency": "BRL",
    "status": "done",
    "method": "pix",
    "payer": { "name": "John Doe", "email": "john@example.com", "document": "***.000.001-**" },
    "link": { "external_id": "b3e1c2d4-5f67-4890-9abc-1234567890ab", "external_ref": "pedido-123" }
  }
}
CenárioEventos, em ordemdata.status final
Aprovadoevent.created → event.completeddone
Canceladoevent.created → event.cancelledcancelled
Expiradoevent.created → event.expiredexpired
Recusadoevent.created → event.rejectedrejected

Checklist antes de ir para produção

  • Seu endpoint responde 2xx em menos de 30 segundos.
  • Você valida o X-Signature e rejeita assinaturas inválidas.
  • Receber o mesmo evento duas vezes não libera o pedido duas vezes.
  • Os quatro cenários acima levam o pedido ao estado certo no seu sistema.
  • Um link de uso único (single_use: true) recusa um segundo pagamento.
  • Você trocou as credenciais e a URL base para as de produção.

Nesta página