SnakePaySnakePay

API Pix

Base URL: https://api.snakepay.com.br/v1 · valores em centavos.

Autenticação

Envie sua chave secreta no cabeçalho Authorization: Bearer sk_live_.... A chave pública serve apenas para identificar a loja no checkout.

POST

/charges — Criar cobrança Pix

Gera um QR Code dinâmico e o código Copia e Cola.

curl -X POST https://api.snakepay.com.br/v1/charges \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 24990,
    "expires_in": 900,
    "external_id": "wc_order_4821",
    "customer": { "name": "Ana Souza", "document": "123.456.789-00" },
    "webhook_url": "https://minhaloja.com.br/wp-json/snakepay/v1/webhook"
  }'
GET

/charges/:id — Consultar status

curl https://api.snakepay.com.br/v1/charges/pix_a8f2k1m9x0q3 \
  -H "Authorization: Bearer sk_live_..."

// 200 OK
{ "id": "pix_a8f2k1m9x0q3", "status": "paid", "amount": 24990,
  "paid_at": "2026-10-15T15:40:12Z", "end_to_end_id": "E1234567820261015154012345" }

Webhooks

Reenvio automático com backoff por até 24h enquanto seu endpoint não responder 2xx.

POST https://minhaloja.com.br/wp-json/snakepay/v1/webhook
X-SnakePay-Signature: sha256=5d41402abc4b2a76b9719d911017c592

{
  "id": "evt_9sk2l1p0x7",
  "type": "pix.paid",          // pix.paid | pix.expired | pix.refunded
  "data": { "charge_id": "pix_a8f2k1m9x0q3", "external_id": "wc_order_4821",
            "amount": 24990, "status": "paid" }
}

// Valide: HMAC_SHA256(corpo_bruto, webhook_secret) == assinatura

Integração WooCommerce

  1. 1

    Instale o plugin

    No WordPress, vá em Plugins → Adicionar novo → Enviar plugin e faça upload de snakepay-woocommerce.zip. Ative-o.

  2. 2

    Cole suas chaves

    WooCommerce → Configurações → Pagamentos → SnakePay Pix. Cole a chave pública e a secreta da Área do Desenvolvedor.

  3. 3

    Configure o webhook

    Copie a URL exibida pelo plugin (/wp-json/snakepay/v1/webhook) e cole no campo Webhook do painel SnakePay.

  4. 4

    Defina a expiração

    Escolha o tempo de validade do QR Code (padrão 15 minutos).

  5. 5

    Teste

    Faça um pedido de teste e use o simulador de eventos para disparar pix.paid. O pedido muda para Processando.

// wp-config.php (opcional — ou configure pelo painel do plugin)
define('SNAKEPAY_PUBLIC_KEY', 'pk_live_...');
define('SNAKEPAY_SECRET_KEY', 'sk_live_...');
define('SNAKEPAY_WEBHOOK_SECRET', 'whsec_...');
// Mapeamento de status do pedido WooCommerce
pix.paid      → processing  (pagamento confirmado)
pix.expired   → cancelled   (QR Code expirou)
pix.refunded  → refunded    (estorno concluído)