Validar qual erro prevalece quando ambas as condições, valor limite excedido e saldo insuficiente, falham
[JSR-MIX-004] - Validar qual erro prevalece quando ambas as condições, valor limite excedido e saldo insuficiente, falham.
Introdução
Este documento descreve as condições necessárias e o fluxo de status para validação de qual erro ocorre quando o limite é excedido e o saldo é insuficiente [JSR-MIX-004].
Condições Necessárias
Valores Críticos
| Parâmetro | Valor | Observação |
|---|---|---|
| Limite de transação | R$ 14.000,00 | Definido na etapa 4 (Approve) |
| Limite diário | R$ 14.000,00 | Definido na etapa 4 (Approve) |
| Valor do pagamento PIX | R$ 15.000,00 | Deve ser exatamente esse valor para cair no mock do erro de saldo insuficiente |
Status Necessários por Etapa
| Etapa | Requisição | Status Esperado | Observação |
|---|---|---|---|
| 1 | Get Application Token | - | Autenticação bem-sucedida |
| 2 | Enrollment Payment initiation | AWAITING_ACCOUNT_HOLDER_VALIDATION | Enrollment criado |
| 3 | Login | AWAITING_ACCOUNT_HOLDER_VALIDATION | Login bem-sucedido |
| 4 | Approve | AWAITING_ENROLLMENT | Limite definido |
| 5 | Callback Payment Initiation | AWAITING_ENROLLMENT | Callback processado |
| 6 | fido-registration-options | - | Opções geradas |
| 7 | fido-registration | AUTHORISED | Enrollment autorizado |
| 8 | payment-initiation | AWAITING_AUTHORISATION | Payment criado |
| 9 | fido-sign-options | - | Opções de assinatura geradas |
| 10 | authorise | AUTHORISED | Payment autorizado |
| 11 | pix | 422 ERROR | Erro: SALDO_INSUFICIENTE |
Fluxo de Status
┌─────────────────────────────────────────────────────────────┐
│ 1. Enrollment Payment Initiation │
│ Status: AWAITING_ACCOUNT_HOLDER_VALIDATION │
└────────────────────┬────────────────────────────────────── ┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 2. Login + Approve │
│ Status: AWAITING_ENROLLMENT │
│ ⚠️ LIMITE DEFINIDO: R$ 14.000,00 │
└────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 3. Callback + FIDO Registration │
│ Status: AUTHORISED │
│ ✅ Enrollment completo e autorizado │
└────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 4. Payment Initiation │
│ Status: AWAITING_AUTHORISATION │
│ Valor: R$ 15.000,00 ⚠️ │
└────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 5. FIDO Sign + Authorise │
│ Status: AUTHORISED │
│ ✅ Payment autorizado │
└────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 6. PIX - Processamento │
│ ❌ ERRO 422: SALDO_INSUFICIENTE │
└─────────────────────────────────────────────────────────────┘
Ponto Críticos
1. Definição do Limite ( Etapa 4 - Approve)
Na requisição Approve, é importante colocar um limite acima de 15 mil para não gerar erro de limite:
{
"limits": {
"transactionLimit": "14000",
"dailyLimit": "14000"
}
}2. Valor do Pagamento (Etapa 8 - payment-initiation e Etapa 11 - pix)
O valor do pagamento deve ser exatamente R$ 15.000,00 e deve ser enviado o header "x-force-error":
headers: {
"x-force-error": true
}
body: {
...,
"payment": {
"amount": "15000.00", // ⚠️ Valor necessário para retornar o erro
"currency": "BRL"
}
}3. Momento do Erro
O erro não ocorre durante:
- Criação do payment-initiation
- Autorização do payment (fido-sign-options + authorise)
O erro ocorre apenas na etapa final:
- Processamento do PIX (etapa 11)
Validação do Erro
Resposta Esperada
{
"name": "MoleculerClientError",
"message": [
{
"code": "SALDO_INSUFICIENTE",
"title": "SALDO_INSUFICIENTE"
}
],
"code": 422
}Condições para Reproduzir
- ✅ Enrollment deve estar no status AUTHORISED
- ✅ Payment deve estar no status AUTHORISED
- ✅ Limite de transação deve ser menor que 15 mil
- ✅ Limite diário de transação deve ser menor que 15 mil
- ✅ Valor do pagamento deve ser exatamente 15000.00
- ✅ Todas as etapas anteriores devem ser executadas com sucesso
Observações Importantes
- A validação ocorre na camada de processamento de pagamento, não na autorização
- O erro retorna código HTTP 422 (Unprocessable Entity)
Updated 3 days ago