Skip to main content

Error codes

The following are the common error codes returned by the Subscription APIs:
Error CodeDescriptionResolution
subscription_id_missingSubscription ID is required but missing in the requestEnsure the subscription ID is included in your API request
plan_id_missingPlan ID is missing, invalid, or not foundVerify the plan ID exists and is correctly specified
payment_id_missingPayment ID is missing or not foundInclude a valid payment ID in your request
subscription_id_missing_request_failed_failedSubscription ID missing; request failedAdd the required subscription ID parameter
invalid_payment_typeInvalid payment type specifiedUse supported payment types: ‘E_MANDATE’, ‘UPI’, or ‘CARD’
subscription_does_not_existSubscription doesn’t exist for the provided reference IDVerify the subscription reference ID is correct
authorization_payment_info_mismatchAuthorization payment info doesn’t match subscription creation infoEnsure payment details match between subscription creation and authorization
tpv_not_supportedTPV currently not allowed for Intent and QR auth flowUse alternative auth flows when TPV is enabled

Transaction failure reasons

The following are the detailed failure reasons categorised by their nature:

Account issues

The following are the account-related error codes:
ErrorDescriptionResolution
ACCOUNT CLOSEDThe account has been closed and all associated mandates were deactivatedCreate a new mandate with a different account for the customer
Account Blocked or frozenAccount is temporarily blocked (for example, KYC not updated)Customer needs to contact their bank to unblock the account
DEBIT HAS BEEN FAILED | ACCOUNT DOES NOT EXIST (REMITTER)Account verification failed due to incorrect account detailsVerify and update correct account information
Not a CBS act no.or old act no.representwithCBS noAccount given for debit is old/non CBS/wrong/invalidUse a valid CBS-enabled account number
DEBIT HAS BEEN FAILED | REMITTER CBS OFFLINECore Banking System is offlineWait for CBS to come online and retry
U30|DEBIT HAS BEEN FAILED|YE|REMITTING ACCOUNT BLOCKED/FROZENRemitting account is blocked or frozenCustomer should contact their bank to resolve account issues

Balance and limit issues

The following are the balance and limit-related error codes:
ErrorDescriptionResolution
Balance InsufficientInsufficient funds in customer accountCustomer should add funds or retry when balance is available
DEBIT HAS BEEN FAILED | INSUFFICIENT FUNDS IN CUSTOMER (REMITTER) ACCOUNTInsufficient balance in customer accountRecommend customer to maintain sufficient balance before retry
U30|DEBIT HAS BEEN FAILED|Z9|INSUFFICIENT FUNDS IN CUSTOMER (REMITTER) ACCOUNTInsufficient funds in remitter accountCustomer needs to ensure adequate balance
Amount Exceeds E-mandate LimitTransaction amount exceeds the e-mandate limitReduce amount or increase mandate limit if supported
DEBIT HAS BEEN FAILED | PER TRANSACTION LIMIT EXCEEDED AS SET BY REMITTING MEMBERPer transaction limit exceededUse amount within the set transaction limits
U29|ADDRESS RESOLUTION IS FAILED|QL|MANDATE DEBIT IS BEYOND PSP SPECIFIED AMOUNT CAPAmount limit is breachedEnsure amount is within PSP specified limits
DEBIT HAS BEEN FAILED | MANDATE REQUEST LIMIT HAS BREACHEDMandate request limit has been breachedWait for limit reset or contact support
U30|DEBIT HAS BEEN FAILED|QK|MANDATE REQUEST LIMIT HAS BREACHEDMandate request limit exceededReview and adjust mandate limits
Not Arranged ForBank account isn’t set up to facilitate debit transactionCustomer should contact bank to set up debit facility

Mandate issues

