Rafobase Logo

Webhooks

Configure webhooks para receber eventos de pedidos em tempo real do Guru e Yampi.

Webhooks

Rafobase usa webhooks para receber eventos de pedidos da sua plataforma de checkout. Quando um cliente usa um cupom de indicação, o checkout envia um webhook que ativa o processo de atribuição e recompensa.

Plataformas Suportadas

PlataformaEventosStatus
Gurutransaction.approved, transaction.refunded✅ Suportado
Yampiorder.paid, order.status.updated✅ Suportado

Como Funciona

Guia de Configuração

Configure a URL do Webhook

No seu painel de administração do Guru:

  1. Vá para Configurações → Webhooks
  2. Clique em Adicionar Webhook
  3. Digite a URL:
    https://api.rafobase.com/api/webhooks/guru/{SEU_MERCHANT_ID}

Selecione Eventos

Ative os seguintes eventos:

  • transaction.approved - Quando o pagamento é confirmado
  • transaction.refunded - Quando o pedido é reembolsado

O evento transaction.approved dispara a atribuição de indicação. O evento transaction.refunded cancela créditos pendentes.

Segurança

Webhooks do Guru não utilizam verificação de assinatura. A autenticação é feita pelo merchantId incluído na URL do webhook.

Teste a Integração

  1. Crie um pedido de teste com um cupom de indicação
  2. Verifique Painel Rafobase → Webhooks para o evento
  3. Verifique se a indicação foi criada

Configure a URL do Webhook

No seu painel de administração do Yampi:

  1. Vá para Configurações → Integrações → Webhooks
  2. Adicione um novo endpoint de webhook:
    https://api.rafobase.com/api/webhooks/yampi/{SEU_MERCHANT_ID}

Selecione Eventos

Ative os seguintes eventos:

  • order.paid - Quando o pagamento é confirmado
  • order.status.updated - Para reembolsos e cancelamentos

Configure o Segredo

  1. Gere ou copie o segredo do webhook do Yampi
  2. No Painel do Rafobase, vá para Configurações → Integrações → Yampi
  3. Cole o segredo do webhook
  4. Salve

Teste a Integração

  1. Faça um pedido de teste usando um cupom de indicação
  2. Monitore Painel Rafobase → Webhooks
  3. Confirme que a indicação aparece corretamente

Exemplos de Carga de Webhook

Guru - Transação Aprovada

{
  "webhook_type": "transaction",
  "transaction": {
    "id": "trx_xxxxx",
    "status": "approved",
    "amount": 20000,
    "currency": "BRL",
    "customer": {
      "email": "newcustomer@example.com",
      "name": "Novo Cliente",
      "document": "12345678900"
    },
    "coupon": {
      "code": "NUT-JOHN-A7X"
    },
    "subscription_id": "sub_xxxxx",
    "created_at": "2024-01-15T10:30:00Z"
  }
}

Yampi - Pedido Pago

{
  "event": "order.paid",
  "data": {
    "id": 123456,
    "status": "paid",
    "total": 20000,
    "customer": {
      "email": "newcustomer@example.com",
      "name": "Novo Cliente",
      "cpf": "123.456.789-00"
    },
    "coupon_code": "NUT-JOHN-A7X",
    "created_at": "2024-01-15T10:30:00Z"
  }
}

Segurança de Webhook

Yampi - Verificação HMAC

Webhooks do Yampi incluem assinatura HMAC-SHA256 no header X-Yampi-Hmac-SHA256. Configure o segredo no painel do Rafobase em Configurações → Integrações → Yampi.

import crypto from 'crypto'

function verifyYampiSignature(payload, signature, secret) {
  const expected = crypto.createHmac('sha256', secret).update(payload).digest('hex')

  return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))
}

Guru - Sem Assinatura

Webhooks do Guru não utilizam verificação de assinatura. A autenticação é feita pelo merchantId na URL do webhook. Mantenha a URL secreta.

O cabeçalho X-Rafobase-Signature é utilizado apenas para webhooks outbound (Rafobase → sistemas externos), não para webhooks inbound de plataformas de checkout.

On this page