WEBHOOK

Webhook CashOut (Saques)

Receba notificações automáticas sobre o status das solicitações de saque.

🔗 Endpoint & Autenticação

Método

POST

URL

Definida pelo cliente na rota /api/SendWebhook

Exemplo: https://meusite.com.br/api/webhook/splitgame

Headers Obrigatórios

Content-Type

application/json

X-SplitGame-Signature

<hash-HMAC-SHA256>

X-Idempotency-Key

<uuid>

⚙️ Estrutura do Evento

🟣 Saques (CashOut)

Exemplo real de Webhook Cashout Recebido

{
  "object": "withdraw",
  "type": "cashout",
  "status": "successful",
  "companyId": 1,
  "withdrawId": 7184,

  "value": 10,
  "valueInCents": 1000,
  "currency": "BRL",

  "provider": "A55",
  "providerStatus": 1,
  "providerTid": "wld-00007184",
  "providerPaymentId": "uuid-provider",
  "endToEndId": "Exxxxxxxx",

  "providerAmount": 10,
  "providerConfirmedAt": "2025-11-27T10:12:33Z",
  "providerDebitedAt": null,
  "providerPayload": { ... },

  "pixKey": "chave",
  "pixKeyType": "CPF",
  "creditorDocument": "xxx",

  "payer": {
    "name": "NOME DO BANCO/A55",
    "document": "xxx",
    "ispb": "xxxxx",
    "agency": "xxxx",
    "account": "xxxx"
  },

  "receiver": {
    "name": "NOME DO CLIENTE",
    "document": "xxx",
    "ispb": "xxxx",
    "agency": "xxxx",
    "account": "xxxx"
  },

  "createdAt": "2025-11-27T00:00:00Z",
  "updatedAt": "2025-11-27T00:00:00Z",
  "processedAt": "2025-11-27T00:00:00Z",

  "metadata": null
}

🔍 Descrição dos Campos

CampoTipoDescrição
objectstringSempre "withdraw"
typestringTipo do evento — sempre "cashout"
statusstringStatus final: successful, failure, refunded
companyIdnumberID da empresa dona do saque
withdrawIdnumberID interno do saque na SplitPay
valuenumberValor sacado em reais
valueInCentsnumberValor sacado em centavos
currencystringMoeda (sempre "BRL")
providerstringProvedor usado (ex: "A55")
providerStatusnumberCódigo numérico retornado pelo provedor
providerTidstringTID do saque no provedor
providerPaymentIdstringID do pagamento no provedor (UUID)
endToEndIdstringCódigo PIX único do saque (E2E). Pode ser usado para consultas Pix Out.
providerAmountnumberValor confirmado pelo provedor
providerConfirmedAtstringData/hora de confirmação pelo provedor
providerDebitedAtstring | nullData/hora do débito na conta (se disponível)
providerPayloadobjectResposta completa do provedor (raw)
pixKeystringChave PIX de destino
pixKeyTypestringTipo da chave (CPF, CNPJ, EMAIL, PHONE, EVP)
creditorDocumentstringDocumento do beneficiário
payerobjectDados do pagador (banco/A55)
receiverobjectDados do recebedor (cliente)
createdAtstringData/hora de criação do saque
updatedAtstringData/hora da última atualização
processedAtstringData/hora que o provedor processou o saque
metadatastring | object | nullMetadados customizados enviados na solicitação

🧠 Notas importantes

  • ✔ O campo endToEndId já é salvo automaticamente no banco:

    Campo: ProviderEndToEndId

    Tabela: Withdraws

  • ✔ Como usar?

    Utilize o endToEndId para:

    • Consultar status do PIX-out no provedor
    • Rastrear auditoria bancária
    • Exibir detalhes no painel administrativo
  • 📬 Quando o webhook é enviado?

    O webhook é disparado sempre que:

    • O saque é confirmado (successful)
    • O saque é estornado (refunded)
    • O saque é recusado / failure

🧩 Status possíveis

StatusDescrição
pendingSolicitado, aguardando
successfulPago
failureFalhou / rejeitado

🔁 Reenvio automático

  • 3 tentativas automáticas (1 min / 5 min / 15 min).
  • Idempotência garantida pelo header X-Idempotency-Key.

✅ Exemplo de resposta

{ "received": true, "idempotent": false }