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

Referência da API

Public Checkout

Rotas públicas usadas pelo checkout hospedado (sem API key): ler a sessão, registrar os dados do comprador (etapa 1), pagar, simular o Pix e abrir um Payment Link.

get/v1/public/checkout-sessions/{id}

Ler sessão pública (polling) (getPublicCheckoutSession)

Visão do comprador: nome público do seller, produto e descrição, suporte e garantia do produtor (guarantee_days), métodos aceitos pela oferta, valor, estado da sessão e do pagamento atual. access_links (links de entrega com o domínio) vem preenchido só depois do pagamento aprovado; antes é null. bumps lista os order bumps ativos da oferta (vazio com CHECKOUT_BUMPS_ENABLED desligado) e, depois da primeira tentativa de pagamento, order traz o pedido com seus itens e selected_bump_ids a seleção fixada. Nunca o id do seller. Sessão vencida responde 200 com status: "expired"; segredo errado → 404.

  • Autenticação: pública (sem Authorization)
  • URL: https://api.v2.wolfpayteste.online/v1/public/checkout-sessions/{id}

Parâmetros

NomeOndeTipoDetalhes
idobrigatório caminho string

Id da sessão (cs_...).

mínimo 1 caractere(s)

x-checkout-secretobrigatório cabeçalho string

client_secret (csec_...) da sessão. O checkout hospedado o guarda em cookie httpOnly e o envia pelo servidor.

Começa com csec_

Resposta 200

Sessão.

Objeto PublicCheckoutSession

Resposta 200 de getPublicCheckoutSession
Campo Tipo Detalhes
id obrigatório string

Começa com cs_

offer_id obrigatório string

Começa com off_

amount_minor obrigatório string
currency obrigatório string

Padrão ^[A-Z]{3}$

status obrigatório string

Valores: open, completed, expired

payment_intent_id obrigatório string | null
expires_at obrigatório string
seller obrigatório object
seller.display_name obrigatório string

mínimo 1 caractere(s)

product obrigatório object
product.name obrigatório string

mínimo 1 caractere(s)

product.description obrigatório string | null
support obrigatório object | null
support.name obrigatório string | null
support.email obrigatório string | null
support.whatsapp obrigatório string | null
guarantee_days obrigatório integer

de 0 a 30

accepted_methods obrigatório string[]

Valores: pix, card

1 a 2 itens

access_links obrigatório object[] | null
access_links.label obrigatório string
access_links.url obrigatório string
access_links.host obrigatório string
payment obrigatório CheckoutPayment | null
bumps obrigatório object[]
bumps[].id obrigatório string

Padrão ^ob_[A-Za-z0-9]{1,64}$

bumps[].headline obrigatório string
bumps[].description obrigatório string
bumps[].product_name obrigatório string
bumps[].amount_minor obrigatório string
bumps[].currency obrigatório string

Padrão ^[A-Z]{3}$

order obrigatório object | null
order.id obrigatório string

Começa com ord_

order.amount_minor obrigatório string
order.currency obrigatório string

Padrão ^[A-Z]{3}$

order.items obrigatório object[]
order.items[].kind obrigatório string

Valores: main, bump

order.items[].bump_id obrigatório string | null
order.items[].product_name obrigatório string
order.items[].amount_minor obrigatório string
order.items[].currency obrigatório string

Padrão ^[A-Z]{3}$

selected_bump_ids obrigatório string[]

Padrão ^ob_[A-Za-z0-9]{1,64}$

Exemplo de resposta 200 json
{
  "id": "cs_2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f",
  "offer_id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
  "amount_minor": "9900",
  "currency": "BRL",
  "status": "open",
  "payment_intent_id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
  "expires_at": "2026-11-06T12:30:00.000Z",
  "seller": {
    "display_name": "Estúdio Exemplo"
  },
  "product": {
    "name": "Curso de fotografia",
    "description": "Do básico à edição: 40 aulas gravadas e exercícios práticos."
  },
  "support": {
    "name": "Equipe Estúdio Exemplo",
    "email": "suporte@example.com",
    "whatsapp": "+5511912345678"
  },
  "guarantee_days": 7,
  "accepted_methods": [
    "pix",
    "card"
  ],
  "access_links": null,
  "payment": {
    "id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
    "order_id": "ord_0f1e2d3c4b5a69788796a5b4c3d2e1f0",
    "status": "processing",
    "amount_minor": "12600",
    "currency": "BRL",
    "failure_code": null,
    "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"
    },
    "cancellation_reason": null
  },
  "bumps": [
    {
      "id": "ob_7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a",
      "headline": "Adicionar à compra: Guia bônus",
      "description": "Checklist em PDF com 40 poses para ensaios.",
      "product_name": "Guia bônus de poses",
      "amount_minor": "2700",
      "currency": "BRL"
    }
  ],
  "order": {
    "id": "ord_0f1e2d3c4b5a69788796a5b4c3d2e1f0",
    "amount_minor": "12600",
    "currency": "BRL",
    "items": [
      {
        "kind": "main",
        "bump_id": null,
        "product_name": "Curso de fotografia",
        "amount_minor": "9900",
        "currency": "BRL"
      },
      {
        "kind": "bump",
        "bump_id": "ob_7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a",
        "product_name": "Guia bônus de poses",
        "amount_minor": "2700",
        "currency": "BRL"
      }
    ]
  },
  "selected_bump_ids": [
    "ob_7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a"
  ]
}