The following are the mandate-related error codes:
ErrorDescriptionResolution
Invalid UMRN or Inactive MandateMandate has been deactivated by NPCI or cancelled by customer/merchantCreate a new mandate for the customer
Mandate CancelledMandate has been cancelled by customer or merchantCreate a new mandate to continue debits
Record Level Error: Invalid Mandate InfoMandate cancelled by customer from bankCreate a new mandate with updated information
DEBIT HAS BEEN FAILED | MANDATE HAS BEEN REVOKEDMandate has been revokedCreate a new mandate for the customer
DEBIT HAS BEEN FAILED | MANDATE SIGNATURE IS TAMPERED OR CORRUPT (REMITTER)Mandate signature is corruptedCustomer should contact issuing bank
DUPLICATE MANDATE REQUEST FOR SAME ITEMDuplicate mandate request submittedAvoid duplicate requests or check existing mandates
Mandate Qr tamperedMandate QR code has been tampered withGenerate a new mandate with fresh QR code
U29|ADDRESS RESOLUTION IS FAILED|QB|MANDATE IS ALREADY HONOUREDDuplicate transaction attemptEnsure transaction isn’t a duplicate of a previously successful one
Invalid frequencyInvalid frequency specified for LOAN categoryUse appropriate frequency as per NPCI guidelines

Fraud and security

The following are the fraud and security-related error codes:
ErrorDescriptionResolution
DEBIT HAS BEEN FAILED | SUSPECTED FRAUDTransaction flagged as suspected fraudCustomer should contact their bank for clearance
U30|DEBIT HAS BEEN FAILED|K1|SUSPECTED FRAUD, DECLINE / TRANSACTIONS DECLINED BASED ON RISK SCORE BY REMITTERRisk-based decline by remitter bankCustomer may retry or contact bank
ADDRESS RESOLUTION IS FAILED | TRANSACTION CANNOT BE COMPLETED. COMPLIANCE VIOLATION (REMITTER)Compliance violation detectedEnsure transaction complies with regulatory requirements
DEBIT HAS BEEN FAILED | DO NOT HONOUR (REMITTER)Debit transaction rejected by issuing bankCustomer should contact their bank

Technical issues

The following are the technical error codes:
ErrorDescriptionResolution
REMITTER BANK NOT AVAILABLERemitter bank system is unavailableRetry the transaction after some time
DEBIT TIMEOUT | REMITTER/ISSUER UNAVAILABLE (TIMEOUT)Bank system timeout occurredRetry the transaction when bank systems are stable
U67|DEBIT TIMEOUT|UT|REMITTER/ISSUER UNAVAILABLE (TIMEOUT)Timeout from remitter or issuerRetry during stable network conditions
REMITTER BANK DEEMED HIGH RESPONSE TIME CHECK DECLINEBank system experiencing high traffic or technical issuesRetry during off-peak hours
U90|REMITTER BANK DEEMED HIGH RESPONSE TIME CHECK DECLINEHigh response time from remitter bankRetry when bank systems are more responsive
U91|BENEFICIARY BANK DEEMED HIGH RESPONSE TIME CHECK DECLINEBeneficiary bank system issuesRetry when bank systems are stable
No response received from bank within the prescribed API time limitBank API timeoutRetry the transaction
ADD_RESLN_DISPATCH_FAILEDAddress resolution dispatch failureContact support for technical assistance

Customer action required

The following are the error codes that require customer action:
ErrorDescriptionResolution
No action performed by customerCustomer didn’t complete the authorization processCustomer needs to complete the payment flow
COLLECT EXPIREDCustomer didn’t complete auth after entering VPACustomer should complete the transaction within time limit
RESPMANDATE TIMEOUT AT REMITTER ENDCustomer didn’t honor the mandate within timeCustomer should respond to mandate requests
RESPMANDATE DECLINED BY REMITTER BANKRemitter bank declined the mandateCustomer should contact their bank
RESPAUTHMANDATE EXPIREDNo action performed on collect request and it expiredCustomer should complete authorization within time limit
RESPAUTHMANDATE DECLINED BY PSPPSP declined the authorization mandateContact support for assistance
Transaction Open StatusCustomer closed transaction page before completion or retried failed transactionComplete the transaction without closing the page
No Details available for Requested MandateReqIDCustomer cancelled mandate before reaching NPCI pageReinitiate the mandate creation process

Invalid data and validation

