m2pfintech

NPCI UPI Error & Response Codes

Complete NPCI UPI error and response code reference (V 2.5) — 700+ codes across general, U-series, bank, mandate, validation, and dispute categories.

General Response Codes

CodeNameMessage
00SUCCESSApproved or completed successfully
01PENDINGTransaction is pending
15ISSUER_NOT_LIVEIssuer not live on UPI
21NO_ACTION_TAKENNo action taken (full reversal)
32PARTIAL_REVERSALPartial reversal
52INVALID_ACCOUNTInvalid account – LRN passed in ARQC is wrong
12INVALID_TXNInvalid transaction – Transaction ID are wrong in ARQC
59SUSPECTED_FRAUDSuspected fraud, decline / transactions declined based on risk score by remitter
96REVERSAL_FAILUREReversal failure

U-Series: UPI Switch / System Codes

CodeNameMessage
U01DUPLICATE_REQUESTThe request is duplicate
U02AMOUNT_CAP_EXCEEDEDAmount cap is exceeded
U03NET_DEBIT_CAP_EXCEEDEDNet debit cap is exceeded
U04REQUEST_NOT_FOUNDRequest is not found
U05FORMATION_NOT_PROPERFormation is not proper
U06TXN_ID_MISMATCHTransaction ID is mismatched
U07VALIDATION_ERRORValidation error
U08SYSTEM_EXCEPTIONSystem exception
U09REQAUTH_TIMEOUTReqAuth time out for pay
U10ILLEGAL_OPERATIONIllegal operation
U11CREDENTIALS_NOT_PRESENTCredentials is not present
U12AMOUNT_CURRENCY_MISMATCHAmount or currency mismatch
U13EXTERNAL_ERRORExternal error
U14ENCRYPTION_ERROREncryption error
U15CHECKSUM_FAILEDChecksum failed
U16RISK_THRESHOLD_EXCEEDEDRisk threshold exceeded
U17PSP_NOT_REGISTEREDPSP is not registered
U18REQAUTH_ACK_NOT_RECEIVEDRequest authorisation acknowledgement is not received
U19REQAUTH_DECLINEDRequest authorisation is declined
U20REQAUTH_TIMEOUTRequest authorisation timeout
U21REQAUTH_NOT_FOUNDRequest authorisation is not found
U22CM_REQUEST_DECLINEDCM request is declined
U23CM_REQUEST_TIMEOUTCM request timeout
U24CM_ACK_NOT_RECEIVEDCM request acknowledgement is not received
U25CM_URL_NOT_FOUNDCM URL is not found
U26PSP_CREDIT_ACK_NOT_RECEIVEDPSP request credit pay acknowledgement is not received
U27NO_RESPONSE_FROM_PSPNo response from PSP
U28REMITTER_BANK_NOT_AVAILABLERemitter bank not available
U29ADDRESS_RESOLUTION_FAILEDAddress resolution is failed
U30DEBIT_FAILEDDebit has been failed
U31CREDIT_FAILEDCredit has been failed
U32CREDIT_REVERT_FAILEDCredit revert has been failed
U33DEBIT_REVERT_FAILEDDebit revert has been failed
U34REVERTEDReverted
U35RESPONSE_ALREADY_RECEIVEDResponse is already been received
U36REQUEST_ALREADY_SENTRequest is already been sent
U37REVERSAL_SENTReversal has been sent
U38RESPONSE_ALREADY_SENTResponse is already been sent
U39TXN_ALREADY_FAILEDTransaction is already been failed
U40IMPS_PROCESSING_FAILEDIMPS processing failed in UPI
U41IMPS_SIGNED_OFFIMPS is signed off
U42IMPS_TXN_ALREADY_PROCESSEDIMPS transaction is already been processed
U43IMPS_DECLINEDIMPS is declined
U44FORM_SIGNED_OFFForm has been signed off
U45FORM_PROCESSING_FAILEDForm processing has been failed in UPI
U46REQUEST_CREDIT_NOT_FOUNDRequest credit is not found
U47REQUEST_DEBIT_NOT_FOUNDRequest debit is not found
U48TXN_ID_NOT_PRESENTTransaction ID is not present
U49REQUEST_MSGID_NOT_PRESENTRequest message ID is not present
U50IFSC_NOT_PRESENTIFSC is not present
U51REQUEST_REFUND_NOT_FOUNDRequest refund is not found
U52PSP_ORGID_NOT_FOUNDPSP OrgId not found
U53PSP_DEBIT_ACK_NOT_RECEIVEDPSP request pay debit acknowledgement not received
U54CRED_BLOCK_MISMATCHTransaction ID or amount in credential block does not match with that in ReqPay
U55ORGID_MISMATCHMessage integrity failed due to OrgId mismatch
U56NUM_PAYEES_DIFFERSNumber of payees differs from original request
U57PAYEE_AMOUNT_DIFFERSPayee amount differs from original request
U58PAYER_AMOUNT_DIFFERSPayer amount differs from original request
U59PAYEE_ADDRESS_DIFFERSPayee address differs from original request
U60PAYER_ADDRESS_DIFFERSPayer address differs from original request
U61PAYEE_INFO_DIFFERSPayee info differs from original request
U62PAYER_INFO_DIFFERSPayer info differs from original request
U63DEVICE_REG_FAILEDDevice registration failed in UPI
U64DATA_TAG_INVALIDData tag should contain 4 parts during device registration
U65CREDS_BLOCK_INVALIDCreds block should contain correct elements during device registration
U66DEVICE_FINGERPRINT_MISMATCHDevice fingerprint mismatch
U67DEBIT_TIMEOUTDebit timeout
U68CREDIT_TIMEOUTCredit timeout
U69COLLECT_EXPIREDCollect expired
U70LATE_RESPONSEReceived late response
U71MERCHANT_CREDIT_NOT_SUPPORTEDMerchant credit not supported in IMPS
U72VAE_FAILEDVAE failed
U74PAYER_ACCOUNT_MISMATCHPayer account mismatch
U75PAYEE_ACCOUNT_MISMATCHPayee account mismatch
U76MBREG_FORMAT_NOT_SUPPORTEDMobile banking registration format not supported by the issuer bank
U77MERCHANT_BLOCKEDMerchant blocked
U78BENEFICIARY_BANK_OFFLINEBeneficiary bank offline
U79UIDAI_FAILUREUIDAI failure
U80UIDAI_TIMEOUTUIDAI timeout
U81UIDAI_INVALID_FORMATUIDAI auth res invalid / format error
U82READ_TIMEOUT_CREDITRead timeout in ReqPay credit
U83ACCTYPE_NOT_SUPPORTEDAccType is not supported (OD)
U84BENEFICIARY_DEEMED_DECLINEBeneficiary bank deemed check decline
U85CONN_TIMEOUT_DEBITConnection timeout in ReqPay debit
U86REMITTER_THROTTLING_DECLINERemitter bank throttling decline
U87READ_TIMEOUT_DEBITRead timeout in ReqPay debit
U88CONN_TIMEOUT_CREDITConnection timeout in ReqPay credit
U89BENEFICIARY_THROTTLING_DECLINEBeneficiary bank throttling decline
U90REMITTER_DEEMED_HIGH_RTRemitter bank deemed high response time check decline
U91BENEFICIARY_DEEMED_HIGH_RTBeneficiary bank deemed high response time check decline
U92PAYER_PSP_NOT_AVAILABLEPayer PSP not available
U93PAYEE_PSP_NOT_AVAILABLEPayee PSP not available
U94PAYEE_PSP_THROTTLE_DECLINEPayee PSP throttle decline
U95PAYEE_VPA_DISABLEDPayee VPA Aadhaar or IIN VPA is disabled
U96PAYER_PAYEE_SAMEPayer and payee IFSC/ACNUM can't be same
U97NO_ACK_REQAUTHVALCUSTNo Ack for ReqAuthValCust
U98NULL_ACK_REQAUTHVALCUSTNull Ack for ReqAuthValCust
U99NEG_ACK_REQAUTHVALCUSTNeg Ack for ReqAuthValCust

Bank / Account / Transaction Codes (Alphabetical)

CodeNameMessage
A0INVALID_DETAILSInvalid details (mismatch between details in ListAccount and ReqOtp / No LK & AUA shared by remitter bank)
A20BLANK_INVALID_AADHAARBlank / invalid Aadhaar number
AEARQC_VALIDATION_ERRORARQC validation error
AJCARD_NOT_ACTIVECard is not active
AMMPIN_NOT_SETMPIN not set by customer
B1MOBILE_NUMBER_CHANGEDRegistered mobile number linked to the account has been changed / removed
B2MULTIPLE_NAMES_LINKEDAccount linked with multiple names
B3TXN_NOT_PERMITTEDTransaction not permitted to the account
B6PAYMENT_DETAILS_MISMATCHMismatch in payment details
B7CARD_MGMT_SYSTEM_DOWNBank card management system is down
BPBALANCE_PRESENTBalance present – transaction initiated with zero balance
BRMOBILE_MULTIPLE_CUSTIDMobile number registered with multiple customer IDs
BTACQUIRER_BENEFICIARY_TIMEOUTAcquirer / beneficiary unavailable (timeout)
CACOMPLIANCE_ERROR_ACQUIRERCompliance error code for acquirer
CECRYPTO_ERRORCrypto error – cred block is incorrect
CICOMPLIANCE_ERROR_ISSUERCompliance error code for issuer
CNCOUNTRY_CURRENCY_NOT_SUPPORTEDCountry / currency not supported
CSCREDIT_SUCCESSCredit success
DFDUPLICATE_RRN_BENEFICIARYDuplicate RRN found in the transaction (beneficiary)
DTDUPLICATE_RRN_REMITTERDuplicate RRN found in the transaction (remitter)
DUDUPLICATE_LRNDuplicate LRN
FLFIRST_TXN_LIMIT_EXCEEDEDFirst transaction limit exceeded
FPFREEZE_PERIOD_FIRST_USERFreeze period for first time user
GAINVALID_MERCHANT_DETAILSInvalid merchant details
GBVOUCHER_DETAILS_MISMATCHOriginal voucher details mismatch
GCMCC_PURPOSE_MISMATCHMCC and purpose code mismatch
GEARPC_GENERATION_ERRORARPC generation error
HSHSM_DOWN_REMITTERBanks HSM is down (remitter)
IADUPLICATE_BLOCKFUNDDuplicate blockfund for mandate request
IBREVOKE_MANDATE_UNBLOCKEDRevoke mandate after the remitter unblocked the amount
ICDEBIT_NOT_BLOCKEDDebit amount is not blocked for the customer
IDDEBIT_GREATER_THAN_BLOCKEDDebit amount greater than blocked amount
IEFUNDS_BLOCKED_FOR_MANDATEAdequate funds not available in the account because funds have been blocked for mandate
IKINVALID_KEYInvalid key – keys passed in ARQC is wrong
ININTL_SERVICE_DISABLEDInternational service not activated / disabled
IRINTERNAL_EXCEPTION_REMITTERUnable to process due to internal exception at server / CBS / etc on remitter side
IVINVALID_VERIFICATION_TOKENInvalid verification token
K1RISK_SCORE_DECLINE_REMITTERSuspected fraud, decline / transactions declined based on risk score by remitter
KNKYC_NOT_AVAILABLEKYC not available
LCCREDIT_POOL_FAILEDUnable to process credit from bank's pool / BGL account
LDDEBIT_POOL_FAILEDUnable to process debit in bank's pool / BGL account
M16AI_MODEL_DECLINEAI model decline
M2AMT_LIMIT_EXCEEDEDAmount is passed more than the limit amount (cumulative 2000 limit)
MBMERGED_ACTIVITY_BENEFICIARYIncorrect account details due to amalgamated / merged activity on beneficiary side
MDMISMATCHING_DEVICEMismatching device – mismatch in details between ARQC and auth engine
MMMANDATE_DECLINED_MERCHANTMandate request is declined by merchant (payee)
MQ7MCC_NOT_MAPPEDMCC code not mapped with purpose
MRMERGED_ACTIVITY_REMITTERIncorrect account details due to amalgamated / merged activity on remitter side
NCCREDIT_NOT_DONECredit not done
NDDEBIT_NOT_DONEDebit not done
NONO_ORIGINAL_REQUESTNo original request found during debit / credit
NUUNABLE_TO_NOTIFYUnable to notify the customer
OCORIGINAL_CREDIT_NOT_FOUNDOriginal credit not found
ODORIGINAL_DEBIT_NOT_FOUNDOriginal debit not found
PAINVALID_PANInvalid PAN details
PEPAYMENT_VALIDITY_EXPIREDPayment validity expired
PQQR_TAMPEREDQR tampered
PSMAX_BALANCE_EXCEEDEDMaximum balance exceeded as set by beneficiary bank
QUPAYER_ACCOUNT_CHANGEDPayer account has changed (payer)
RAPAYER_PAYEE_SAMEPayer and payee account should not be equal
RBCREDIT_REVERSAL_TIMEOUTCredit reversal timeout (reversal)
RDREQUEST_DECLINEDRequest decline by the bank
RMINVALID_MPIN_POLICYInvalid MPIN (violation of policies while setting / changing MPIN)
RNREG_TEMP_BLOCKEDRegistration is temporary blocked due to maximum no of attempts exceeded
RPPARTIAL_DEBIT_REVERSAL_TIMEOUTPartial debit reversal timeout
RRDEBIT_REVERSAL_TIMEOUTDebit reversal timeout (reversal)
RZACCOUNT_ALREADY_REGISTEREDAccount is already registered with MBEBA flag as 'Y'
SATXN_NOT_PERMITTED_ACTYPETransaction not permitted for this A/C type (OD / CC / PPI)
SDSERVICE_DISABLEDService disable on UPI / customer is not active
SPINVALID_ATM_PINInvalid / incorrect ATM PIN
TMCOLLECT_DECLINED_BLOCKEDCollect request is declined as requestor is blocked by customer
UAPSP_NOT_SUPPORTEDPSP not supported by UPI
UBINTERNAL_EXCEPTION_BENEFICIARYUnable to process due to internal exception at server / CBS / etc on beneficiary side
UPPSP_TIMEOUTPSP time-out
UTREMITTER_ISSUER_TIMEOUTRemitter / issuer unavailable (timeout)
UWTRAN_AMT_EXCEEDS_LIMITAmount passed in ReqPay is more than the MCB balance
UXEXPIRED_VIRTUAL_ADDRESSExpired virtual address
VNVAE_NOT_EXISTVAE does not exist
X1RESPONSE_NOT_WITHIN_TATResponse not received within TAT as set by payee
X6INVALID_MERCHANT_ACQUIRERInvalid merchant (acquirer)
X7MERCHANT_NOT_REACHABLEMerchant not reachable (acquirer)