Erros

post/v1/public/checkout-sessions/{id}/lead

Registrar os dados do comprador (etapa 1) (captureCheckoutLead)

Chamado pelo servidor do checkout hospedado quando o comprador conclui a etapa 1 (dados), que mostra o aviso "Usaremos seu e-mail e telefone para te ajudar a concluir a compra.". Um registro por sessão: repetir atualiza os dados. Só uma sessão aberta aceita (concluída → 409 INVALID_STATE_TRANSITION; expirada → 400). O telefone é opcional e só do Brasil (DDD + número); é guardado em E.164. A resposta nunca devolve os dados. Limitado pelo escopo checkout_pay (sessão + IP); não exige o Turnstile, que continua no pagamento. Os dados valem para a recuperação da venda por 30 dias e depois são anonimizados; nunca vão para webhooks.

rate limit: checkout_pay
  • Autenticação: pública (sem Authorization)
  • URL: https://api.v2.wolfpayteste.online/v1/public/checkout-sessions/{id}/lead

Parâmetros

NomeOndeTipoDetalhes
idobrigatório caminho string

Id da sessão (cs_...).

mínimo 1 caractere(s)

Corpo da requisição

Objeto CaptureCheckoutLeadRequest

Corpo de captureCheckoutLead
Campo Tipo Detalhes
client_secret obrigatório string

Começa com csec_

name obrigatório string

2 a 160 caracteres

email obrigatório string (e-mail)

Padrão ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$

até 254 caracteres

phone string

Padrão ^[0-9()+\-.\s]+$

8 a 32 caracteres

Exemplo de corpo json
{
  "client_secret": "csec_EXEMPLO_segredo_de_uso_unico_da_sessao",
  "name": "Ana Compradora",
  "email": "ana@example.com",
  "phone": "(11) 98765-4321"
}

Resposta 200

Dados registrados.

Objeto CapturedCheckoutLead

Resposta 200 de captureCheckoutLead
Campo Tipo Detalhes
checkout_session_id obrigatório string

Começa com cs_

captured obrigatório true
Exemplo de resposta 200 json
{
  "checkout_session_id": "cs_2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f",
  "captured": true
}

Erros

post/v1/public/checkout-sessions/{id}/pay

Pagar sessão de checkout (payCheckoutSession)

Cria o pedido da oferta (uma vez por sessão) e o PaymentIntent com o pagador e confirma com o método escolhido. Pix responde 202 com o QR sintético; cartão de teste aprovado responde 200; recusa → 402. A resposta é a visão do comprador (sem pagador nem ids do provedor). Método fora dos accepted_methods da oferta → 409 PAYMENT_METHOD_NOT_ACCEPTED, antes de criar pedido ou pagamento. Com o Pix desligado no ambiente (kill switch PIX_SIMULATION_ENABLED) → 409 PAYMENT_METHOD_UNAVAILABLE; cartão de teste não é afetado. bump_ids (opcional) são order bumps da sessão (bumps da leitura pública): o servidor valida e precifica, e o PaymentIntent tem o valor total do pedido. Bump inválido, inativo, repetido ou de outra oferta → 409 BUMP_NOT_AVAILABLE, sem cobrança. A primeira tentativa fixa os itens do pedido: tentativas seguintes repetem a mesma seleção (selected_bump_ids); outra seleção → 409 IDEMPOTENCY_CONFLICT, sem cobrança.

Idempotency-Key obrigatória rate limit: checkout_pay
  • Autenticação: pública (sem Authorization)
  • URL: https://api.v2.wolfpayteste.online/v1/public/checkout-sessions/{id}/pay

Parâmetros

NomeOndeTipoDetalhes
idobrigatório caminho string

Id da sessão (cs_...).

mínimo 1 caractere(s)

wolf-turnstile-token cabeçalho string

Token do Cloudflare Turnstile (verificação humana) obtido pelo checkout hospedado. Obrigatório quando o ambiente tem o widget configurado; ausente ou inválido → 403 CAPTCHA_REQUIRED. Cada token vale uma única vez, por até 300 s.