The following are the data validation error codes:
ErrorDescriptionResolution
U29|ADDRESS RESOLUTION IS FAILED|ZH|INVALID VIRTUAL ADDRESSInvalid VPA used in transactionUse a valid and verified VPA
ADDRESS RESOLUTION IS FAILED | INVALID VIRTUAL ADDRESSInvalid Virtual Address during VPA validationVerify and use correct VPA
DEBIT HAS BEEN FAILED | INVALID TRANSACTION OR IF MEMBER IS NOT ABLE TO FIND ANY APPROPRIATE RESPONSE CODE (REMITTER)Invalid transaction or unrecognized responseRetry with valid transaction details
U30|DEBIT HAS BEEN FAILED|XB|INVALID TRANSACTION OR IF MEMBER IS NOT ABLE TO FIND ANY APPROPRIATE RESPONSE CODE (REMITTER)Invalid transaction from remitterVerify transaction details and retry
DEBIT HAS BEEN FAILED | INVALID RESPONSE CODEInvalid response received from bankRetry the transaction
U30|DEBIT HAS BEEN FAILED|XD|INVALID AMOUNT (REMITTER)Invalid amount specifiedUse valid amount format and value
DEBIT HAS BEEN FAILED | RegIdDetails must be presentRequired registration details missingEnsure all required details are provided
U30|DEBIT HAS BEEN FAILED|V1|RegIdDetails must be presentRegistration details missingInclude all required registration information
DEBIT HAS BEEN FAILED | Id name must be presentRequired ID name field missingInclude the ID name field in the request

Know your customer and documentation

The following are the KYC and documentation-related error codes:
ErrorDescriptionResolution
Aadhaar number does not have mobile number registered with uidaiMobile number not linked with AadhaarCustomer should link mobile number with Aadhaar
Payer Account Validation FailureTPV verification failedEnsure correct account details for TPV verification

System and processing status

The following are the system and processing status error codes:
ErrorDescriptionResolution
Internal Payment FailedInternal system error during payment processingRetry the transaction or contact support
Charge couldn't happen on timePrevious charge was in progress, preventing next chargeWait for previous charge to complete
Previous request in progressPrevious request for same action is still being processedWait for previous request to complete before retrying
debit has been failedBank didn’t send any failure reasonCheck with bank for specific failure details

Notification issues

The following are the notification-related error codes:
ErrorDescriptionResolution
Notification couldn't be sent to the customerPre-debit notification failed to sendEnsure customer contact details are correct
DEBIT HAS BEEN FAILED | Unable to Notify the CustomerPre-debit notification delivery failedUpdate customer contact information

Error response structure

Subscription API errors follow this structure:
{
  "status": "ERROR",
  "subCode": "400",
  "message": "Error description",
  "reason": "Detailed error reason"
}

Best practices for error handling

The following are the recommended practices for handling subscription errors: Implement retry logic:
  • For timeout and temporary errors, implement exponential backoff retry logic.
  • Start with a 1-second delay, double the delay for each subsequent retry.
  • Use a maximum of 3-5 retry attempts.
  • Apply different retry strategies for different error types.
Customer communication:
  • Provide clear, actionable error messages to customers.
  • Include specific steps they need to take for resolution.
  • Avoid technical jargon in customer-facing messages.
Mandate management:
  • Monitor mandate status.
  • Proactively create new mandates when existing ones are cancelled or expired.
  • Implement mandate renewal work flows before expiration.
Balance monitoring:
  • Advise customers to maintain sufficient balance before scheduled debits.
  • Send pre-debit notifications to remind customers.
  • Implement balance check APIs where available.
Error logging and monitoring:
  • Log all errors with timestamps and request details.
  • Set up alerts for critical error patterns.
  • Analyse error trends to identify systemic issues.
Graceful degradation:
  • Provide alternative payment methods when subscription payment fails.
  • Implement fallback mechanisms for critical payment flows.
  • Maintain service availability despite individual payment failures.
Security considerations:
  • Handle fraud-related errors with additional verification steps.
  • Implement risk scoring for suspicious transaction patterns.
  • Maintain compliance with regulatory requirements.
For additional API error codes and web hook error structures, refer to the Payment Errors documentation.
I