Q-Series: Mandate Codes (Payer Side)

CodeNameMessage
QAMANDATE_PAUSED_USERMandate is paused by user
QBMANDATE_ALREADY_HONOUREDMandate is already honoured
QCMANDATE_REVOKEDMandate has been revoked
QDMANDATE_EXPIREDMandate has expired
QHTXN_AMOUNT_DIFFERS_MANDATETxn amount differs from mandate amount
QIPAYEE_VPA_INCORRECT_PAYERPayee VPA is incorrect (payer)
QJUMN_NOT_EXIST_PAYERUMN does not exist (payer)
QKMANDATE_REQUEST_LIMIT_BREACHEDMandate request limit has breached
QLMANDATE_DEBIT_BEYOND_CAPMandate debit is beyond PSP specified amount cap
QMPAYER_VPA_INCORRECT_PAYERPayer VPA is incorrect (payer)
QNDUPLICATE_MANDATE_REQUESTDuplicate mandate request
QOMANDATE_NON_REVOKEABLEThis mandate is non revokeable
QPPAYER_MANDATE_NO_PAYEE_MODIFYPayer initiated mandate cannot be modified by payee
QQMANDATE_NOT_ALLOWED_VPA_PAYERMandate cannot be created on this VPA (payer)
QREXECUTION_RULE_MISMATCH_PAYERExecution day and execution rule mismatch (payer)
QSPAYER_PROFILE_NOT_EXISTPayer profile does not exist (de registration / VPA removed / updated)
QTMANDATE_MODIFY_DECLINED_PAYERMandate modify request is declined (payer)
QVMANDATE_DECLINED_NON_MERCHANT_PAYERMandate declined as payee is non-merchant (payer)
QWUMN_NOT_EXIST_PAYEEUMN does not exist (payee)
QXPAYER_VPA_INCORRECT_PAYEEPayer VPA is incorrect (payee)
QYPAYEE_MANDATE_NO_PAYER_MODIFYPayee initiated mandate cannot be modified by payer
QZMANDATE_MODIFY_DECLINED_MERCHANTMandate modification declined by merchant
Q1SEQNUM_MISMATCH_PAYER_PSPSeqNum mismatch (payer PSP)
Q2RECURRENCE_MISMATCH_PAYERRecurrence pattern and value mismatch (payer)
Q3PURPOSE14_BLOCKFUND_Y_PAYERPurpose code=14, Block Fund=Y (block fund must be N always for SI/recurring mandate) (payer)
Q4PURPOSE14_REVOCABLE_N_PAYERPurpose Code=14, Revocable=N (revokable tag must always be Y for SI/recurring mandate) (payer)
Q13PAYEE_AMOUNT_NOT_ALLOWEDPayee amount is not allowed only if txntype is not mandate notification
Q14PAYER_AMOUNT_NOT_ALLOWEDPayer amount is not allowed only if txntype is ValCust / MandateNotification

V-Series: Mandate Codes (Remitter Side)

