Payment Failure Error Codes
When a payment fails and triggers dunning in BillHive, the failure comes with an error code from the payment gateway. Understanding these codes helps you diagnose why payments are failing and take the right recovery action — whether that’s an automatic retry, customer outreach, or escalation.
BillHive classifies every failure into one of three decline types:
| Decline Type | Meaning | Dunning Action |
|---|---|---|
| Soft Decline | Temporary issue — likely to succeed on retry | Auto-retry with smart scheduling |
| Hard Decline | Permanent issue — retry won’t help | Skip to customer notification or escalation |
| Fraud Decline | Security/compliance block | Escalate; do not auto-retry |
Account Issues
Errors related to the customer’s bank account being closed, blocked, or invalid.
| Error Code | Description | Decline Type | Recommended Action |
|---|---|---|---|
ACCOUNT CLOSED | The account has been closed and all associated mandates were deactivated | Hard | Notify customer to update payment method |
Account Blocked or frozen | Account is temporarily blocked (e.g., KYC not updated) | Hard | Notify customer to contact their bank |
DEBIT HAS BEEN FAILED | ACCOUNT DOES NOT EXIST (REMITTER) | Account verification failed — incorrect details | Hard | Notify customer to update account details |
Not a CBS act no.or old act no.representwithCBS no | Account is old, non-CBS, or invalid | Hard | Notify customer to use a valid account |
DEBIT HAS BEEN FAILED | REMITTER CBS OFFLINE | Core Banking System is offline at customer’s bank | Soft | Auto-retry after a few hours |
U30|DEBIT HAS BEEN FAILED|YE|REMITTING ACCOUNT BLOCKED/FROZEN | Remitting account is blocked or frozen | Hard | Notify customer to resolve with their bank |
Insufficient Funds & Limits
The most common category — the customer doesn’t have enough balance or has hit a transaction limit.
| Error Code | Description | Decline Type | Recommended Action |
|---|---|---|---|
Balance Insufficient | Insufficient funds in customer account | Soft | Auto-retry on next salary cycle (smart timing) |
DEBIT HAS BEEN FAILED | INSUFFICIENT FUNDS IN CUSTOMER (REMITTER) ACCOUNT | Insufficient balance in customer account | Soft | Auto-retry with smart scheduling |
U30|DEBIT HAS BEEN FAILED|Z9|INSUFFICIENT FUNDS IN CUSTOMER (REMITTER) ACCOUNT | Insufficient funds in remitter account | Soft | Auto-retry after 2–3 days |
Amount Exceeds E-mandate Limit | Transaction amount exceeds the e-mandate limit | Hard | Notify customer to increase mandate limit or create new mandate |
DEBIT HAS BEEN FAILED | PER TRANSACTION LIMIT EXCEEDED AS SET BY REMITTING MEMBER | Per-transaction limit exceeded | Hard | Notify customer to adjust bank limits |
U29|ADDRESS RESOLUTION IS FAILED|QL|MANDATE DEBIT IS BEYOND PSP SPECIFIED AMOUNT CAP | Amount exceeds PSP-specified cap | Hard | Reduce charge amount or split into multiple charges |
DEBIT HAS BEEN FAILED | MANDATE REQUEST LIMIT HAS BREACHED | Mandate request limit breached | Hard | Wait for limit reset period |
U30|DEBIT HAS BEEN FAILED|QK|MANDATE REQUEST LIMIT HAS BREACHED | Mandate request limit exceeded | Hard | Wait for limit reset or contact support |
Not Arranged For | Bank account isn’t set up for debit transactions | Hard | Notify customer to enable debit facility |
Mandate Issues
Problems with the UPI or e-NACH mandate that authorizes recurring debits.
| Error Code | Description | Decline Type | Recommended Action |
|---|---|---|---|
Invalid UMRN or Inactive Mandate | Mandate deactivated by NPCI or cancelled by customer/merchant | Hard | Create new mandate; send payment link |
Mandate Cancelled | Mandate cancelled by customer or merchant | Hard | Create new mandate; send payment link |
Record Level Error: Invalid Mandate Info | Mandate cancelled by customer from bank | Hard | Create new mandate |
DEBIT HAS BEEN FAILED | MANDATE HAS BEEN REVOKED | Mandate has been revoked | Hard | Create new mandate; send payment link |
DEBIT HAS BEEN FAILED | MANDATE SIGNATURE IS TAMPERED OR CORRUPT (REMITTER) | Mandate signature is corrupted | Hard | Customer must contact bank; create new mandate |
DUPLICATE MANDATE REQUEST FOR SAME ITEM | Duplicate mandate request submitted | Soft | Check existing mandates before creating new one |
Mandate Qr tampered | Mandate QR code has been tampered | Hard | Generate fresh mandate |
U29|ADDRESS RESOLUTION IS FAILED|QB|MANDATE IS ALREADY HONOURED | Duplicate transaction attempt — mandate already honoured | Soft | Verify transaction isn’t already successful |
Invalid frequency | Invalid frequency for LOAN category mandate | Hard | Update mandate with correct frequency per NPCI guidelines |
Fraud & Compliance
Transactions blocked due to suspected fraud or regulatory compliance violations.
| Error Code | Description | Decline Type | Recommended Action |
|---|---|---|---|
DEBIT HAS BEEN FAILED | SUSPECTED FRAUD | Transaction flagged as suspected fraud | Fraud | Escalate; do not auto-retry |
U30|DEBIT HAS BEEN FAILED|K1|SUSPECTED FRAUD, DECLINE / TRANSACTIONS DECLINED BASED ON RISK SCORE BY REMITTER | Risk-based decline by remitter bank | Fraud | Escalate; customer must contact bank |
ADDRESS RESOLUTION IS FAILED | TRANSACTION CANNOT BE COMPLETED. COMPLIANCE VIOLATION (REMITTER) | Compliance violation detected | Fraud | Escalate; ensure regulatory compliance |
DEBIT HAS BEEN FAILED | DO NOT HONOUR (REMITTER) | Debit transaction rejected by issuing bank | Hard | Customer must contact their bank |
Bank Unavailable & Timeouts
Temporary technical issues at the customer’s bank or payment network. These are the best candidates for auto-retry.
| Error Code | Description | Decline Type | Recommended Action |
|---|---|---|---|
REMITTER BANK NOT AVAILABLE | Remitter bank system is unavailable | Soft | Auto-retry after 1–2 hours |
DEBIT TIMEOUT | REMITTER/ISSUER UNAVAILABLE (TIMEOUT) | Bank system timeout | Soft | Auto-retry after 1–2 hours |
U67|DEBIT TIMEOUT|UT|REMITTER/ISSUER UNAVAILABLE (TIMEOUT) | Timeout from remitter or issuer | Soft | Auto-retry after 1–2 hours |
REMITTER BANK DEEMED HIGH RESPONSE TIME CHECK DECLINE | Bank experiencing high traffic or technical issues | Soft | Auto-retry during off-peak hours |
U90|REMITTER BANK DEEMED HIGH RESPONSE TIME CHECK DECLINE | High response time from remitter bank | Soft | Auto-retry during off-peak hours |
U91|BENEFICIARY BANK DEEMED HIGH RESPONSE TIME CHECK DECLINE | Beneficiary bank system issues | Soft | Auto-retry during off-peak hours |
No response received from bank within the prescribed API time limit | Bank API timeout | Soft | Auto-retry after a few minutes |
ADD_RESLN_DISPATCH_FAILED | Address resolution dispatch failure | Soft | Auto-retry; contact support if persistent |
Customer Action Required
The customer needs to complete an action (authorize a mandate, respond to a collect request, etc.).
| Error Code | Description | Decline Type | Recommended Action |
|---|---|---|---|
No action performed by customer | Customer didn’t complete the authorization process | Soft | Send reminder notification to customer |
COLLECT EXPIRED | Customer didn’t complete auth after entering VPA | Soft | Resend collect request with reminder |
RESPMANDATE TIMEOUT AT REMITTER END | Customer didn’t honour the mandate within time | Soft | Send reminder; re-initiate if needed |
RESPMANDATE DECLINED BY REMITTER BANK | Remitter bank declined the mandate | Hard | Customer must contact their bank |
RESPAUTHMANDATE EXPIRED | No action performed on collect request — expired | Soft | Resend authorization request |
RESPAUTHMANDATE DECLINED BY PSP | PSP declined the authorization mandate | Hard | Contact support |
Transaction Open Status | Customer closed page before completing or retried a failed transaction | Soft | Send payment link to customer |
No Details available for Requested MandateReqID | Customer cancelled mandate before reaching NPCI page | Soft | Re-initiate mandate creation |
Invalid Data & Validation
Issues with the payment request data — wrong VPA, invalid amount, missing fields.
| Error Code | Description | Decline Type | Recommended Action |
|---|---|---|---|
U29|ADDRESS RESOLUTION IS FAILED|ZH|INVALID VIRTUAL ADDRESS | Invalid VPA used | Hard | Notify customer to update VPA |
ADDRESS RESOLUTION IS FAILED | INVALID VIRTUAL ADDRESS | Invalid Virtual Address during VPA validation | Hard | Notify customer to update VPA |
DEBIT HAS BEEN FAILED | INVALID TRANSACTION OR IF MEMBER IS NOT ABLE TO FIND ANY APPROPRIATE RESPONSE CODE (REMITTER) | Invalid transaction or unrecognized response | Soft | Retry; escalate if persistent |
U30|DEBIT HAS BEEN FAILED|XB|INVALID TRANSACTION OR IF MEMBER IS NOT ABLE TO FIND ANY APPROPRIATE RESPONSE CODE (REMITTER) | Invalid transaction from remitter | Soft | Retry; escalate if persistent |
DEBIT HAS BEEN FAILED | INVALID RESPONSE CODE | Invalid response from bank | Soft | Auto-retry |
U30|DEBIT HAS BEEN FAILED|XD|INVALID AMOUNT (REMITTER) | Invalid amount specified | Hard | Fix amount format and retry |
DEBIT HAS BEEN FAILED | RegIdDetails must be present | Required registration details missing | Hard | Ensure all required fields are provided |
U30|DEBIT HAS BEEN FAILED|V1|RegIdDetails must be present | Registration details missing | Hard | Include all required registration info |
DEBIT HAS BEEN FAILED | Id name must be present | Required ID name field missing | Hard | Include ID name field |
KYC & Verification
| Error Code | Description | Decline Type | Recommended Action |
|---|---|---|---|
Aadhaar number does not have mobile number registered with uidai | Mobile number not linked with Aadhaar | Hard | Customer must link mobile with Aadhaar at UIDAI |
Payer Account Validation Failure | TPV (Third-Party Validation) verification failed | Hard | Notify customer to verify account details |
System & Processing
Internal processing issues on the gateway side.
| Error Code | Description | Decline Type | Recommended Action |
|---|---|---|---|
Internal Payment Failed | Internal system error during payment processing | Soft | Auto-retry after a few minutes |
Charge couldn't happen on time | Previous charge was in progress, preventing next charge | Soft | Wait for previous charge to complete, then retry |
Previous request in progress | Previous request for the same action still being processed | Soft | Wait before retrying |
debit has been failed | Bank didn’t send any failure reason | Soft | Retry; escalate if persistent |
Notification Failures
Pre-debit notification delivery failures. These prevent the mandate debit from executing.
| Error Code | Description | Decline Type | Recommended Action |
|---|---|---|---|
Notification couldn't be sent to the customer | Pre-debit notification failed to send | Soft | Verify customer contact details; retry |
DEBIT HAS BEEN FAILED | Unable to Notify the Customer | Pre-debit notification delivery failed | Soft | Update customer contact information; retry |
Non-Payment (Manual / Offline Invoices)
These are not gateway errors — they occur when an invoice is raised for manual or offline payment (bank transfer, cheque, cash) with a due date, but the customer simply doesn’t pay. There is no mandate to debit, so BillHive must rely entirely on communication and escalation.
| Scenario | Description | Decline Type | Recommended Action |
|---|---|---|---|
INVOICE_OVERDUE | Invoice due date has passed with no payment received | Soft | Send payment reminder with invoice link |
INVOICE_OVERDUE_GRACE_EXPIRED | Invoice overdue and grace period has also expired | Hard | Send urgent reminder; restrict service access |
INVOICE_PARTIAL_PAYMENT | Customer made a partial payment; remaining balance is still due | Soft | Send reminder for remaining balance with updated invoice |
PAYMENT_PROMISE_BROKEN | Customer promised to pay by a date but didn’t follow through | Hard | Escalate; send final notice before hard action |
MANUAL_PAYMENT_NOT_RECEIVED | Manual payment (bank transfer, cheque) expected but not received or not reconciled | Soft | Send payment confirmation request; verify with finance team |
OFFLINE_PAYMENT_DISPUTED | Customer claims payment was made but it hasn’t been reconciled | Soft | Verify with bank/finance; request proof of payment from customer |
Key difference from gateway errors: There is no auto-retry possible for manual payments. The dunning flow relies on:
- Escalating reminders — Friendly reminder → Urgent reminder → Final notice
- Payment link generation — Send a hosted checkout link so the customer can pay online instead
- Grace period management — Keep service active for a configured grace period after due date
- Escalation — Flag for manual review or sales team follow-up for high-value accounts
- Hard action — Pause or cancel subscription if all recovery attempts are exhausted
API Errors
Errors returned by the Cashfree Subscription API during programmatic operations.
| Error Code | Description | Resolution |
|---|---|---|
subscription_id_missing | Subscription ID is required but missing in the request | Include subscription ID in API request |
plan_id_missing | Plan ID is missing, invalid, or not found | Verify plan ID exists and is correct |
payment_id_missing | Payment ID is missing or not found | Provide valid payment ID |
invalid_payment_type | Invalid payment type specified | Use supported types: E_MANDATE, UPI, CARD |
subscription_does_not_exist | Subscription doesn’t exist for the provided reference ID | Verify subscription reference ID |
authorization_payment_info_mismatch | Authorization payment info doesn’t match subscription creation info | Match payment details between creation and authorization |
tpv_not_supported | TPV not allowed for Intent and QR auth flow | Use alternative auth flow |
How BillHive Uses Error Codes in Dunning
BillHive’s AI-powered dunning system uses these error codes to make intelligent recovery decisions:
- Decline Classification — Each error code is mapped to a decline type (soft/hard/fraud) to determine whether auto-retry is appropriate
- Smart Retry Scheduling — Soft declines like
Balance Insufficienttrigger retries timed to salary cycles; timeouts trigger quick retries - Action Routing — Hard declines skip retries and go straight to customer notification with a payment update link
- Fraud Handling — Fraud declines are escalated immediately without retry attempts
- AI Context — The error code and its history are passed to the AI dunning engine, which uses them alongside customer behavior patterns to decide the optimal next action
Related Topics
- Dunning Overview — How dunning works in BillHive
- Configure Dunning — Set up retry schedules and actions
- Dunning for Payment Types — How dunning differs by payment method
- AI-Powered Dunning — How AI uses error codes for smart recovery