Validar FALHA por exceder o limite diário configurado pelo cliente

[JSR-LIMD-005] - Validar FALHA por exceder o limite diário configurado pelo cliente

Introdução

Este documento descreve as condições necessárias e o fluxo de status para reproduzir o cenário de erro VALOR_ACIMA_LIMITE (limite diário) no teste [JSR-LIMD-005].


Condições Necessárias

Valores Críticos

ParâmetroValorObservação
Limite de transaçãoR$ 1.943,00Definido na etapa 4 (Approve)
Limite diárioR$ 1.942,00Definido na etapa 4 (Approve)
Valor do pagamento PIXR$ 1.942,22Deve ser exatamente esse valor para cair no mock do erro de limite diário excedido

Status Necessários por Etapa


EtapaRequisiçãoStatus EsperadoObservação
1Get Application Token-Autenticação bem-sucedida
2Enrollment Payment initiationAWAITING_ACCOUNT_HOLDER_VALIDATIONEnrollment criado
3LoginAWAITING_ACCOUNT_HOLDER_VALIDATIONLogin bem-sucedido
4ApproveAWAITING_ENROLLMENTLimite diário definido: R$ 1.942,00
5Callback Payment InitiationAWAITING_ENROLLMENTCallback processado
6fido-registration-options-Opções geradas
7fido-registrationAUTHORISEDEnrollment autorizado
8payment-initiationAWAITING_AUTHORISATIONPayment criado
9fido-sign-options-Opções de assinatura geradas
10authoriseAUTHORISEDPayment autorizado
11pix422 ERRORErro: VALOR_ACIMA_LIMITE

Fluxo de Status

┌─────────────────────────────────────────────────────────────┐
│ 1. Enrollment Payment Initiation                            │
│    Status: AWAITING_ACCOUNT_HOLDER_VALIDATION               │
└────────────────────┬────────────────────────────────────── ┘
                     │
                     ▼
┌─────────────────────────────────────────────────────────────┐
│ 2. Login + Approve                                          │
│    Status: AWAITING_ENROLLMENT                              │
│    ⚠️ LIMITE DIÁRIO DEFINIDO: R$ 1.942,00                   │
└────────────────────┬──────────────────────────────────────┘
                     │
                     ▼
┌─────────────────────────────────────────────────────────────┐
│ 3. Callback + FIDO Registration                             │
│    Status: AUTHORISED                                       │
│    ✅ Enrollment completo e autorizado                      │
└────────────────────┬──────────────────────────────────────┘
                     │
                     ▼
┌─────────────────────────────────────────────────────────────┐
│ 4. Payment Initiation                                       │
│    Status: AWAITING_AUTHORISATION                           │
│    Valor: R$ 1.942,22 ⚠️                                    │
└────────────────────┬──────────────────────────────────────┘
                     │
                     ▼
┌─────────────────────────────────────────────────────────────┐
│ 5. FIDO Sign + Authorise                                    │
│    Status: AUTHORISED                                       │
│    ✅ Payment autorizado                                    │
└────────────────────┬──────────────────────────────────────┘
                     │
                     ▼
┌─────────────────────────────────────────────────────────────┐
│ 6. PIX - Processamento                                      │
│    ❌ ERRO 422: VALOR_ACIMA_LIMITE                          │
│    "Daily limit exceeded 1942.22"                           │
└─────────────────────────────────────────────────────────────┘

Ponto Críticos

1. Definição do Limite ( Etapa 4 - Approve)

Na requisição Approve, é essencial definir o limite de transação:

{
    "limits": {
        "transactionLimit": "1943",
        "dailyLimit": "1942"
    }
}

2. Valor do Pagamento (Etapa 8 - payment-initiation e Etapa 11 - pix)

O valor do pagamento deve ser exatamente R$ 1.942,22 e deve ser enviado o header "x-force-error":

headers: {
	"x-force-error": true
}

body: {
		...,
    "payment": {
      "amount": "1942.22", // ⚠️ 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": "VALOR_ACIMA_LIMITE",
            "title": "Valor acima do limite.",
            "detail": "Daily limit exceeded 1942"
        }
    ],
    "code": 422
}

Condições para Reproduzir

  1. ✅ Enrollment deve estar no status AUTHORISED
  2. ✅ Payment deve estar no status AUTHORISED
  3. ✅ Limite de transação deve ser 1943
  4. ✅ Limite diário de transação deve ser 1942
  5. ✅ Valor do pagamento deve ser exatamente 1942.22
  6. ✅ Todas as etapas anteriores devem ser executadas com sucesso

Observações Importantes

  • O limite diário é validado apenas no momento do processamento do PIX
  • O payment pode ser criado e autorizado mesmo com valor acima do limite
  • A validação ocorre na camada de processamento de pagamento, não na autorização
  • O erro retorna código HTTP 422 (Unprocessable Entity)