CodeNameMessage
VAMANDATE_REVOKED_REMITTERMandate has been revoked
VBINCORRECT_RECURRENCE_PATTERNIncorrect recurrence pattern
VCINCORRECT_RECURRENCE_RULEIncorrect recurrence pattern rule
VDINCORRECT_AMOUNT_RULEIncorrect amount rule
VEMANDATE_ALREADY_HONOURED_REMITTERMandate is already honoured
VFUMN_NOT_EXIST_REMITTERUMN does not exist (remitter)
VGPAYER_VPA_INCORRECT_REMITTERPayer VPA is incorrect (remitter)
VHMANDATE_SIGNATURE_TAMPEREDMandate signature is tampered or corrupt (remitter)
VIEXECUTION_RULE_MISMATCH_REMITTERExecution day and execution rule mismatch (remitter)
VJPAYER_ACCOUNT_CHANGED_REMITTERPayer account has changed (remitter)
VKMANDATE_COUNT_EXCEEDEDNumber of mandates allowed on this account has exceeded issuer's limit
VLMANDATE_REG_NOT_ALLOWEDMandate registration not allowed for CC PF PPF ACT (bank's policy)
VMNATURE_DEBIT_NOT_ALLOWEDNature of debit not allowed in account type
VNVAE_NOT_EXISTVAE does not exist
VOPAYMENT_STOPPED_COURTPayment stopped by court order
VPWITHDRAWAL_STOPPED_DEATHWithdrawal stopped owing to death of account holder
VQWITHDRAWAL_STOPPED_INSOLVENCYWithdrawal stopped owing to insolvency of account
VRWITHDRAWAL_STOPPED_LUNACYWithdrawal stopped owing to lunacy of account holder
VSDUPLICATE_MANDATE_SAME_ITEMDuplicate mandate request for same item
VTMANDATE_PAUSED_REMITTERMandate is paused
VUMANDATE_EXPIRED_REMITTERMandate has expired
VVMANDATE_NOT_ALLOWED_VPA_PAYEEMandate cannot be created on this VPA (payee)
VWMANDATE_MODIFY_DECLINED_PAYEEMandate modify request is declined (payee)
VXMANDATE_DECLINED_NON_MERCHANT_PAYEEMandate declined as payee is non merchant (payee)
VYPAYEE_VPA_INCORRECT_REMITTERPayee VPA is incorrect (remitter)
VZPAYMENT_STOPPED_ATTACHMENTPayment stopped by attachment order
V1SEQNUM_MISMATCH_REMITTERSeqNum mismatch (remitter)
V2RECURRENCE_MISMATCH_REMITTERRecurrence pattern and value mismatch (remitter)
V3PIN_CRED_MISSING_GT15KPIN cred block is missing (txns > Rs 15000)
V4PIN_CRED_MISSING_LT15K_SEQ1PIN cred block is missing (txns < Rs 15000 and Seq No = 1)
V5PURPOSE14_BLOCKFUND_Y_REMITTERPurpose code=14, Block Fund=Y (block fund must be N always for SI/recurring mandate) (remitter)
V6PURPOSE14_REVOCABLE_N_REMITTERPurpose Code=14, Revocable=N (revokable tag must always be Y for SI/recurring mandate except for MCC 7322) (remitter)

X-Series: Remitter / Beneficiary Validation Codes

CodeNameMessage
XBINVALID_TXN_REMITTERInvalid transaction or if member is not able to find any appropriate response code (remitter)
XCINVALID_TXN_BENEFICIARYInvalid transaction or if member is not able to find any appropriate response code (beneficiary)
XDINVALID_AMOUNT_REMITTERInvalid amount (remitter)
XEINVALID_AMOUNT_BENEFICIARYInvalid amount (beneficiary)
XFFORMAT_ERROR_REMITTERFormat error (invalid format) (remitter)
XGFORMAT_ERROR_BENEFICIARYFormat error (invalid format) (beneficiary)
XHACCOUNT_NOT_EXIST_REMITTERAccount does not exist (remitter)
XIACCOUNT_NOT_EXIST_BENEFICIARYAccount does not exist (beneficiary)
XJFUNCTION_NOT_SUPPORTED_REMITTERRequested function not supported (remitter)
XKFUNCTION_NOT_SUPPORTED_BENEFICIARYRequested function not supported (beneficiary)
XLEXPIRED_CARD_REMITTERExpired card, decline (remitter)
XMEXPIRED_CARD_BENEFICIARYExpired card, decline (beneficiary)
XNNO_CARD_RECORD_REMITTERNo card record (remitter)
XONO_CARD_RECORD_BENEFICIARYNo card record (beneficiary)
XPTXN_NOT_PERMITTED_CARD_REMITTERTransaction not permitted to cardholder (remitter)
XQTXN_NOT_PERMITTED_CARD_BENEFICIARYTransaction not permitted to cardholder (beneficiary)
XRRESTRICTED_CARD_REMITTERRestricted card, decline (remitter)
XSRESTRICTED_CARD_BENEFICIARYRestricted card, decline (beneficiary)
XTCUTOFF_REMITTERCut-off is in process (remitter)
XUCUTOFF_BENEFICIARYCut-off is in process (beneficiary)
XVCOMPLIANCE_VIOLATION_REMITTERTransaction cannot be completed. Compliance violation (remitter)
XWCOMPLIANCE_VIOLATION_BENEFICIARYTransaction cannot be completed. Compliance violation (beneficiary)
XXNO_FINANCIAL_ADDRESSNo financial address record found
XYREMITTER_CBS_OFFLINERemitter CBS offline

Y-Series: Account / Honour Codes

CodeNameMessage
Y1BENEFICIARY_CBS_OFFLINEBeneficiary CBS offline
YALOST_STOLEN_CARD_REMITTERLost or stolen card (remitter)
YBLOST_STOLEN_CARD_BENEFICIARYLost or stolen card (beneficiary)
YCDO_NOT_HONOUR_REMITTERDo not honour (remitter)
YDDO_NOT_HONOUR_BENEFICIARYDo not honour (beneficiary)
YEREMITTER_ACCOUNT_BLOCKEDRemitting account blocked / frozen
YFBENEFICIARY_ACCOUNT_BLOCKEDBeneficiary account blocked / frozen
YGMERCHANT_ERROR_PAYEE_PSPMerchant error (payee PSP)
YHMERCHANT_ERROR_ACQUIRINGMerchant error (acquiring bank)
YIINVALID_RESPONSE_CODEInvalid response code

Z-Series: Credential / Limit / Status Codes

CodeNameMessage
Z5INVALID_BENEFICIARY_CREDSInvalid beneficiary credentials
Z6PIN_TRIES_EXCEEDEDNumber of PIN tries exceeded
Z7TXN_FREQ_LIMIT_EXCEEDEDTransaction frequency limit exceeded as set by remitting member
Z8PER_TXN_LIMIT_EXCEEDEDPer transaction limit exceeded as set by remitting member
Z9INSUFFICIENT_FUNDSInsufficient funds in customer (remitter) account
ZATXN_DECLINED_BY_CUSTOMERTransaction declined by customer
ZBINVALID_MERCHANT_PAYEE_PSPInvalid merchant (payee PSP)
ZCACQUIRER_BENEFICIARY_UNAVAILABLEAcquirer / beneficiary unavailable
ZDVALIDATION_ERRORValidation error
ZETXN_NOT_PERMITTED_VPATransaction not permitted to VPA by the PSP
ZFTXN_NOT_PERMITTED_DEVICETransaction not permitted to device
ZGVPA_RESTRICTED_BY_CUSTOMERVPA restricted by customer
ZHINVALID_VIRTUAL_ADDRESSInvalid virtual address
ZIRISK_SCORE_DECLINE_BENEFICIARYSuspected fraud, decline / transactions declined based on risk score by beneficiary
ZJBENEFICIARY_SWITCH_OFFLINEBeneficiary or acquiring switch is inoperative / node offline
ZKREMITTER_SWITCH_OFFLINERemitter switch is inoperative / node offline
ZLLATE_RESPONSEReceived late response
ZMINVALID_MPINInvalid MPIN
ZNFUNCTIONALITY_NOT_AVAILABLE_MERCHANTFunctionality not yet available for merchant through the acquiring bank
ZOFUNCTIONALITY_NOT_AVAILABLE_CUSTOMERFunctionality not yet available for customer through the payee PSP
ZPBANK_NOT_LIVE_TXN_TYPEBanks as beneficiary not live on particular txn type
ZQUNABLE_TO_PROCESS_REVERSALUnable to process reversal
ZRINVALID_OTPInvalid OTP
ZSOTP_EXPIREDOTP expired
ZTOTP_TXN_LIMIT_EXCEEDEDOTP transaction limit exceeded
ZULIMIT_EXCEEDED_REMITTERLimit exceeded for remitting bank / issuing bank
ZVINCORRECT_OTPIncorrect OTP
ZXINACTIVE_DORMANT_REMITTERInactive or dormant account (remitter)
ZYINACTIVE_DORMANT_BENEFICIARYInactive or dormant account (beneficiary)

S-Series: Spam / Throttle Codes

CodeNameMessage
S0SPAM_COLLECT_DECLINEDSpam collect declined by PSP
S1PAYEE_SPAM_RULE_1Payee is reported as spam under rule 1
S2PAYEE_SPAM_RULE_2Payee is reported as spam under rule 2
S3PAYEE_SPAM_RULE_3Payee is reported as spam under rule 3
S93PAYEE_PSP_THROTTLE_OUTGOINGPayee PSP throttle decline outgoing count
S94PAYEE_PSP_THROTTLE_RTPayee PSP throttle decline response time
S95BENEFICIARY_DISPATCH_FAILEDBeneficiary dispatch failed
S96REMITTER_DISPATCH_FAILEDRemitter dispatch failed
S97ADDR_RESLN_DISPATCH_FAILEDAdd resolution dispatch failed
S98ISSUER_DISPATCH_FAILEDIssuer dispatch failed
S99GRACEFUL_DECLINEGraceful decline

CC-Series: Credit Card Codes

CodeNameMessage
CC1CC_BIN_MISMATCHCredit card bin mismatch
CC2BOTH_CC_ACCOUNTBoth payer payee account is credit card
CC3ICCW_NOT_ALLOWED_CCICCW transaction are not allowed for payer account type credit card
CC4ERUPI_NOT_ALLOWED_CCERUPI transaction is not allowed for payer account type credit card
CC5FIR_NOT_ALLOWED_CCFIR not allowed for payee / beneficiary account type credit card
CC6PAN_VALIDATION_NOT_ALLOWED_CCPAN validation not allowed for account type credit card
CC7AADHAAR_OTP_NOT_ALLOWED_CCAadhaar OTP mode of PIN set not allowed for customer account type credit card
CC8MERCHANT_ATTR_MISSING_CCMerchant mandatory attributes not present account type credit card

Header Validation Codes (H/HM/HV)

CodeNameMessage
H02HEADER_VER_INVALIDVer numeric / decimal min length 1 max length 6
H03HEADER_TS_INVALIDTS must be ISO_ZONE format
H06HEADER_MSGID_MISSINGMsgId must be present maxlength 35
HM1META_TAG_NAME_INVALIDMeta.tag.name must be present / valid
HM2META_TAG_VALUE_INVALIDMeta.tag.value must be ISO_ZONE format
HV0HEADER_NOT_PRESENTHeader must be present
HV1HEADER_VER_DIFFERSHeader ver differs from original request
HV2HEADER_TS_MISSINGHeader TS must be present
HV3ORGID_DIFFERSOrgId differs from original request
HV4HEADER_MSGID_DIFFERSHeader MsgId differs from original request

Transaction Validation Codes (T-Series)

CodeNameMessage
T01TXN_NOT_PRESENTTxn not present
T02TXN_ID_MISSINGTxn.id must be present maxlength 35
T03TXN_NOTE_INVALIDTxn.note alphanumeric; minlength 1 maxlength 50
T04TXN_REFID_INVALIDTxn.refId alphanumeric; minlength 1 maxlength 35
T05TXN_REFURL_INVALIDTxn.refUrl is URL; minlength 1 maxlength 35
T06TXN_TS_INVALIDTxn.ts must be ISO_ZONE format
T07TXN_TYPE_INVALIDTxn.type must be present / valid
T08TXN_ORGTXNID_INVALIDTxn.orgTxnId must be present / valid; alphanumeric; minlength 1 maxlength 35
T09TXN_ORGTNXID_INVALIDTxn.orgTnxId is alphanumeric; minlength 1 maxlength 35
T11TXN_ORGRESPCD_MISSINGTxn.orgRespCd must be present alphanumeric minlength 1 maxlength 3
T12TXN_CUSTREF_MISSINGTxn.custRef must be present; length 12
T13TXN_SUBTYPE_MISSINGTxn.subType must be present
T14PURPOSE_MISSINGPurpose should be present valid value
T15TXN_PURPOSE_INVALIDTxn.purpose must be present / valid
T16SUBTYPE_MANDATE_UMNIf subtype = mandate, then UMN is mandatory
T17TXN_TYPE_DIFFERSTxn.type differs from original request
T20PAYER_INSTITUTION_NOT_ALLOWEDPayer.institution should not be present
T27UUID_INVALIDUUID must be valid, alphanumeric, length must be either 32 or 36 before '@'
T28MANDATE_VOUCHER_AMOUNT_EXCEEDEDMandate voucher amount should not exceed
T30PURPOSE_INITIATION_INVALIDPurpose code should be '19' & InitiationMode '11

Initiation Mode Codes (IM-Series)

CodeNameMessage
IM0INITIATIONMODE_MISSINGInitiationMode should be present and value (00-24)
IM1FIR_NOT_VALID_COLLECTInitiationMode=12 (FIR) not valid for collect
IM2FIR_NON_PREAPPROVEDInitiationMode=12 (FIR) non-preapproved transaction is not allowed
IM3CRED_BLOCK_MANDATECred block should be UPIMandate or preapproved if InitiationMode=11
IM4UPI2_FIR_ONLYUPI 2.0 is allowing FIR only
IM5PAYEE_PSP_NO_V2Payee PSP does not support version 2.0
IM6BANK_PSP_NO_V2Bank / PSP is not supporting version 2.0

Payer Validation Codes (R/P-Series)

CodeNameMessage
R01PAYER_NOT_PRESENTPayer not present
R02PAYER_ADDR_INVALIDPayer.addr must be valid VPA maxlength 255
R03PAYER_NAME_INVALIDPayer.name alphanumeric minlength 1 maxlength 99
R04PAYER_SEQNUM_INVALIDPayer.seqNum numeric minlength 1 maxlength 3
R05PAYER_TYPE_INVALIDPayer.type must be present / valid
R06PAYER_CODE_INVALIDPayer.code numeric of length 4
P01PAYER_NOT_PRESENT_PPayer not present
P02PAYER_ADDR_INVALID_PPayer.addr must be valid VPA maxlength 255
P03PAYER_NAME_INVALID_PPayer.name alphanumeric minlength 1 maxlength 99
P04PAYER_SEQNUM_INVALID_PPayer.seqNum numeric minlength 1 maxlength 3
P05PAYER_TYPE_INVALID_PPayer.type must be present / valid
P06PAYER_CODE_INVALID_PPayer.code numeric of length 4
P07PAYER_BAL_MISSINGPayer.bal must be present
P08PAYER_BAL_DATA_MISSINGPayer.bal.data must be present
P09PAYER_AADHAARCONSENT_MISSINGPayer.aadhaarConsent must be present
PT1PTYPE_UPIMANDATEPType tag value should be UPIMandate

Payee Validation Codes (B0x/J-Series)

CodeNameMessage
B01PAYEES_NOT_PRESENTPayees not present
B02PAYEE_NOT_PRESENTPayee not present
B03PAYEE_ADDR_INVALIDPayee.addr must be valid VPA maxlength 255
B04PAYEE_SEQNUM_INVALIDPayee.seqNum numeric minlength 1 maxlength 3
B05PAYEE_NAME_INVALIDPayee.name alphanumeric minlength 1 maxlength 99
B06PAYEE_TYPE_INVALIDPayee.type must be present / valid
B07PAYEE_CODE_INVALIDPayee.code numeric of length 4
B08PAYER_PAYEE_ADDR_NO_CHANGEPayer/payee address cannot be changed
B09MULTIPLE_PAYEES_NOT_ALLOWEDMultiple payees not allowed
J01PAYEE_NOT_PRESENT_JPayee not present
J02PAYEE_ADDR_INVALID_JPayee.addr must be valid VPA, maxlength 255
J03PAYEE_NAME_INVALID_JPayee.name alphanumeric, minlength 1 maxlength 99
J04PAYEE_SEQNUM_INVALID_JPayee.seqNum numeric, minlength 1 maxlength 3
J07PAYEE_CODE_INVALID_JPayee.code numeric of length 4
J08PAYEE_TYPE_INVALID_JPayee.type must be valid
J09MCC_MISMATCH_MANDATEMCC mismatch with mandate creation and ValAdd
J10VOUCHER_EXPIREDVoucher expired
J11VOUCHER_DATE_FORMATVoucher incorrect date format

Account Detail Validation Codes (A-Series)

CodeNameMessage
A01AC_MUST_BE_PRESENTPayer/payee.ac must be present
A02AC_ADDRTYPE_MISSINGPayer/payee.ac.addrType must be present
A03AC_DETAIL_MISSINGPayer/payee.ac.detail must be present
A04AC_NAME_MISSINGPayer/payee.ac.name must be present
A05AC_AADHAAR_INVALIDPayer/payee.ac.detail.aadhaar must be present or not valid
A06AC_ACCOUNT_INVALIDPayer/payee.ac.detail.account must be present or not valid
A07AC_MOBILE_INVALIDPayer/payee.ac.detail.mobile must be present or not valid
A08AC_CARD_INVALIDPayer/payee.ac.detail.card must be present or not valid
A09AC_VALUE_FORMAT_INVALIDPayer/payee.ac.detail.value incorrect format for name
A10AC_VALUE_MISSINGPayer/payee.ac.detail.value must be present for name
A11AADHAAR_TXN_NOT_SUPPORTEDPayer/payee aadhaar based transactions are not supported presently
A12IFSC_TXN_NOT_SUPPORTEDPayer/payee IFSC based transactions are not supported presently
A13MMID_TXN_NOT_SUPPORTEDPayer/payee MMID based transactions are not supported presently
A14CARD_TXN_NOT_SUPPORTEDPayer/payee card based transactions are not supported presently
A15RESPONSE_BEFORE_ACKResponse received before Ack

Credential Validation Codes (C-Series / W-Series)

CodeNameMessage
C01CREDS_NOT_PRESENTPayer/payee.creds not present
C02CRED_MUST_BE_PRESENTPayer/payee.creds.cred must be present
C03CRED_DATA_WRONGPayer/payee.cred data is wrong
C04CRED_AADHAAR_MISSINGPayer/payee.cred.aadhaar must be present
C05CRED_OTP_MISSINGPayer/payee.cred.OTP must be present
C06CRED_PIN_MISSINGPayer/payee.cred.PIN must be present
C07CRED_CARD_MISSINGPayer/payee.cred.card must be present
C08CRED_PREAPPROVED_MISSINGPayer/payee.cred.preapproved must be present
C09CRED_DATA_MISSINGPayer/payee.cred.data must be present
C10CRED_ENCRYPTED_AUTH_MISSINGPayer/payee.cred.data encrypted authentication must be present
C11CRED_SHOULD_NOT_BE_SENTPayer/payee.cred should not be sent
C12CRED_CODE_INVALIDPayer/payee.cred.code should not be present and be either NPCI or UIDAI
C15ONLY_BENEFICIARY_PREAPPROVED_REFUNDOnly beneficiary can initiate preapproved refund
C24COMPLAINT_NOT_PRESENTComplaint not present
C25COMPLAINT_REQADJFLAG_MISSINGComplaint ReqAdjFlag not present
C26COMPLAINT_REQADJCODE_MISSINGComplaint ReqAdjCode not present
C30CONSENT_NOT_PRESENTConsent not present
C31CONSENT_MUST_BE_YCannot process request with consent value other than Y
C32CONSENT_NAME_CMREGConsent name should be CMREGISTRATION
C33CONSENT_TYPE_INVALIDPlease input proper consent type
W01CREDS_NOT_PRESENT_WPayer/payee.creds not present
W02CRED_MUST_BE_PRESENT_WPayer/payee.creds.cred must be present
W03CRED_DATA_WRONG_WPayer/payee.cred data is wrong
W04CRED_AADHAAR_MISSING_WPayer/payee.cred.aadhaar must be present
W05CRED_OTP_MISSING_WPayer/payee.cred.OTP must be present
W06CRED_PIN_MISSING_WPayer/payee.cred.PIN must be present
W07CRED_CARD_MISSING_WPayer/payee.cred.card must be present
W08CRED_PREAPPROVED_MISSING_WPayer/payee.cred.preapproved must be present
W09CRED_DATA_MISSING_WPayer/payee.cred.data must be present
W10CRED_ENCRYPTED_AUTH_MISSING_WPayer/payee.cred.data encrypted authentication must be present

Amount Validation Codes (V0x / M0x)

CodeNameMessage
V01AMOUNT_MUST_BE_PRESENTPayer/payee.amount must be present
V02AMOUNT_CUR_MISSINGPayer/payee.amount.cur must be present
V03AMOUNT_VALUE_INVALIDPayer/payee.amount.value must be within 18 digits including 2 decimal
V04AMOUNT_SPLIT_NAME_MISSINGPayer/payee.amount.split.name must be present
V05AMOUNT_SPLIT_VALUE_MISSINGPayer/payee.amount.split.value must be present
V06PAYEE_AMOUNT_NO_CHANGEPayee amount cannot be changed
M01PAYEE_AMOUNT_CUR_INCONSISTENTPayee.amount.cur must be consistent
M02PAYEE_AMOUNT_CUR_INVALIDPayee.amount.cur is invalid
M03PAYER_PAYEE_TOTAL_MISMATCHPayer & payee total amount not matching
M04PAYEE_AMOUNT_MISSINGOne or more payee amount is missing
M05PAYER_PAYEE_TOTAL_MISMATCH_2Payer and payee total amount not matching
M06MULTIPLE_PAYEE_AMOUNT_MISSINGMore than one payee amount is missing
M07PAYER_GREATER_PAYEEPayer amount should be greater than total payee amount

Device Validation Codes (D-Series / Q0x)

CodeNameMessage
D01DEVICE_MUST_BE_PRESENTPayer/payee.device must be present
D02DEVICE_TAGS_MISSINGPayer/payee.device.tags must be present
D03DEVICE_NAME_VALUE_MISSINGPayer/payee.tag.device.name/value must be present
D04DEVICE_VALIDATION_4Same validation message based on device type
D05DEVICE_VALIDATION_5Same validation message based on device type
D06DEVICE_VALIDATION_6Same validation message based on device type
D07DEVICE_VALIDATION_7Same validation message based on device type
D08DEVICE_VALIDATION_8Same validation message based on device type
D09DEVICE_VALIDATION_9Same validation message based on device type
D10DEVICE_VALIDATION_10Same validation message based on device type
D11DEVICE_VALIDATION_11Same validation message based on device type
D12TELECOM_VALUE_INVALIDTelecom value must be minlength 1 maxlength 99
D13TELECOM_TAG_RESTRICTEDTelecom tag is allowed only for type=USDC/USDB
Q01DEVICE_MUST_BE_PRESENT_QPayer/payee.device must be present
Q02DEVICE_TAGS_MISSING_QPayer/payee.device.tags must be present
Q03DEVICE_NAME_VALUE_MISSING_QPayer/payee.tag.device.name/value must be present

Identity / Info Validation Codes (I0x / O0x)

CodeNameMessage
I01INFO_MUST_BE_PRESENTPayer/payee.info must be present
I02IDENTITY_MUST_BE_PRESENTPayer/payee.info.identity must be present
I03IDENTITY_TYPE_MISSINGPayer/payee.info.identity.type must be present minlength 1 maxlength 20
I04IDENTITY_VERIFIEDNAME_MISSINGPayer/payee.info.identity verifiedName must be present alphanumeric minlength 1 maxlength 99
I05INFO_RATING_MISSINGPayer/payee.info.rating whitelisted must be present minlength 1 maxlength 5
O01INFO_MUST_BE_PRESENT_OPayer/payee.info must be present
O02IDENTITY_MUST_BE_PRESENT_OPayer/payee.info.identity must be present
O03IDENTITY_TYPE_MISSING_OPayer/payee.info.identity.type must be present, minlength 1, maxlength 20
O04IDENTITY_VERIFIEDNAME_MISSING_OPayer/payee.info.identity verifiedName must be present, alphanumeric, minlength 1, maxlength 99
O05INFO_RATING_MISSING_OPayer/payee.info.rating whitelisted must be present, minlength 1, maxlength 5

Merchant Validation Codes (PM/PN-Series)

CodeNameMessage
PM0MERCHANT_TAG_MANDATORYMerchant tag is mandatory if payer/payee is entity
PM1MERCHANT_SUBCODE_INVALIDPayer/payee.merchant.identifier.subCode must be numeric and of length 4
PM2MERCHANT_MID_INVALIDPayer/payee.merchant.identifier.mid must be of minlength 1 maxlength 20
PM3MERCHANT_SID_INVALIDPayer/payee.merchant.identifier.sid must be of minlength 1 maxlength 20
PM4MERCHANT_TID_INVALIDPayer/payee.merchant.identifier.tid must be of minlength 1 maxlength 20
PM5MERCHANT_BRAND_INVALIDPayer/payee.merchant.name.brand must be of minlength 1 maxlength 20
PM6MERCHANT_LEGAL_INVALIDPayer/payee.merchant.name.legal must be of minlength 1 maxlength 20
PM7MERCHANT_FRANCHISE_INVALIDPayer/payee.merchant.name.franchise must be of minlength 1 maxlength 20
PM8MERCHANT_OWNERSHIP_MISSINGPayer/payee.merchant.ownership must be present
PM9MERCHANT_OWNERSHIP_TYPE_MISSINGPayer/payee.merchant.ownership.type must be present
PM12PAYEE_FOREX_INFO_INVALIDPayee forex info invalid
PM14REQUEST_TIMEOUT_INTLRequest timeout scenario for UPI international
PM15INCORRECT_AMOUNT_CALCULATIONIncorrect amount calculation
PM16ALREADY_PROCESSEDAlready processed transaction
PN0MERCHANT_TAG_NOT_ALLOWEDMerchant tag should not be present if payer/payee is person
PN1MERCHANT_TYPE_INVALIDPayer/payee.merchant.identifier.merchant.type must be valid
PN2PAYER_MERCHANT_TYPE_INVALIDPayer.merchant.type must be present among SMALL

Institution Validation Codes (PI/PJ/PK-Series)

CodeNameMessage
PI0INSTITUTION_TAG_FIRInstitution tag should be present if InitiationMode=12 (FIR)
PI1INSTITUTION_TYPE_INVALIDPayer.institution.type must be present among MTO
PI2INSTITUTION_ROUTE_INVALIDPayer.institution.route must be present among MTSS
PI3INSTITUTION_NAME_MISSINGPayer.institution.name must be present
PI4INSTITUTION_NAME_VALUE_INVALIDPayer.institution.name.value must be present, minlength 1 maxlength 100
PI5INSTITUTION_NAME_ACNUM_INVALIDPayer.institution.name.acnum must be present, minlength 1 maxlength 50
PI6INSTITUTION_PURPOSE_MISSINGPayer.institution.purpose must be present
PI7INSTITUTION_PURPOSE_CODE_INVALIDPayer.institution.purpose.code must be present, minlength 1 maxlength 50
PI8INSTITUTION_ORIGINATOR_MISSINGPayer.institution.originator must be present
PI9ORIGINATOR_NAME_INVALIDPayer.institution.originator.name must be present, minlength 1 maxlength 50
PJ0INSTITUTION_PURPOSE_NOTE_INVALIDPayer.institution.purpose.note must be present, minlength 1 maxlength 50
PJ1ORIGINATOR_REFNO_INVALIDPayer.institution.originator.refNo must be present, minlength 1 maxlength 35
PJ2ORIGINATOR_ADDRESS_MISSINGPayer.institution.originator.address must be present
PJ3ORIGINATOR_LOCATION_INVALIDPayer.institution.originator.address.location must be present, minlength 1 maxlength 40
PJ4INSTITUTION_BENEFICIARY_MISSINGPayer.institution.beneficiary must be present
PJ5BENEFICIARY_NAME_INVALIDPayer.institution.beneficiary.name must be present, minlength 1 maxlength 50
PJ6ORIGINATOR_TYPE_INVALIDPayer.institution.originator.type must be present, INDIVIDUAL
PJ7ORIGINATOR_CITY_INVALIDPayer.institution.originator.address.city must be present, minlength 1 maxlength 100
PJ8ORIGINATOR_COUNTRY_INVALIDPayer.institution.originator.address.country must be present, minlength 1 maxlength 100
PJ9ORIGINATOR_GEOCODE_INVALIDPayer.institution.originator.address.geoCode must be present, in nn.nnnn,nn.nnnn format
PK0INSTITUTION_TAG_NOT_ALLOWEDInstitution tag should not be present if InitiationMode other than 12

Risk Score Validation Codes (S0x / TR-Series)

CodeNameMessage
S01RISKSCORE_PROVIDER_MISSINGTxn riskScore provider must be present alphanumeric; minlength 1 maxlength 20
S02RISKSCORE_TYPE_MISSINGTxn riskScore type must be present alphanumeric; minlength 1 maxlength 20
S03RISKSCORE_VALUE_MISSINGTxn riskScore value must be present numeric; minlength 1 maxlength 5
TR1RISKSCORE_PROVIDER_MISSING_TRTxn riskScore provider must be present alphanumeric; minlength 1 maxlength 20
TR2RISKSCORE_TYPE_MISSING_TRTxn riskScore type must be present alphanumeric; minlength 1 maxlength 20
TR3RISKSCORE_VALUE_MISSING_TRTxn riskScore value must be present numeric; minlength 1 maxlength 5

Rule Validation Codes (L-Series)

CodeNameMessage
L01RULE_MUST_BE_PRESENTRule must be present within rules
L02RULE_ATTR_NAME_MISSINGRule attribute name must be present; alphanumeric; minlength 1 maxlength 20
L03VALUE_MUST_BE_PRESENTValue must be present; numeric / decimal
L04RULE_ATTR_VALUE_MISSINGRule attribute value must be present; numeric; minlength 1 maxlength 255
L05TECHNICAL_ISSUETechnical issue, please try after some time
L06KEY_CODE_NOT_PROVIDEDKey code has not been provided in input
L07KEY_CODE_PARSE_ERRORError while parsing key code from input
L08XML_PAYLOAD_NOT_PROVIDEDXML payload has not been provided in input
L09XML_PAYLOAD_PARSE_ERRORError while parsing XML payload from input
L10CONTROLS_PARSE_ERRORError while parsing controls from input
L11CONFIG_PARSE_ERRORError while parsing configuration from input
L12SALT_NOT_PROVIDEDSalt has not been provided in input
L13SALT_PARSE_ERRORError while parsing salt from input
L14PAY_INFO_PARSE_ERRORError while parsing pay info from input
L15LOCALE_PARSE_ERRORError while parsing locale from input
L16UNKNOWN_ERRORUnknown error occurred
L17TRUST_NOT_PROVIDEDTrust has not been provided
L18MANDATORY_SALT_NOT_PROVIDEDMandatory salt values have not been provided
L19MANDATORY_SALT_PARSE_ERRORError while parsing mandatory salt values
L20TRUST_NOT_VALIDTrust is not valid

Response Validation Codes (E-Series)

CodeNameMessage
E01RESP_MUST_BE_PRESENTResp must be present
E02RESP_MSGID_MISSINGResp.msgId must be present maxlength 35
E03RESP_RESULT_MISSINGResp.result must be present alphanumeric min length 1 max length 20
E04RESP_ERRORCODE_MISSINGResp.errorCode must be present
E05RESP_ERRORCODE_NOT_ALLOWEDResp.errorCode should not be present
E06RESP_ERRORCODE_INVALIDResp.errorCode must be SUCCESS or FAILURE
E07TYPE_MANDATORYType is mandatory & alphanumeric
E08SEQNUM_MANDATORYSeqNum is mandatory & numeric
E09ADDR_MANDATORYAddr is mandatory & alphanumeric
E10SETTLEAMOUNT_MANDATORYSettleAmount is mandatory & decimal
E11SETTLECURRENCY_MANDATORYSettleCurrency is mandatory & text
E12APPROVALNUM_MANDATORYApprovalNum is mandatory & text
E13RESPCODE_MANDATORYRespCode is mandatory & alphanumeric and must be valid
E14SETTLEAMOUNT_FAILURE_NONZEROSettleAmount of failure cases cannot be more than zero
E15INVALID_RESPCODE_APIInvalid response code for this API
E16REF_ACNUM_INVALIDRef.acNum must be of minlength 1 maxlength 16
E17REF_CODE_INVALIDRef.code must be of length 4
E18REF_IFSC_INVALIDRef.IFSC must be of length 11
E19REF_ACCTYPE_MISSINGRef.accType must be present
E20RESP_ADJFLAG_MISSINGResp.AdjFlag should be present

Registration Validation Codes (F-Series)

CodeNameMessage
F01REGDETAILS_MISSINGRegDetails must be present
F02REGDETAILS_DETAIL_MISSINGRegDetails.detail must be present
F03REGDETAILS_NAME_VALUE_MISSINGRegDetails.detail name/value should be present
F04REGDETAILS_NAME_INVALIDRegDetails.detail name not valid
F05REGDETAILS_CRED_MISSINGRegDetails.cred not present
F06REGDETAILS_CRED_DATA_WRONGRegDetails.cred data is wrong
F07REGDETAILS_CRED_OTP_MISSINGRegDetails.cred.OTP must be present
F08REGDETAILS_CRED_PIN_MISSINGRegDetails.cred.PIN must be present
F09REGDETAILS_CRED_DATA_MISSINGRegDetails.cred.data must be present
F10REGDETAILS_CRED_ENCRYPTED_MISSINGRegDetails.cred.data encrypted authentication must be present
FM2REGDETAILS_TYPE_FORMAT2RegDetails.type must be FORMAT2

Heartbeat / VAE Validation Codes (G-Series)

CodeNameMessage
G01HBTMSG_MISSINGHbtMsg must be present
G02HBTMSG_TYPE_INVALIDHbtMsg.type must be present / valid
G03HBTMSG_VALUE_INVALIDValue not valid for HbtMsg.type
G04HBTMSGRESP_RESULT_INVALIDValue not valid for HbtMsgResp.result
G05HBTMSGRESP_ERRORCODE_INVALIDValue not valid for HbtMsgResp.errorCode
G11VAE_OP_NAME_INVALIDVaeList.vae.op/name must be present / valid
G12VAE_NAME_INVALIDVaeList.vae.name must be present, maxlength 99
G13VAE_ADDR_INVALIDVaeList.vae.addr must be valid VPA, maxlength 255
G14VAE_LOGO_INVALIDVaeList.vae.logo must be valid, maxlength 255
G15VAE_URL_INVALIDVaeList.vae.url must be valid URL, maxlength 255
G17VAE_KEY_CODE_MISSINGVaeList.vae.key.code must be present
G18VAE_KEY_TYPE_MISSINGVaeList.vae.key.type must be present
G19VAE_KEY_KI_MISSINGVaeList.vae.key.ki must be present
G20VAE_KEY_KEYVALUE_MISSINGVaeList.vae.key.keyValue must be present
G21REQMSG_MISSINGReqMsg must be present
G22REQMSG_TYPE_INVALIDReqMsg.type must be present / valid
G23REQMSG_VALUE_INVALIDValue not valid for ReqMsg.type
G24REQMSG_ADDR_INVALIDReqMsg.addr must be valid VPA, maxlength 255
G25CERTIFICATE_NOT_FOUNDCertificate not found
G26SIGNATURE_ERRORSignature error
G27SIGNATURE_MISMATCHSignature mismatch
G51RESP_MERCHANT_MISSINGResp.merchant must be present
G52RESP_MSGID_MISSING_GResp.msgId must be present, maxlength 35
G53RESP_RESULT_MISSING_GResp.result must be present alphanumeric, min length 1, max length 20
G54RESP_ERRORCODE_MISSING_GResp.errorCode must be present
G55RESP_ERRORCODE_NOT_ALLOWED_GResp.errorCode should not be present
G56RESP_MASKNAME_MISSINGResp.maskName must be present; minlength 1, maxlength 99
G61PAYER_INFO_MISSINGPayer.info must be present
G62PAYER_IDENTITY_MISSINGPayer.info.identity must be present
G63PAYER_IDENTITY_TYPE_MISSINGPayer.info.identity.type must be present, minlength 1, maxlength 20
G64PAYER_IDENTITY_VERIFIEDNAME_MISSINGPayer.info.identity verifiedName must be present, alphanumeric, minlength 1, maxlength 99
G65PAYER_INFO_RATING_MISSINGPayer.info.rating verified address must be present, minlength 1, maxlength 5
G66ACCOUNT_REF_NUM_INVALIDAccount reference number must be present / valid
G67ACCOUNT_TYPE_INVALIDAccount type must be present / valid
G68ACCOUNT_AEBA_INVALIDAccount AEBA must be present / valid
G69ACCOUNT_MBEBA_INVALIDAccount MBEBA must be present / valid
G70ACCOUNT_IFSC_INVALIDAccount IFSC must be present / valid
G71MASKED_ACNUM_INVALIDMasked account number must be present / valid
G72ACCOUNT_MMID_INVALIDAccount MMID must be present / valid
G73CREDS_ALLOWED_INVALIDCreds allowed must be present / valid
G74INCORRECT_CRED_SUBTYPEIncorrect cred subtype for the mobile banking registration format used
G75ACCOUNT_NAME_MISSINGAccount name must be present
G76AADHAAR_REQUIREDAadhaar number must be present if AEBA=Y and aadhaarConsent=Y
G77RESP_CODE_INVALIDResp.code must be present / valid
G78RESP_TYPE_INVALIDResp.type must be present / valid
G79RESP_IFSC_INVALIDResp.IFSC must be present / valid
G80RESP_IIN_INVALIDResp.IIN must be present / valid
G81RESP_SECUREPINURL_INVALIDResp.securePinUrl must be of minlength 1 maxlength 100
G82REQIDDETAILS_NOT_PRESENTPayer ReqIdDetails not present
G83REQIDDETAILS_IDS_NOT_PRESENTPayer ReqIdDetails.ids not present
G84REQIDDETAILS_NAME_VALUE_MISSINGReqIdDetails.id.name value must be present
G85REQIDDETAILS_NAME_VALUE_LENGTHReqIdDetails.id.name value must be present minlength M, maxlength N
G86RESPIDDETAILS_NOT_PRESENTRespIdDetails not present
G87RESPIDDETAILS_ID_NOT_PRESENTRespIdDetails.id not present
G88RESPIDDETAILS_DETAILS_NOT_PRESENTRespIdDetails.id details not present
G89RESPIDDETAILS_NAME_VALUE_INVALIDPayer RespIdDetails.id name/value must be present and valid
G90ID_DETAILS_VALUE_MISSINGId details value must be present for detail name
G91ID_DETAIL_VALUE_FORMAT_INVALIDId detail value incorrect format for detail name
G94PAYER_PAN_DIFFERSPayer PAN differs from original request
G95PAYER_UMN_DIFFERSPayer UMN differs from original request
G96ID_TYPE_VALCUST_ONLYId PAN/Aadhaar/VoterId/DrivingLicense allowed only if txnType is ValCust
G97ID_UMN_MANDATE_ONLYId UMN allowed only if txnType is mandate notification
G98ID_ACNATURE_VALCUST_ONLYId AcNature/AcHolder allowed only if txnType is ValCust

CodeNameMessage
Y01LINK_NOT_PRESENTLink not present
Y02LINK_TYPE_INVALIDLink.type must be present / valid
Y03LINK_VALUE_INVALIDLink.value must be present / valid

Account Validation Codes (K0x)

CodeNameMessage
K01AC_MUST_BE_PRESENT_KPayer/payee.ac must be present
K02AC_ADDRTYPE_MISSING_KPayer/payee.ac.addrType must be present
K03AC_DETAIL_MISSING_KPayer/payee.ac.detail must be present
K04AC_NAME_MISSING_KPayer/payee.ac.name must be present
K05AC_AADHAAR_INVALID_KPayer/payee.ac.detail.aadhaar must be present or not valid
K06AC_ACCOUNT_INVALID_KPayer/payee.ac.detail.account must be present or not valid
K07AC_MOBILE_INVALID_KPayer/payee.ac.detail.mobile must be present or not valid
K08AC_CARD_INVALID_KPayer/payee.ac.detail.card must be present or not valid
K09AC_VALUE_MISSING_KPayer/payee.ac.detail.value must be present for name
K16PSP_KEY_NOT_PRESENTRequested PSP key is not present in UPI
KI1VAE_KEY_TAGS_MISSINGVae.key.tags must be present
KI2KEY_CODE_MISSINGKey.code must be present, minlength 1, maxlength 20
KI3KEY_TYPE_MISSINGKey.type must be present, minlength 1, maxlength 20
KI4KEY_KI_FORMAT_INVALIDKey.ki must be present in format YYYYMMDD
KI5KEY_KEYVALUE_MISSINGKey.keyValue must be present

Balance Validation Codes (BA-Series)

CodeNameMessage
BA1BA_TXN_TYPE_INVALIDTxn.type must be present / valid
BA2BA_AMOUNT_MISSINGAmount tag must be present
BA3BA_DATA_INVALIDBal.data should be present / valid if txn.type=BalChk

Mandate XML Validation Codes (MA/MB/MC/MN/MV/MP-Series)

CodeNameMessage
MA0MANDATE_NOT_PRESENTMandate not present
MA1MANDATE_NAME_INVALIDMandate.name alphanumeric; minlength 1, maxlength 99
MA2MANDATE_TXNID_INVALIDMandate.txnId must be present, must be 35 characters of alphanumeric
MA3MANDATE_TXNID_MISMATCHMandate.txnId and txn.id must be same
MA4MANDATE_UMN_MISSINGMandate.UMN must be present
MA5MANDATE_UMN_LENGTHMandate.UMN must be present, length 32
MA6MANDATE_TS_INVALIDMandate.ts must be present and should be in ISO_ZONE format
MA7MANDATE_REVOKEABLE_INVALIDMandate.revokeable must be present, revokable.type must be Y or N
MA8MANDATE_SHARE_ONETIMEMandate.shareToPayee 'N' is applicable only for onetime recurrence pattern as well as for payer initiated transactions only
MA9MANDATE_VALIDITY_MISSINGMandate.validity must be present
MA10MANDATE_UMN_MUST_PRESENTMandate.UMN must be present
MA11MANDATE_UMN_NOT_FOR_PAYEEMandate.UMN should not be present for payee initiated transaction
MB0MANDATE_VALIDITY_START_INVALIDMandate.validity.start must be present, date format DDMMYYYY, start date must be today's date or later
MB1MANDATE_VALIDITY_END_INVALIDMandate.validity.end must be present, date format DDMMYYYY, end date must be greater than today's date
MB2MANDATE_AMOUNT_INVALIDMandate.amount must be present, value and rule should not be empty
MB3MANDATE_AMOUNT_RULE_INVALIDMandate.amount.rule must be present, rule must be EXACT/MAX
MB4MANDATE_RECURRENCE_INVALIDMandate.recurrence must be present, mandate.recurrence.pattern must be ONETIME or DAILY or WEEKLY
MB5MANDATE_RECURRENCE_RULE_INVALIDMandate.recurrence.rule must be present, mandate.recurrence.rule.type must be AFTER or ON or BEFORE
MB6MANDATE_RECURRENCE_RULE_VALUEMandate.recurrence.rule must be present, mandate.recurrence.rule.value in between 1 to 7 only when mandate.recurrence.pattern is WEEKLY
MB7MANDATE_RECURRENCE_RULE_NAMandate.recurrence.rule not applicable for mandate.recurrence.pattern ONETIME/DAILY/WEEKLY/FORTNIGHTLY/MONTHLY/BIMONTHLY/QUARTERLY/HALFYEARLY/YEARLY/ASPRESENTED
MB8MANDATE_BLOCK_PURPOSE14Mandate recurrence pattern.block=N is allowed only if the purpose code=14
MB9MANDATE_REVOKABLE_PURPOSE14Mandate recurrence pattern. revokable=Y, only Y is allowed if the purpose code=14
MC3MANDATE_UMN_PAYEE_GENERATEMandate.UMN cannot be generated by payee
MC4GLOBAL_ADDR_NOT_SUPPORTEDGlobal address not supported in mandate
MN0MANDATE_TAG_DIFFERSMandate tag differs from original request
MN1MANDATE_NAME_DIFFERSMandate.name differs from original request
MN2MANDATE_TXNID_DIFFERSMandate.txnId differs from original request
MN3MANDATE_UMN_DIFFERSMandate.UMN differs from original request
MN4MANDATE_TS_DIFFERSMandate.ts differs from original request
MN5MANDATE_REVOKEABLE_DIFFERSMandate.revokeable differs from original request
MN6MANDATE_SHARETOPAYEE_DIFFERSMandate.shareToPayee differs from original request
MN7MANDATE_BLOCKFUND_DIFFERSMandate.blockFund differs from original request
MN8MANDATE_TYPE_AMOUNT_DIFFERSMandate.type differs from original request, mandate.amount differs from original request
MN9MANDATE_RECURRENCE_DIFFERSMandate.recurrence.pattern differs from original request
MV0MANDATE_VALIDITY_DIFFERSMandate.validity differs from original request
MV1MANDATE_VALIDITY_START_DIFFERSMandate.validity.start differs from original request
MV2MANDATE_VALIDITY_END_DIFFERSMandate.validity.end differs from original request
MP0BLOCKFUND_PURPOSE01_ONLYBlockFund is allowed only if the purpose=01
MP1BLOCKFUND_CREATE_UPDATEBlockFund=Y is allowed for CREATE/UPDATE and BlockFund=N is allowed for REVOKE
MP2MANDATE_AMOUNT_UPDATE_PURPOSE01Mandate.amount can only be updated if purpose=01
MP3RECURRENCE_ONETIME_PURPOSE01Recurrence pattern is always ONETIME if purpose=01
MP4AMOUNT_RULE_MAX_PURPOSE01Amount rule should be always MAX if purpose=01
MP5SHARETOPAYEE_PURPOSE01ShareToPayee=Y for payer initiated if purpose=01
MP6PAYER_PSP_NO_MANDATE_V21Payer PSP does not support version mandate 2.1
MP7PAYEE_PSP_NO_MANDATE_V21Payee PSP does not support version mandate 2.1
MP8REMITTER_NO_MANDATE_V21Remitter bank does not support version mandate 2.1
MP9BENEFICIARY_NO_MANDATE_V21Beneficiary bank does not support version mandate 2.1

Mandate System Codes (RM/UO/MX/VZ-Series)

CodeNameMessage
RM1REQMANDATE_PRESENTReqMandate must be present, UMN should be always created by payer (ReqAuthMandate)
RM2UMN_HANDLER_ORGID_SAMEUMN handler and org ID should be same (ReqAuthMandate)
RM3TXNID_MANDATE_TXNID_SAMETxnId and mandate txnId should be same (ReqAuthMandate)
RM5PAYEE_NO_SHARETOPAYEEPayee initiated mandate should not have shareToPayee tag (ReqAuthMandate)
RM7VALIDITY_START_GTE_CURRENTValidity start date should be greater than or equal to the current date (ReqAuthMandate)
RM8VALIDITY_END_GTE_CURRENTValidity end date should be greater than or equal to the current date (ReqAuthMandate)
RM9SHARETOPAYEE_PAYER_ONETIMEShareToPayee should be allowed only for payer and recurrence pattern should be "ONETIME" for both payer/payee (ReqAuthMandate)
RM11BLOCKFUND_Y_CREATE_UPDATEBlockFund should be "Y" when mandate is CREATE/UPDATE (ReqAuthMandate)
UO0REMITTER_NOT_REGISTERED_MANDATERemitter bank not registered (mandate)
UO1BENEFICIARY_NOT_REGISTERED_MANDATEBeneficiary bank not registered (mandate)
UO3PSP_NO_MANDATE_V21PSP does not support version mandate 2.1
UO4MANDATE_CONFIRM_NEG_ACK_PAYEEReqMandateConfirmation negative Ack received from payee
UO5FINAL_RESP_NEG_ACK_PAYERFinal response mandate negative Ack received from payer
UO7MANDATE_ORGID_UMN_MISMATCHMandate OrgId or UMN address not matched with payer VPA address
UO8MANDATE_UMN_NOT_ACTIVEMandate UMN address either not active or not exists
UO9MANDATE_UMN_EXISTSMandate UMN address exists already
MX0REQAUTHMANDATE_NOT_SUPPORTEDReqAuthMandate API not supported by bank
MX1RESPAUTHMANDATE_NOT_SUPPORTEDRespAuthMandate API not supported by bank
MX2RESPMANDATE_NOT_SUPPORTEDRespMandate API not supported by bank
MX3RESPMANDATECONFIRM_NOT_SUPPORTEDRespMandateConfirmation API not supported by bank
MX4REQAUTHMANDATE_NOT_SUPPORTED_BANKReqAuthMandate API not supported by bank
MX5REQMANDATECONFIRM_NOT_SUPPORTEDReqMandateConfirmation API not supported by bank
VZ1RECURRENCE_RULE_NOT_CERTIFIED_REMITTERMandate.recurrence rule tag should not be present – remitter bank not certified for 2.7
VZ2RECURRENCE_RULE_NOT_CERTIFIED_BENEFICIARYMandate.recurrence rule tag should not be present – beneficiary bank not certified for 2.7
VZ3RECURRENCE_RULE_NOT_CERTIFIED_PAYER_PSPMandate recurrence rule tag should not be present – payer PSP not certified for 2.7
VZ4RECURRENCE_RULE_NOT_CERTIFIED_PAYEE_PSPMandate recurrence rule tag should not be present – payee PSP not certified for 2.7
VZ6PAYER_PSP_NOT_CERTIFIED_MANDATEPayer PSP not certified for mandate use case
VZ8REMITTER_NOT_CERTIFIED_MANDATERemitter bank not certified for mandate use case

Mandate Mapping Codes (UM/UN/UP-Series)

CodeNameMessage
UM0REQAUTHMANDATE_ACK_NOT_RECEIVEDReqAuthMandate Ack not received
UM1RESPAUTHMANDATE_DECLINEDRespAuthMandate declined by PSP
UM2RESPAUTHMANDATE_TIMEOUTRespAuthMandate timeout
UM3RESPAUTHMANDATE_EXPIREDRespAuthMandate expired
UM4REQAUTHMANDATE_NEG_ACKReqAuthMandate negative Ack received from PSP
UM5RESPAUTHMANDATE_NEG_ACKRespAuthMandate negative Ack sent from UPI to PSP
UM6ORIG_REQAUTHMANDATE_NOT_FOUNDOriginal ReqAuthMandate not found
UM7REQMANDATE_ACK_NOT_RECEIVEDReqMandate Ack not received from remitter bank
UM8RESPMANDATE_DECLINEDRespMandate declined by remitter bank
UM9RESPMANDATE_TIMEOUTRespMandate timeout at remitter end
UN0REQMANDATE_NEG_ACKReqMandate negative Ack received from remitter bank
UN1RESPMANDATE_NEG_ACKRespMandate negative Ack sent from UPI to remitter bank
UN2ORIG_REQMANDATE_NOT_FOUNDOriginal ReqMandate not found
UN3RESPMANDATE_ACK_NOT_RECEIVEDRespMandate Ack not received from payer
UN4REQMANDATECONFIRM_ACK_NOT_RECEIVEDReqMandateConfirmation Ack not received from payer
UN5PAYER_PSP_NOT_AVAILABLE_UNPayer PSP not available
UN6PAYEE_PSP_NOT_AVAILABLE_UNPayee PSP not available
UN7REMITTER_NOT_AVAILABLE_UNRemitter bank not available
UN8PAYER_PSP_NOT_REGISTEREDPayer PSP not registered
UN9PAYEE_PSP_NOT_REGISTEREDPayee PSP not registered
UP1INVALID_AMOUNT_CATEGORYNot a valid amount for this category
UP2MANDATE_AMOUNT_CAP_EXCEEDEDMandate amount cap is exceeded

Refund Validation Codes (OR/R1x-Series)

CodeNameMessage
OR1REFUND_V2_ONLYRefund is allowed only for 2.0
OR2REFUND_ORGTXNID_INVALIDTxn.orgTnxId must be present / valid for refund; alphanumeric; minlength 1, maxlength 35 going success
OR3REFUND_ORGTXNDATE_INVALIDTxn.orgTnxDate must be present / valid for refund
OR4REFUND_ORGRRN_INVALIDTxn.orgRRN must be present / valid for refund; numeric; length 12
OR5REFUND_GLOBAL_ADDR_ACCT_IFSCPayee.global address must be acct number and IFSC only for refund
OR6REFUND_PAYEE_AC_GLOBALPayee account details must be present or VPA must be global address (A/C No & IFSC)
OR7REFUND_PAYER_ENTITYPayer must be entity for type refund
OR8REFUND_PAYEE_PERSONPayee must be person for type refund
OR9REFUND_PAYER_PREAPPROVEDPayer.cred.preapproved must be present
R10PAYEE_DUPLICATE_INSTRUMENTPayee redundant or duplicate payment instrument
R13REFUND_ORGTXNID_INVALID_RTxn.orgTnxId must be present / valid for refund; alphanumeric; minlength 1, maxlength 35
R14REFUND_ORGTXNDATE_INVALID_RTxn.orgTnxDate must be present / valid for refund
R15REFUND_ORGRRN_INVALID_RTxn.orgRRN must be present / valid for refund; numeric; length 12
R19INITIATOR_PSP_V22_REFUNDInitiator PSP must support version 2.2 for refund
R20BENEFICIARY_V22_REFUNDBeneficiary bank must support version 2.2 for refund
R21ONLINE_REFUND_DISABLEDOnline refund is disabled in UPI
R23PAYER_PAYEE_AMOUNT_SAMEPayer and payee amount must be same
R24PAYER_AC_DETAILS_PRESENTPayer account details must be present
R25MULTIPLE_PAYEES_NOT_ALLOWED_REFUNDMultiple payees not allowed for refund
R26TXN_UMNEXECTS_INVALIDTxn.umnExecTs must be present / valid and ISO_ZONE format
X10ORGTXNID_MANDATE_ONLYTxn.orgTxnId/orgRRN/umnExecTs allowed only if txn.type is MandateNotification

Version Mismatch Codes (UA/UB/PV-Series)

CodeNameMessage
UA1HEADER_URL_VERSION_MISMATCHHeader & URL version is mismatched
UA2VERSION_TAGS_NOT_SUPPORTEDVersion / tags sent not supported by PSP / bank
UA3PSP_HEADER_URL_MISMATCHPayer/payee PSP, header or URL version mismatched
UA4PSP_REQ_RESP_HEADER_MISMATCHPayer/payee PSP, request & response header version mismatch
UA5PSP_VERSION_NOT_SUPPORTEDPayer/payee PSP, version / tags not supported by PSP / bank
UA7REMITTER_REQ_RESP_MISMATCHRemitter bank, request & response header version mismatch
UA8REMITTER_HEADER_URL_MISMATCHRemitter bank, header or URL version mismatched
UA9REMITTER_VERSION_NOT_SUPPORTEDRemitter bank, version / tags sent not supported by bank
UB1BENEFICIARY_REQ_RESP_MISMATCHBeneficiary bank, request & response header version mismatch
UB2BENEFICIARY_HEADER_URL_MISMATCHBeneficiary bank, header or URL version mismatched
UB3BENEFICIARY_VERSION_NOT_SUPPORTEDBeneficiary bank, version / tags sent not supported by bank
UB7OTHER_BANK_NO_V2Other bank / PSP is not supported in 2.0 version
UB8PAYER_PSP_NO_VERSIONPayer PSP does not support version
UB9REMITTER_NO_VERSIONRemitter bank does not support version
UH1HEADER_VERSION_MISMATCHHeader version mismatched
UV2REQRESP_VERSION_MISMATCHReqResp version mismatched
TT4V2_TAGS_NOT_SUPPORTED_V1Version 2.0 LIST_PSP_KEYS tags not supported in 1.0
PV1PSP_NO_VALCUST_V24PSP does not support version ValCust 2.4
PV2PAYER_PSP_NO_VALCUST_V24Payer PSP does not support version ValCust 2.4
PV3PAYEE_PSP_NO_VALCUST_V24Payee PSP does not support version ValCust 2.4
PV4REMIT_PSP_NO_VALCUST_V24Remit PSP does not support version ValCust 2.4
PV5BENEFICIARY_PSP_NO_VALCUST_V24Beneficiary PSP does not support version ValCust 2.4

Original Request Diff Codes (PR/PY/PA0-Series)

CodeNameMessage
PA0AC_DIFFERSPayer/payees.ac differs from original request
PA1AC_ADDRTYPE_DIFFERSPayer/payees.ac.addrType differs from original request
PA2AC_DETAILS_DIFFERSPayer/payees.ac.details differs from original request
PA3ACCOUNT_DIFFERSPayer/payees.account differs from original request
PR0PAYER_DIFFERSPayer differs from original request
PR1PAYER_ADDR_DIFFERSPayer.addr differs from original request
PR2PAYER_NAME_DIFFERSPayer.name differs from original request
PR3PAYER_CODE_DIFFERSPayer.code differs from original request
PR4PAYER_SEQNUM_DIFFERSPayer.seqNum differs from original request
PR5PAYER_TYPE_DIFFERSPayer.type differs from original request
PY1PAYEES_NAME_DIFFERSPayees.name differs from original request
PY2PAYEE_ADDR_DIFFERSPayee.addr differs from original request
PY3PAYEES_SEQNUM_DIFFERSPayees.seqNum differs from original request
PY4PAYEE_CODE_DIFFERSPayee.code differs from original request
PY5PAYEES_TYPE_DIFFERSPayees.type differs from original request

VPA Mapping Codes (MM-Series)

CodeNameMessage
MM1MAPPING_EXISTSMapping exists
MM2MAPPING_DOES_NOT_EXISTMapping does not exist
MM3MAPPING_BLOCKEDMapping blocked
MM4MAPPING_INACTIVEMapping inactive
MM5VPA_MAPPED_ANOTHER_MOBILEVPA mapped to another mobile
MM6VPA_OF_DIFFERENT_ORGVPA of different org
MM7MAPPING_ACTIVATION_NOT_ALLOWEDMapping activation not allowed
MM8PREVVPA_NOT_SAME_CACHEPrevVPA not same as cache
MM9CANNOT_ACTIVATE_DEREG_MOBILECannot activate deregistered mobile
MM10COOLING_PERIOD_NOT_OVERCooling period not over
MM11TYPE_NOT_SUPPORTED_GETADDType not supported for GetAdd
MM12TXN_SUBTYPE_NO_REGIDDETAILSTxn subtype id no RegIdDetails present
MM13PROPER_TXN_SUBTYPE_MISSINGProper txn subtype not present
MM14PROPER_TXN_TYPE_MISSINGProper txn type not present
MM15MAPPING_AGAINST_VPA_ABSENTMapping against VPA absent
MM16CANNOT_PORT_NUMERIC_IDCannot port numeric ID
MM17CHECK_ACTION_NOT_PERMITTEDCheck action not permitted
MM18ID_MAPPED_DIFFERENT_VPAID mapped to different VPA
MM19PORT_ACTION_PROHIBITEDPort action prohibited
MM20VAULT_INACCESSIBLEVault inaccessible
MM21CMID_ADDITION_PROHIBITEDCMID addition prohibited beyond three

CodeNameMessage
UC1NO_RESPONSE_REQAUTHVALCUSTNo response for ReqAuthValCust
UC2NO_ACK_REQVALCUSTNo Ack for ReqValCust
UC3NULL_ACK_REQVALCUSTNull Ack for ReqValCust
UC4NEG_ACK_REQVALCUSTNeg Ack for ReqValCust
UC5NO_RESPONSE_REQVALCUSTNo response for ReqValCust
UG1RESPONSE_ACTIVATION_TIMEOUTResponse activation timeout
UG3RESPONSE_VALQR_TIMEOUTResponse ValQR timeout
UG5FOREX_ERROR_VALQRFOREX error in ValQR
UG6QR_PAYLOAD_NOT_FOUNDQR payload not found
V30REGIDDETAILS_MUST_PRESENTRegIdDetails must be present
V31ID_MUST_PRESENTId must be present
V32ID_NAME_MUST_PRESENTId name must be present
V33ID_VALUE_MUST_PRESENTId value must be present
V34ID_ALPHANUMERIC_ONLYId must consist of alphanumeric characters only (numeric ID)
V35ID_GT_6_DIGITSId must be larger than 6 digits
V36ID_NOT_10_11_12Id must not be of length 10/11/12
V37ID_LT_16_DIGITSId must be shorter than 16 digits
V38ID_NOT_START_ZEROId must not start with 0
V39ID_NOT_SAME_LAST_THREEId must not end with same last three digits
V40MOBILE_ALPHANUMERIC_ONLYId must consist of alphanumeric characters only (mobile number)
V41MOBILE_10_DIGITSId must consist of proper 10 digit mobile number

Voucher Codes

CodeNameMessage
IU0UUID_NOT_PRESENTUUID not present in the system

UPI Lite Codes (UL-Series)

CodeNameMessage
UL1LITE_AC_NOT_SUPPLIEDLite A/C not supplied
UL2LITE_PRECREATE_NOT_PRESENTLite pre-create not present – LRN is not created / invalid LRN
UL3LITE_AC_NOT_ACTIVATEDLite A/C not activated – initiating transaction before activating the LRN
UL4LITE_ARQC_GENERATE_FAILEDLite ARQC generated failed – auth engine not able to generate ARPC during lite sync
UL5LITE_AC_DEACTIVATEDLite A/C deactivated
UL6LITE_ENGINE_UNAVAILABLELite engine unavailable / down

HSM Codes (HS-Series)

CodeNameMessage
HS1HSM_OFFLINEHSM is offline
HS2HSM_TIMEOUTHSM timeout
HS3HSM_COMM_ERRORHSM communication error

Token Codes (TT/TV-Series)

CodeNameMessage
TT1DFP_TOKEN_ROTATEDFP token to be rotated
TV3TOKEN_USE_NOT_PERMITTEDToken use not permitted
TV4TOKEN_NOT_ISSUEDToken not issued

NAC (Dispute) Codes

CodeNameMessage
NAC|8011INVALID_TXN_PARTICIPANTInvalid transaction for this participant
NAC|5210DISPUTE_ALREADY_PROCESSEDThe dispute / adjustment is already processed
NAC|3202INVALID_DISPUTE_REASONInvalid dispute reason code for given function code
NAC|5216ADJUSTMENT_AMT_GT_CAPAdjustment amount is greater than cap amount
NAC|U48MATCH_NOT_FOUNDMatch not found
NAC|UU1REMITTER_VERSION_NOT_SUPPORTEDRemitter version not supported
NAC|UU2BENEFICIARY_VERSION_NOT_SUPPORTEDBeneficiary version not supported
NAC|UU3REMITTER_BENEFICIARY_NOT_SUPPORTEDRemitter / beneficiary not supported
NAC|UU4PAYEE_NOT_SUPPORTEDPayee not supported

UIDAI / Aadhaar Authentication Codes

CodeNameMessage
UD1UIDAI_TIMEOUTUIDAI timeout
UD2UIDAI_DECLINEUIDAI decline
100PI_DEMO_NOT_MATCHPI (basic) attributes of demographic data did not match
200PA_DEMO_NOT_MATCHPA (address) attributes of demographic data did not match
300BIOMETRIC_NOT_MATCHBiometric data did not match
310DUPLICATE_FINGERSDuplicate fingers used
311DUPLICATE_IRISESDuplicate irises used
312FMR_FIR_SAME_TXNFMR and FIR cannot be used in same transaction
313SINGLE_FIR_MULTI_FINGERSingle FIR record contains more than one finger
314FMR_FIR_EXCEED_10Number of FMR/FIR should not exceed 10
315IIR_EXCEED_2Number of IIR should not exceed 2
400OTP_VALIDATION_FAILEDOTP validation failed
401TKN_VALIDATION_FAILEDTKN validation failed
500INVALID_SKEY_ENCRYPTIONInvalid sKey encryption
501INVALID_CI_SKEYInvalid value for "CI" attribute in "sKey" element
502INVALID_PID_ENCRYPTIONInvalid PID encryption
503INVALID_HMAC_ENCRYPTIONInvalid HMAC encryption
504SESSION_KEY_EXPIREDSession key reinitiation required due to expiry or key out of sync
505SYNC_SKEY_NOT_ALLOWEDSynchronized sKey usage is not allowed
510INVALID_AUTH_XMLInvalid auth XML format
511INVALID_PID_XMLInvalid PID XML format
520INVALID_DEVICE_UIDAIInvalid device
521INVALID_FINGER_DEVICEInvalid finger device (FDC in meta element)
522INVALID_IRIS_DEVICEInvalid iris device (IDC in meta element)
530INVALID_AUTHENTICATOR_CODEInvalid authenticator code
540INVALID_AUTH_XML_VERSIONInvalid auth XML version
541INVALID_PID_XML_VERSIONInvalid PID XML version
542AUA_NOT_AUTHORIZED_ASAAUA not authorized for ASA
543SUB_AUA_NOT_ASSOCIATEDSub-AUA not associated with AUA
550INVALID_USES_ATTRIBUTESInvalid uses element attributes
561REQUEST_EXPIRED_UIDAIRequest expired (PID->ts value is older than N hours)
562TIMESTAMP_FUTURETimestamp value is future time
563DUPLICATE_REQUEST_UIDAIDuplicate request
564HMAC_VALIDATION_FAILEDHMAC validation failed
565LICENSE_KEY_EXPIREDLicense key has expired
566INVALID_LICENSE_KEYInvalid license key
567INVALID_INPUT_UIDAIInvalid input (unsupported characters in Indian language values)
568UNSUPPORTED_LANGUAGEUnsupported language
569DIGITAL_SIGNATURE_FAILEDDigital signature verification failed
570INVALID_KEY_INFOInvalid key info in digital signature
571PIN_REQUIRES_RESETPIN requires reset
572INVALID_BIOMETRIC_POSITIONInvalid biometric position
573PI_NOT_ALLOWED_LICENSEPI usage not allowed as per license
574PA_NOT_ALLOWED_LICENSEPA usage not allowed as per license
575PFA_NOT_ALLOWED_LICENSEPFA usage not allowed as per license
576FMR_NOT_ALLOWED_LICENSEFMR usage not allowed as per license
577FIR_NOT_ALLOWED_LICENSEFIR usage not allowed as per license
578IIR_NOT_ALLOWED_LICENSEIIR usage not allowed as per license
579OTP_NOT_ALLOWED_LICENSEOTP usage not allowed as per license
580PIN_NOT_ALLOWED_LICENSEPIN usage not allowed as per license
581FUZZY_NOT_ALLOWED_LICENSEFuzzy matching usage not allowed as per license
582LOCAL_LANG_NOT_ALLOWED_LICENSELocal language usage not allowed as per license
584INVALID_PINCODE_METAInvalid pin code in meta element
585INVALID_GEOCODE_METAInvalid geo code in meta element
710MISSING_PI_DATAMissing "PI" data as specified in "uses"
720MISSING_PA_DATAMissing "PA" data as specified in "uses"
721MISSING_PFA_DATAMissing "PFA" data as specified in "uses"
730MISSING_PIN_DATAMissing PIN data as specified in "uses"
740MISSING_OTP_DATAMissing OTP data as specified in "uses"
800INVALID_BIOMETRIC_DATAInvalid biometric data
810MISSING_BIOMETRIC_DATAMissing biometric data as specified in "uses"
811MISSING_BIOMETRIC_CIDRMissing biometric data in CIDR for the given Aadhaar number
812BEST_FINGER_DETECTIONResident has not done "best finger detection"
820MISSING_BT_ATTRIBUTEMissing or empty value for "bt" attribute in "uses" element
821INVALID_BT_ATTRIBUTEInvalid value in the "bt" attribute of "uses" element
901NO_AUTH_DATANo authentication data found in the request
902INVALID_DOBInvalid "dob" value in the "PI" element
910INVALID_MV_PIInvalid "mv" value in the "PI" element
911INVALID_MV_PFAInvalid "mv" value in the "PFA" element
912INVALID_MSInvalid "ms" value
913PA_PFA_BOTH_PRESENTBoth "PA" and "PFA" are present in the authentication request
930TECH_ERROR_930Technical error internal to authentication server
931TECH_ERROR_931Technical error internal to authentication server
932TECH_ERROR_932Technical error internal to authentication server
933TECH_ERROR_933Technical error internal to authentication server
934TECH_ERROR_934Technical error internal to authentication server
935TECH_ERROR_935Technical error internal to authentication server
936TECH_ERROR_936Technical error internal to authentication server
937TECH_ERROR_937Technical error internal to authentication server
938TECH_ERROR_938Technical error internal to authentication server
939TECH_ERROR_939Technical error internal to authentication server
940UNAUTHORIZED_ASAUnauthorized ASA channel
941UNSPECIFIED_ASAUnspecified ASA channel
980UNSUPPORTED_OPTIONUnsupported option
996AADHAAR_CANCELLEDAadhaar cancelled
997AADHAAR_SUSPENDEDAadhaar suspended
998INVALID_AADHAAR_DATAInvalid Aadhaar number or non availability of Aadhaar data
999UNKNOWN_ERRORUnknown error

Miscellaneous Codes

CodeNameMessage
Z02VER_INVALIDVer numeric / decimal min length 1 max length 6
Z03TS_INVALIDTS must be ISO_ZONE format
Z06MSGID_MISSINGMsgId must be present maxlength 35
X01TXN_NOT_PRESENT_XTxn not present
X02TXN_ID_MISSING_XTxn.id must be present maxlength 35
X03TXN_NOTE_INVALID_XTxn.note alphanumeric; minlength 1 maxlength 50
X04TXN_REFID_INVALID_XTxn.refId alphanumeric; minlength 1 maxlength 35
X06TXN_TS_INVALID_XTxn.ts must be ISO_ZONE format
X07TXN_TYPE_INVALID_XTxn.type must be present / valid
X08TXN_ORGTXNDATE_MISSINGTxn.orgTxnDate must be present
X09TXN_ORGTXNDATE_90DAYSTxn.orgTxnDate should be within 90 days

Source

UPI Error and Response Codes V 2.5 — NPCI. Total codes: 700+

On this page

General Response Codes
U-Series: UPI Switch / System Codes
Bank / Account / Transaction Codes (Alphabetical)
Q-Series: Mandate Codes (Payer Side)
V-Series: Mandate Codes (Remitter Side)
X-Series: Remitter / Beneficiary Validation Codes
Y-Series: Account / Honour Codes
Z-Series: Credential / Limit / Status Codes
S-Series: Spam / Throttle Codes
CC-Series: Credit Card Codes
Header Validation Codes (H/HM/HV)
Transaction Validation Codes (T-Series)
Initiation Mode Codes (IM-Series)
Payer Validation Codes (R/P-Series)
Payee Validation Codes (B0x/J-Series)
Account Detail Validation Codes (A-Series)
Credential Validation Codes (C-Series / W-Series)
Amount Validation Codes (V0x / M0x)
Device Validation Codes (D-Series / Q0x)
Identity / Info Validation Codes (I0x / O0x)
Merchant Validation Codes (PM/PN-Series)
Institution Validation Codes (PI/PJ/PK-Series)
Risk Score Validation Codes (S0x / TR-Series)
Rule Validation Codes (L-Series)
Response Validation Codes (E-Series)
Registration Validation Codes (F-Series)
Heartbeat / VAE Validation Codes (G-Series)
Link Validation Codes (Y0x)
Account Validation Codes (K0x)
Balance Validation Codes (BA-Series)
Mandate XML Validation Codes (MA/MB/MC/MN/MV/MP-Series)
Mandate System Codes (RM/UO/MX/VZ-Series)
Mandate Mapping Codes (UM/UN/UP-Series)
Refund Validation Codes (OR/R1x-Series)
Version Mismatch Codes (UA/UB/PV-Series)
Original Request Diff Codes (PR/PY/PA0-Series)
VPA Mapping Codes (MM-Series)
Consent / ValCust Codes
Voucher Codes
UPI Lite Codes (UL-Series)
HSM Codes (HS-Series)
Token Codes (TT/TV-Series)
NAC (Dispute) Codes
UIDAI / Aadhaar Authentication Codes
Miscellaneous Codes