Home / Issuing / Control Authorizations
| Decline Code | Common Root Causes | Fixable with Spend Rules? | Priority |
|---|---|---|---|
| RE_ENTER_TRANSACTION | • AVS mismatch (street or postal)<br>• Merchant hardcoding address<br>• International format issues<br>• Missing apartment/suite | ✅ YES - Primary use case | HIGH |
| DO_NOT_HONOR | • Generic decline (often AVS-related)<br>• Risk score threshold<br>• Velocity exceeded<br>• Suspicious pattern | ⚠️ PARTIAL - If AVS-related | HIGH |
| RESTRICTED_LOCATION | • Merchant country blocked<br>• Regional restrictions<br>• Sanctions compliance | ✅ YES - Country rules | HIGH |
| TRANSACTION_NOT_PERMITTED | • MCC blocked<br>• POS type restricted<br>• Card input method blocked | ✅ YES - MCC/POS rules | MEDIUM |
| EXCEEDS_APPROVAL_AMOUNT_LIMIT | • Single transaction limit<br>• Daily/monthly limit<br>• ATM withdrawal limit | ✅ YES - Amount rules | MEDIUM |
| EXCEEDS_WITHDRAWAL_FREQUENCY_LIMIT | • Too many transactions<br>• Velocity control triggered | ✅ YES - Velocity rules | MEDIUM |
| BAD_CVV2 | • CVV mismatch<br>• CVV not provided | ✅ YES - CVV rules | LOW |
| INSUFFICIENT_FUNDS | • Account balance issue | ❌ NO - Cardholder issue | N/A |
| EXPIRED_CARD | • Card expired | ❌ NO - Card issue | N/A |
| CLOSED_ACCOUNT | • Account closed | ❌ NO - Account issue | N/A |
| AVS Scenario | Typical Merchants | Root Cause | Risk Level | Spend Rule Solution | Implementation Pattern |
|---|---|---|---|---|---|
| Postal Code Hardcoding | • French merchant (06000)<br>• International processors<br>• Legacy systems | Merchant sends fixed zip instead of customer's | Medium | PostalCodeVerificationSpendRule with NO_MATCH allowed for specific MID | Pattern A: MID Whitelist |
| International Format Mismatch | • Cross-border merchants<br>• Global marketplaces<br>• Travel services | Address formats differ by country | Medium-High | Both AVS rules with NOT_SUPPORTED allowed | Pattern B: Geographic Override |
| Apartment/Suite Variations | • Delivery services<br>• Utilities<br>• Property management | "Apt 2B" vs "#2B" vs "Unit 2B" | Low-Medium | StreetAddressSpendRule with partial match | Pattern C: Fuzzy Matching |
| Gift Card/Prepaid Cards | • Retail<br>• Gas stations<br>• Quick service | No address on file | Low | AVS rules with UNAVAILABLE allowed | Pattern D: Card Type Override |
| PO Box Issues | • Government services<br>• Subscriptions<br>• B2B suppliers | PO Box vs physical address | Low | StreetAddressSpendRule flexible | Pattern E: Address Type Override |
| Billing vs Shipping Confusion | • E-commerce<br>• Marketplaces | Customer enters wrong address | Medium | Educational + flexible postal | Pattern F: Customer Education |
Best for: Known merchants with systematic AVS issues
Step 1: Create Allow-All Base Rules
├── StreetAddressSpendRule: [MATCH, NO_MATCH, NOT_SUPPORTED, UNAVAILABLE]
└── PostalCodeVerificationSpendRule: [MATCH, NO_MATCH, NOT_SUPPORTED, UNAVAILABLE]
Step 2: Create Restrictive Velocity Rules
├── VelocityRule 1 (PER_TRANSACTION)
│ ├── Condition: AVS_STREET = NO_MATCH
│ ├── Condition: MID NOT IN [whitelist]
│ └── Action: DECLINE
└── VelocityRule 2 (PER_TRANSACTION)
├── Condition: AVS_POSTAL = NO_MATCH
├── Condition: MID NOT IN [whitelist]
└── Action: DECLINE
Pros: Flexible for trusted merchants Cons: Requires maintaining MID lists
Best for: International transactions
Step 1: Detect International Transaction
├── MerchantCountrySpendRule: Check if international
Step 2: Apply Relaxed AVS for International
├── ConditionalRule
│ ├── IF merchant_country != USA
│ ├── THEN allow AVS codes [MATCH, NOT_SUPPORTED, UNAVAILABLE]
│ └── ELSE require [MATCH]
Pros: Automatic for international Cons: Higher fraud risk
Best for: Dynamic risk management
Step 1: Calculate Risk Score
├── Low Risk: Amount < $50 AND recurring_merchant
├── Medium Risk: Amount $50-200 OR new_merchant
├── High Risk: Amount > $200 AND first_transaction
Step 2: Apply Tiered AVS Requirements
├── Low Risk: Allow [MATCH, NO_MATCH, NOT_SUPPORTED]
├── Medium Risk: Allow [MATCH, NO_MATCH] for postal only
└── High Risk: Require [MATCH] for both
Pros: Balances risk and approval rates Cons: Complex to implement
Best for: Temporary merchant issues
Step 1: Create Temporary Rule
├── StreetAddressSpendRule: [MATCH, NO_MATCH]
├── Valid for: 7 days
└── Auto-expire: TRUE
Step 2: Monitor and Extend if Needed
├── Track decline rate
├── Monitor fraud rate
└── Decision: Extend/Modify/Remove
Pros: Limits risk exposure Cons: Requires monitoring
Best for: Address formatting issues
Step 1: Define Partial Match Logic
├── IF postal_code = MATCH AND street = NO_MATCH
│ └── Check if amount < $100 → ALLOW
├── IF postal_code = NO_MATCH AND street = MATCH
│ └── Check if MCC is low risk → ALLOW
└── IF both = NO_MATCH → DECLINE
Pros: Nuanced approach Cons: More complex rules
Transaction Declined
├── Decline Code = RE_ENTER_TRANSACTION?
│ ├── Yes → Check AVS Response Codes
│ │ ├── Postal = NO_MATCH?
│ │ │ ├── Check if merchant is international
│ │ │ ├── Check transaction history with this MID
│ │ │ └── Suggest: Pattern A (MID Whitelist) or Pattern B (Geographic)
│ │ ├── Street = NO_MATCH?
│ │ │ ├── Check for apartment/suite in address
│ │ │ ├── Check if PO Box
│ │ │ └── Suggest: Pattern C (Risk-Based) or Pattern E (Partial Match)
│ │ └── Both = NO_MATCH?
│ │ ├── High risk - require manual review
│ │ └── Suggest: Pattern D (Time-Limited) if approved
│ └── No → Continue to next decline code
│
├── Decline Code = DO_NOT_HONOR?
│ ├── Request raw response codes from processor
│ ├── If AVS-related → Apply appropriate pattern
│ └── If not AVS → Check other rules
│
├── Decline Code = RESTRICTED_LOCATION?
│ ├── Review MerchantCountrySpendRule
│ └── Suggest: Add country to allowed list if appropriate
│
└── [Continue for other decline codes...]
| Override Type | Fraud Risk | False Decline Risk | Recommended Monitoring | Rollback Trigger |
|---|---|---|---|---|
| Full AVS Bypass (Both) | 🔴 HIGH | 🟢 LOW | • Daily review<br>• All transactions | >1% fraud rate |
| Postal Only Bypass | 🟡 MEDIUM | 🟡 MEDIUM | • Weekly review<br>• Sample 10% | >0.5% fraud rate |
| Street Only Bypass | 🟡 MEDIUM | 🟡 MEDIUM | • Weekly review<br>• Amount >$100 | >0.5% fraud rate |
| MID-Specific Bypass | 🟢 LOW | 🟢 LOW | • Monthly review<br>• New MIDs only | >0.3% fraud rate |
| Time-Limited Bypass | 🟢 LOW | 🟢 LOW | • At expiration<br>• High-value only | Auto-expire |
| Amount-Limited Bypass | 🟢 LOW | 🟡 MEDIUM | • Monthly review<br>• Aggregate analysis | Velocity spike |
Merchant Views Decline
Dashboard shows:
- Transaction ID: txn_123
- Decline Code: RE_ENTER_TRANSACTION
- AVS Detail: Postal NO_MATCH
- Merchant: "Le Café Nice" (MID: 123456)
System Analyzes Pattern
Analysis Results:
- Previous declines from this MID: 47
- All with postal code: 06000
- Success rate when bypassed: 99.2%
- Diagnosis: Merchant hardcoding postal code
System Recommends Solution
Recommended Action:
- Add MID 123456 to postal bypass whitelist
- Risk Level: LOW
- Estimated approval increase: 47 transactions/month
- [One-Click Implement] [Customize] [Learn More]
Merchant Implements
Configuration Applied:
- Rule Name: "AutoFix_Postal_MID123456"
- Type: PostalCodeVerificationSpendRule
- MID: 123456
- Duration: Permanent (with monitoring)
- [View Rule] [Set Alerts] [Undo]
| Metric | Description | Update Frequency | Alert Threshold |
|---|---|---|---|
| Decline Rate by Code | Breakdown of decline reasons | Real-time | >5% increase |
| AVS Override Usage | Transactions using overrides | Real-time | >10% of volume |
| Override Success Rate | Approved after override | Hourly | <95% |
| Fraud Rate on Overrides | Fraudulent overridden transactions | Daily | >0.5% |
| MID Performance | Success/fraud by merchant | Daily | Varies |
| Cost/Benefit Analysis | Revenue recovered vs fraud loss | Weekly | Negative ROI |