Homologação da integração
A homologação vale por operador, ambiente, moeda e revisão implantada. Deploy verde e demo funcionando não homologam a carteira do cliente. Execute cenários financeiros com contas e valores de teste autorizados.
Entrega e evidências
Seção intitulada “Entrega e evidências”Registre tenant, URLs do sportsbook e da carteira, revisão do contrato, moeda, origens permitidas, responsáveis pelos callbacks e contatos de incidente. Troque API key e segredo de assinatura pelo canal de segredos acordado. Não os inclua em tickets, capturas de tela ou evidências.
Para cada cenário, guarde: ID, horários UTC, aposta, transações, requisições e respostas sem segredos, saldos inicial/final, resultado esperado/obtido, commit, executor e revisor. Caso não executado é não testado, nunca aprovado.
Sessões e interface
Seção intitulada “Sessões e interface”| ID | Cenário | Resultado exigido |
|---|---|---|
| S01 | Criar e reabrir sessão do mesmo jogador externo | Mesma identidade no tenant; outro tenant permanece isolado. |
| S02 | Usar o token de abertura duas vezes ou após expirar | Primeiro uso válido funciona; repetição e expiração são recusadas. |
| S03 | Navegar anônimo e depois entrar | Nenhum segredo no navegador; callback restaura sessão autenticada. |
| S04 | Logout, expiração por inatividade e renovação | Operações protegidas exigem sessão válida; host recebe eventos documentados. |
| S05 | Origem de iframe não permitida e postMessage forjado | Recusa; validar origem e janela emissora. |
| S06 | Celular/desktop e português/inglês | Bilhete, foco, rolagem, erros e abertura do caixa funcionam. |
Carteira e segurança financeira
Seção intitulada “Carteira e segurança financeira”| ID | Cenário | Resultado exigido |
|---|---|---|
| W01 | HMAC válido, corpo alterado, segredo errado e timestamp antigo | Somente requisição assinada e atual é aceita. Verificar bytes originais. |
| W02 | Débito com e sem saldo | Valor exato uma vez, ou recusa persistida insufficient_funds sem movimentação. |
| W03 | Duplicatas concorrentes e repetição após reinício | Um efeito financeiro e resposta original, inclusive recusas. |
| W04 | Mesmo ID com jogador, valor, moeda, tipo, aposta, referência ou endpoint diferente | Conflito, sem novo efeito. |
| W05 | Débito aplicado com resposta perdida | Aposta não aceita na incerteza; rollback devolve exatamente uma vez. |
| W06 | Rollback chega antes do débito | Registrar bloqueio permanente do débito original e recusar sua chegada tardia. |
| W07 | Débito nunca aplicado e rollback repetido | Não criar crédito; devolver sucesso idempotente com saldo inalterado. |
| W08 | Vitória, derrota e anulação | Prêmio correto, crédito zero para derrota liquidada normalmente, ou reembolso. |
| W09 | Crédito aplicado com resposta perdida e reenvio | Um crédito; mesmo ID e resultado armazenado. |
| W10 | 2xx sem ID correto, saldo ausente/nulo ou moeda divergente |
Resultado desconhecido; nunca confirmação de pagamento. |
| W11 | 4xx HTML/vazio, 408, 429, 5xx e timeout |
Desconhecido; não comprova ausência de movimentação. |
| W12 | Recusa definitiva estruturada | Obrigação recusada não é cobrada automaticamente; revisão visível. |
| W13 | Vitória → derrota ou prêmio alterado, com saldo | Diferença exata e ID imutável de correção ligado à mesma aposta. |
| W14 | Correção maior que o saldo e depósito posterior | Sem débito parcial/saldo negativo. Recusa permanece; depósito não é capturado. |
| W15 | Resultado corrigido enquanto o crédito anterior é incerto | Crédito obsoleto fica para revisão, sem reenvio automático; correção posterior continua bloqueada. |
| W16 | Queda de worker durante callback e retomada | Identidade preservada, sem efeito duplicado nem regressão por resposta tardia. |
| W17 | Carteira fora por dois minutos e recuperada | Apostas não aceitas na incerteza; obrigações seguem a política de recuperação. |
Ciclo da aposta e controles de mercado
Seção intitulada “Ciclo da aposta e controles de mercado”| ID | Cenário | Resultado exigido |
|---|---|---|
| B01 | Simples, acumulada, sistema, each-way suportado e Bet Builder | Stake, combinações, liquidação e arredondamento conforme o produto ofertado. |
| B02 | Cash-out total seguido de correção de resultado | Posição encerrada não é liquidada novamente; crédito rastreável separadamente. |
| B03 | Cash-out parcial, repetição e liquidação do restante | Cada parcial encerra somente sua fração; repetição não paga nem encerra duas vezes. |
| B04 | Cash-out automático e pedido do jogador simultâneos | Transições válidas sem consumir a mesma stake restante duas vezes. |
| B05 | Cliente A desativa mercado | A não aceita novas apostas nesse mercado; B não é afetado. Apostas existentes preservadas. |
| B06 | Feed atualiza mercado desativado | Bloqueio do cliente persiste mesmo quando o feed reabre. |
| B07 | Cliente ativa sob bloqueio do feed/plataforma | Remove somente seu bloqueio; interface informa indisponibilidade restante. |
| B08 | Reinício imediatamente após confirmação do controle | Desativação/ativação confirmada sobrevive sem depender de encerramento normal. |
| B09 | Perfil de leitura/suporte ou outro tenant tenta alterar | Servidor recusa; auditoria registra controles autorizados. |
| B10 | Suspensão ao vivo ou alteração de odd durante aposta/cash-out | Testar antes, durante e depois da latência da carteira; botão desabilitado não comprova a barreira de aceitação. |
| B11 | Resultado de mercado especial autorizado com interrupção do envio à liquidação | Fechamento e resultado são gravados juntos; nenhuma aposta posterior é aceita. Reinício/replay liquida as apostas existentes com a versão original, uma vez. |
| B12 | Alteração de cotação durante a gravação final em cada produto | Repetir para catálogo, longo prazo, especiais, virtuais, sorteios e corridas. A alteração aguarda a gravação local; a próxima gravação a observa. A espera pela trava respeita o prazo limite. |
Liberação
Seção intitulada “Liberação”Anexe as evidências e resolva divergências financeiras antes de liberar dinheiro real. Verifique separadamente origem do feed, atualização/recuperação, cobertura de mercados e confirmação dos resultados. Simulação comprova integração de software, não exatidão nem latência do feed contratado.
Repita os cenários afetados ao mudar handlers, credenciais, retentativas, controles de mercado ou lançamentos financeiros. Preserve a versão anterior e seu plano de migração/retorno. Defina escalonamento de incidentes e responsáveis pela conciliação; encerrar um ticket de suporte nunca elimina uma obrigação.