Ambiente de simulação — nenhuma cobrança real. Os pagamentos, Pix e cartões deste sandbox são sintéticos.
W Wolf Sandbox Docs Criar conta
Navegação

Pix simulado

O Pix do Wolf Sandbox segue o fluxo assíncrono de um Pix real — QR Code, espera, confirmação por evento do provedor e vencimento — sem banco nem dinheiro de verdade.

Fluxo

  1. Crie o PaymentIntent com "pix" em payment_method_types.
  2. Confirme com {"payment_method": {"type": "pix"}}: a resposta é 202 com status: "processing" e next_action. Mostre o QR (gerado a partir de qr_code_payload) e o vencimento ao comprador. O evento payment.processing traz expires_at.
  3. “Pague”: chame POST /v1/simulator/payment-intents/{id}/pix/pay ou use o botão Simular pagamento do checkout hospedado.
  4. A Wolf processa o evento de provedor pix.paid numa única transação: PaymentIntent succeeded, Charge, lançamento no ledger e eventos. O pedido ligado vira paid e a sessão de checkout, completed — cada um exatamente uma vez. O webhook payment.paid segue para os seus endpoints.

A próxima ação

Objeto PaymentNextAction

PaymentNextAction

Resposta 202 de /v1/payment-intents/{id}/confirm json
{
  "id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
  "order_id": null,
  "amount_minor": "9900",
  "currency": "BRL",
  "provider_id": "simulator",
  "failure_code": null,
  "payment_method_types": [
    "pix",
    "card"
  ],
  "description": "Curso de fotografia",
  "metadata": {
    "pedido_interno": "A-1001"
  },
  "payer": {
    "name": "Ana Compradora",
    "email": "ana@example.com",
    "phone": "+5511987654321",
    "document": {
      "type": "cpf",
      "last2": "25"
    }
  },
  "cancellation_reason": null,
  "status": "processing",
  "latest_provider_attempt_id": "pat_5d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a",
  "payment_method_type": "pix",
  "next_action": {
    "type": "pix_qr",
    "qr_code_payload": "00020101021226780014br.gov.bcb.pix0120SIMULADO-NAO-PAGAVEL0232SIMULADO - NENHUMA COBRANCA REAL520400005303986540599.005802BR5921WOLF SANDBOX SIMULADO6009SAO PAULO62290525SIMULADO3b9f0c2d1e4a5b6c76304726B",
    "expires_at": "2026-11-06T12:30:00.000Z"
  },
  "expires_at": "2026-11-06T12:30:00.000Z"
}

Vencimento

  • O Pix vence 30 minutos depois da confirmação (expires_at).
  • Sem pagamento até lá, a varredura automática (em até cerca de 2 minutos após o vencimento) cancela o PaymentIntent com cancellation_reason: "expired" e emite payment.canceled. Nada é lançado no ledger.
  • Simular o pagamento de um Pix vencido ou cancelado responde 409 INVALID_STATE_TRANSITION. Para cobrar de novo, crie outro PaymentIntent.
  • Simular de novo um Pix já pago não faz nada: o PaymentIntent continua succeeded, sem segunda cobrança.

No checkout hospedado

O comprador escolhe Pix, informa nome, e-mail e (opcionalmente) CPF, vê o QR sintético com contagem regressiva e pode clicar em Simular pagamento. A página acompanha o estado e mostra a confirmação com os ids do pedido e do pagamento. Veja Payment Links.