1 a 2048 caracteres

Idempotency-Keyobrigatório cabeçalho string

Chave escolhida pelo cliente (8 a 255 caracteres). Mesma chave + mesmo corpo = mesma resposta; corpo diferente = 409 IDEMPOTENCY_CONFLICT. Guardada por 24 h.

8 a 255 caracteres

Corpo da requisição

Objeto PayCheckoutSessionRequest

Corpo de payCheckoutSession
Campo Tipo Detalhes
client_secret obrigatório string

Começa com csec_

payer obrigatório PayerInput
payment_method obrigatório PaymentMethod
bump_ids string[]

Padrão ^ob_[A-Za-z0-9]{1,64}$

0 a 3 itens

Exemplo de corpo json
{
  "client_secret": "csec_EXEMPLO_segredo_de_uso_unico_da_sessao",
  "payer": {
    "name": "Ana Compradora",
    "email": "ana@example.com",
    "phone": "(11) 98765-4321",
    "document": {
      "type": "cpf",
      "number": "529.982.247-25"
    }
  },
  "payment_method": {
    "type": "pix"
  },
  "bump_ids": [
    "ob_7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a"
  ]
}

Resposta 200

Pagamento concluído.

Objeto CheckoutPayment

Resposta 200 de payCheckoutSession
Campo Tipo Detalhes
id obrigatório string

Começa com pi_

order_id obrigatório string | null
status obrigatório string

Valores: requires_payment_method, requires_action, processing, succeeded, failed, canceled

amount_minor obrigatório string
currency obrigatório string

Padrão ^[A-Z]{3}$

failure_code obrigatório string | null
next_action obrigatório PaymentNextAction | null
cancellation_reason obrigatório string | null
Exemplo de resposta 200 json
{
  "id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
  "order_id": "ord_0f1e2d3c4b5a69788796a5b4c3d2e1f0",
  "status": "succeeded",
  "amount_minor": "9900",
  "currency": "BRL",
  "failure_code": null,
  "next_action": null,
  "cancellation_reason": null
}

Resposta 202

Pagamento em processamento (Pix aguardando ou cartão em reconciliação).

Objeto CheckoutPayment

Resposta 202 de payCheckoutSession
Campo Tipo Detalhes
id obrigatório string

Começa com pi_

order_id obrigatório string | null
status obrigatório string

Valores: requires_payment_method, requires_action, processing, succeeded, failed, canceled

amount_minor obrigatório string
currency obrigatório string

Padrão ^[A-Z]{3}$

failure_code obrigatório string | null
next_action obrigatório PaymentNextAction | null
cancellation_reason obrigatório string | null
Exemplo de resposta 202 json
{
  "id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
  "order_id": "ord_0f1e2d3c4b5a69788796a5b4c3d2e1f0",
  "status": "processing",
  "amount_minor": "9900",
  "currency": "BRL",
  "failure_code": null,
  "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"
  },
  "cancellation_reason": null
}

Erros

post/v1/public/checkout-sessions/{id}/pix/simulate-payment

Simular pagamento do Pix da sessão (simulateCheckoutPixPayment)

Botão "Simular pagamento" do checkout: age só sobre o PaymentIntent da própria sessão. Repetir não faz nada. Só existe na edição de simulação. Com o Pix desligado no ambiente (kill switch PIX_SIMULATION_ENABLED) → 409 PAYMENT_METHOD_UNAVAILABLE, antes da verificação do Turnstile.

só na edição de simulação rate limit: checkout_pay
  • Autenticação: pública (sem Authorization)
  • URL: https://api.v2.wolfpayteste.online/v1/public/checkout-sessions/{id}/pix/simulate-payment

Parâmetros

NomeOndeTipoDetalhes
idobrigatório caminho string

Id da sessão (cs_...).

mínimo 1 caractere(s)

wolf-turnstile-token cabeçalho string

Token do Cloudflare Turnstile (verificação humana) obtido pelo checkout hospedado. Obrigatório quando o ambiente tem o widget configurado; ausente ou inválido → 403 CAPTCHA_REQUIRED. Cada token vale uma única vez, por até 300 s.

1 a 2048 caracteres

Corpo da requisição

Objeto CheckoutSessionSecretRequest

Corpo de simulateCheckoutPixPayment
Campo Tipo Detalhes
client_secret obrigatório string

Começa com csec_

Exemplo de corpo json
{
  "client_secret": "csec_EXEMPLO_segredo_de_uso_unico_da_sessao"
}

Resposta 200

Pagamento após a simulação.

Objeto CheckoutPayment

Resposta 200 de simulateCheckoutPixPayment
Campo Tipo Detalhes
id obrigatório string

