AgentSkillsCN

Validate Transaction Limits

验证交易限额

SKILL.md

Skill: Validate Transaction Limits

Domain

financial_services

Description

Validates financial transactions against configured limits including velocity checks, cumulative limits, and authorization rules.

Tags

payments, limits, fraud, authorization, banking, compliance

Use Cases

  • Transaction authorization
  • Limit enforcement
  • Velocity checking
  • Fraud prevention

Proprietary Business Rules

Rule 1: Single Transaction Limits

Per-transaction amount validation.

Rule 2: Velocity Limits

Transaction frequency and cumulative checks.

Rule 3: Customer-Specific Limits

Personalized limit application.

Rule 4: Override Authorization

Exception handling and approval workflow.

Input Parameters

  • transaction_id (string): Transaction identifier
  • transaction_details (dict): Transaction information
  • account_info (dict): Account details
  • customer_limits (dict): Customer-specific limits
  • transaction_history (list): Recent transactions
  • override_request (dict): Override details if applicable

Output

  • authorization_result (string): Approve/Decline/Review
  • limit_check_results (dict): Individual limit outcomes
  • velocity_analysis (dict): Velocity check results
  • override_required (bool): Override needed flag
  • decline_reasons (list): Decline reason codes

Implementation

The validation logic is implemented in limits_validator.py and references data from limit_rules.json.

Usage Example

python
from limits_validator import validate_limits

result = validate_limits(
    transaction_id="TXN-001",
    transaction_details={"amount": 5000, "type": "transfer", "channel": "mobile"},
    account_info={"id": "ACCT-001", "type": "checking", "tier": "premium"},
    customer_limits={"daily_transfer": 10000, "single_transfer": 5000},
    transaction_history=[{"date": "2025-12-15", "amount": 3000, "type": "transfer"}],
    override_request=None
)

print(f"Authorization: {result['authorization_result']}")

Test Execution

python
from limits_validator import validate_limits

result = validate_limits(
    transaction_id=input_data.get('transaction_id'),
    transaction_details=input_data.get('transaction_details', {}),
    account_info=input_data.get('account_info', {}),
    customer_limits=input_data.get('customer_limits', {}),
    transaction_history=input_data.get('transaction_history', []),
    override_request=input_data.get('override_request')
)