Começa com pi_

order_id obrigatório string | null
status obrigatório string

Valores: requires_payment_method, requires_action, processing, succeeded, failed, canceled

amount_minor obrigatório string
currency obrigatório string

Padrão ^[A-Z]{3}$

failure_code obrigatório string | null
next_action obrigatório PaymentNextAction | null
cancellation_reason obrigatório string | null
Exemplo de resposta 200 json
{
  "id": "pi_3b9f0c2d1e4a5b6c7d8e9f0a1b2c3d4e",
  "order_id": "ord_0f1e2d3c4b5a69788796a5b4c3d2e1f0",
  "status": "succeeded",
  "amount_minor": "9900",
  "currency": "BRL",
  "failure_code": null,
  "next_action": null,
  "cancellation_reason": null
}

Erros

post/v1/public/checkout-sessions/{id}/reconcile

Reconciliar pagamento da sessão (reconcileCheckoutSession)

Consulta o provedor simulado pelo pagamento da sessão em estado desconhecido. Só existe na edição de simulação.

só na edição de simulação rate limit: checkout_pay
  • Autenticação: pública (sem Authorization)
  • URL: https://api.v2.wolfpayteste.online/v1/public/checkout-sessions/{id}/reconcile

Parâmetros

NomeOndeTipoDetalhes
idobrigatório caminho string

Id da sessão (cs_...).

mínimo 1 caractere(s)

Corpo da requisição

Objeto CheckoutSessionSecretRequest

Corpo de reconcileCheckoutSession
Campo Tipo Detalhes
client_secret obrigatório string

Começa com csec_

Exemplo de corpo json
{
  "client_secret": "csec_EXEMPLO_segredo_de_uso_unico_da_sessao"
}

Resposta 200

Resultado definitivo.

Objeto CheckoutPayment

Resposta 200 de reconcileCheckoutSession
Campo Tipo Detalhes
id obrigatório string

Começa com pi_

order_id obrigatório string | null
status obrigatório string

Valores: requires_payment_method, requires_action, processing, succeeded, failed, canceled

amount_minor obrigatório string
currency obrigatório string

Padrão ^[A-Z]{3}$

failure_code obrigatório string | null
next_action obrigatório PaymentNextAction | null
cancellation_reason obrigatório string | null

Resposta 202

Ainda sem resultado definitivo.

Objeto CheckoutPayment

Resposta 202 de reconcileCheckoutSession
Campo Tipo Detalhes
id obrigatório string

Começa com pi_

order_id obrigatório string | null
status obrigatório string

Valores: requires_payment_method, requires_action, processing, succeeded, failed, canceled

amount_minor obrigatório string
currency obrigatório string

Padrão ^[A-Z]{3}$

failure_code obrigatório string | null
next_action obrigatório PaymentNextAction | null
cancellation_reason obrigatório string | null

Erros

get/v1/public/payment-links/{id}/session

Abrir sessão de um Payment Link (openPaymentLinkSession)

Chamado pelo servidor do checkout hospedado: cria uma sessão para um link active de seller e oferta ativos e devolve o segredo de uso único da sessão. Link inexistente, inativo ou de seller/oferta inativos → 404 (sem dizer qual). Limitado por IP e verificado pelo Turnstile (quando o ambiente tem o widget) antes de qualquer consulta. Com os Payment Links desligados no ambiente (kill switch PAYMENT_LINKS_ENABLED) → 404, antes de qualquer outra verificação.

rate limit: payment_link_open
  • Autenticação: pública (sem Authorization)
  • URL: https://api.v2.wolfpayteste.online/v1/public/payment-links/{id}/session

Parâmetros

NomeOndeTipoDetalhes
idobrigatório caminho string

Id do Payment Link (plk_...).

mínimo 1 caractere(s)

wolf-turnstile-token cabeçalho string

Token do Cloudflare Turnstile (verificação humana) obtido pelo checkout hospedado. Obrigatório quando o ambiente tem o widget configurado; ausente ou inválido → 403 CAPTCHA_REQUIRED. Cada token vale uma única vez, por até 300 s.

1 a 2048 caracteres

Resposta 201

Sessão aberta.

Objeto OpenedPaymentLinkSession

Resposta 201 de openPaymentLinkSession
Campo Tipo Detalhes
checkout_session_id obrigatório string

Começa com cs_

client_secret obrigatório string

Começa com csec_

expires_at obrigatório string
Exemplo de resposta 201 json
{
  "checkout_session_id": "cs_2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f",
  "client_secret": "csec_EXEMPLO_segredo_de_uso_unico_da_sessao",
  "expires_at": "2026-11-06T13:00:00.000Z"
}

Erros