Response Codes
Overview
There are two scenarios when the response codes are used.
When a request is processed successfully
The response message will contain two sections.
- Status Codes - To inform the user that the message has been successfully processed
- Reason Codes - To inform the user what the status of the message is, either accepted , or stored in the SAF (Store and Forward) Queue for future processing.
When requests fail to be processed
When an API request fails a business logic validation, a rejection message will be sent back to the client. This rejection message will contain three sections.
- Status Codes - To inform the user that the message failed to be processed
- Reasons Codes - To inform the user of the reason code
- Reject Reason - More detailed explanation of the rejection message.
API Gateway General Response Code
Please refer to the respective API specification for more information, as this applies only to specific APIs.
Status Code | Description | Actual Response |
---|---|---|
API.001 | Invalid URL | |
API.002 | Invalid format | data.{fieldName} - Invalid format |
API.003 | Invalid length | data.{fieldName} - Invalid length |
API.004 | Invalid value | data.{fieldName} - Invalid value" |
API.005 | Missing mandatory field | data.{fieldName} - Not Found |
API.007 | Unauthorized request | Unauthorized request |
API.008 | Request timeout | |
KMS.001 | Invalid Signature | |
KMS.002 | Failed to generate signature |
Status Codes
Code | Name | Description |
---|---|---|
ACSP | AcceptedSettlementInProcess | All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution |
ACTC | AcceptedTechnicalValidation | Authentication and syntactical and semantical validation are successful |
RJCT | Rejected | Payment initiation or individual transaction included in the payment initiation has been rejected. |
Reason Codes
These are the reason codes used in the event the message is rejected due to any business validation error.
Code | Description | Status Code |
---|---|---|
U000 | Success/ Transaction Accepted | ACSP |
U002 | Success/ Transaction Accepted Stored in SAF | ACTC |
U100 | Product Not Found | RJCT |
U101 | Tenant Not Found | RJCT |
U102 | Tenant Not Active | RJCT |
U103 | Tenant Undefined | RJCT |
U104 | Inbound Scheme Not Found | RJCT |
U105 | Inbound Scheme Not Active | RJCT |
U106 | Original Payment Not Found | RJCT |
U107 | Original Payment Rejected | RJCT |
U108 | Original Payment Not Responded | RJCT |
U110 | Payment Not Accepted | RJCT |
U111 | Minimum Amount Check Failed | RJCT |
U112 | Maximum Amount Check Failed | RJCT |
U114 | Mod 10 check failed | RJCT |
U115 | Date Sent Tolerance Check failed | RJCT |
U116 | Date Settlement Tolerance Check failed | RJCT |
U117 | Original Date Tolerance configuration error | RJCT |
U118 | Original Date Tolerance check failed | RJCT |
U119 | Session Validation Failed | RJCT |
U121 | Inbound Bank Not Found | RJCT |
U122 | Inbound Bank Not Active | RJCT |
U123 | Product Undefined | RJCT |
U124 | Bank Code Not found in message | RJCT |
U125 | Inbound Bank Id Cannot be Determined (Bank Classifier not found) | RJCT |
U126 | Outbound Bank Cannot be Determined | RJCT |
U128 | Outbound Bank Not Active | RJCT |
U129 | Payee Bank Unavailable | RJCT |
U130 | Inbound Settlement Bank not found | RJCT |
U131 | Outbound Settlement Bank not found | RJCT |
U132 | Inbound Settlement Bank Inactive | RJCT |
U134 | Outbound Settlement Bank Inactive | RJCT |
U135 | Pre-Authorization Match Not Found | RJCT |
U136 | Pre-Authorization Bank Account Check Failed | RJCT |
U137 | Pre-Authorization Timeout | RJCT |
U138 | Pre-Authorization Config Not Found | RJCT |
U139 | Pre-Authorization Endpoint or Channel Not Configured | RJCT |
U140 | Pre-Authorization Exception No Response Returned | RJCT |
U141 | Pre-Authorization Exception | RJCT |
U142 | Pre-Authorization Stand-In Limit Exceeded | RJCT |
U143 | Pre-Authorization Stand-In Account Not Found | RJCT |
U144 | Pre-Authorization Stand-In Account Inactive | RJCT |
U145 | Pre-Authorization Stand-In Insufficient Funds | RJCT |
U146 | Pre-Authorization Stand-In Not Permitted | RJCT |
U147 | Pre-Authorization No Stand-In Response | RJCT |
U149 | Duplicate Transaction | RJCT |
U150 | Notification Configuration Not Found | RJCT |
U151 | Notification Endpoint Or Channel Not Configured | RJCT |
U155 | Fraud Check Failed | RJCT |
U156 | Sanction Check Failed | RJCT |
U157 | AML Check Failed | RJCT |
U159 | Pre-Authorization Stand-In Rejected with Default Status | RJCT |
U160 | Settlement Rules Not Found | RJCT |
U161 | Settlement Endpoint or Channel Not Configured | RJCT |
U162 | Settlement Confirmation Not Received | RJCT |
U163 | Forwarded Settlement Confirmation Response Not Received | RJCT |
U164 | Settlement Total Management Not Configured | RJCT |
U170 | Online Route Not Found | RJCT |
U171 | Online Authorization Exception | RJCT |
U172 | Online Authorization Exception No Response returned | RJCT |
U173 | Online Authorization Exception Timeout | RJCT |
U180 | Authorization Service is Not Configured | RJCT |
U181 | Stand-In Limit Exceeded | RJCT |
U182 | Stand-In Account Not Found | RJCT |
U183 | Stand-In Account Inactive | RJCT |
U184 | Stand-In Insufficient Funds | RJCT |
U185 | Stand-In Not Permitted | RJCT |
U186 | Stand-In No Response | RJCT |
U187 | Stand-In forwarding Advice cannot be delivered | RJCT |
U189 | Stand-In Rejected With Default Status | RJCT |
U190 | LiquidityManagementNotConfigured | RJCT |
U191 | Liquidity Rules Not Found | RJCT |
U192 | Liquidity Position Validation Rule not found (Threshold limits) | RJCT |
U193 | Liquidity Position Validation Failure | RJCT |
U194 | Insufficient Liquidity to process payment | RJCT |
U195 | Liquidity Forced Payment Rejection | RJCT |
U196 | Liquidity Parameter Invalid Or Null | RJCT |
U197 | Liquidity Parameters Not Found | RJCT |
U198 | Liquidity Validation Not Found | RJCT |
U199 | Liquidity Position Definition Not Found | RJCT |
U200 | LQM Maximum Amount Not Found | RJCT |
U201 | LQM Maximum Amount Exceeded | RJCT |
U202 | LQM Net Sender Threshold Limit Not Found | RJCT |
U203 | LQM Insufficient Net Sender Funds | RJCT |
U205 | Scheme Settlement Body Unavailable | RJCT |
U206 | Settlement Rejection | RJCT |
U207 | Default Settlement Body Not Defined | RJCT |
U208 | Settlement Forward Confirmation Send Failed | RJCT |
U209 | Settlement Forward Confirmation Receive Failed | RJCT |
U210 | Outbound Scheme Not Found | RJCT |
U211 | Outbound Scheme Not Active | RJCT |
U212 | Connector Not Found | RJCT |
U213 | Connector Configuration Error | RJCT |
U214 | Clearing Rejection | RJCT |
U215 | Message Rejected with admi.002 | RJCT |
U221 | MandateRulesNotFound | RJCT |
U222 | MandateMasterUpdateError | RJCT |
U223 | MandateRecordNotFound | RJCT |
U224 | MandateStartDateLessThanCurrentDate | RJCT |
U225 | MandateStartDateFormatError | RJCT |
U226 | MandateEndDateLessThanCurrentDate | RJCT |
U227 | MandateEndDateFormatError | RJCT |
U228 | MandateFrequencyTypeValidationError | RJCT |
U229 | MandateUpdaterNotKnown | RJCT |
U230 | MandateSenderNotAllowedToUpdate | RJCT |
U231 | MandateStatusValidationError | RJCT |
U232 | AmountGreaterThanMaximumLimit | RJCT |
U233 | MadateAmountMissing | RJCT |
U234 | RequestBeforeMandateStartDate | RJCT |
U235 | FutureMandateCannotBeUpdated | RJCT |
U236 | ExpiredMandateCannotBeUpdated | RJCT |
U237 | CancelledMandateCannotBeUpdated | RJCT |
U238 | RequestAfterMandateEndDate | RJCT |
U239 | HoldDateExceedsExipryDate | RJCT |
U240 | AdjustmentTypeError | RJCT |
U241 | AdjustmentActionError | RJCT |
U242 | AdjustmentMissingMandatoryField | RJCT |
U243 | BalanceTransferBalanceNotEnough | RJCT |
U244 | SponsorAdjustmentProcessingRuleNotFound | RJCT |
U245 | SponsorAdjustmentAuthTimeOut | RJCT |
U246 | SponsorAdjustmentAuthReject | RJCT |
U247 | AdjustmentNotPerformed | RJCT |
U248 | AdjustmentPerformedButFail | RJCT |
U249 | AutoAdjustmentBalanceConfirmFail | RJCT |
U250 | AliasTypeNotSupported | RJCT |
U251 | SponsorAdjustmentAuthCommunicationError | RJCT |
U252 | SponsorAdjustmentBalanceNotEnough | RJCT |
U253 | InboundBankSuspended | RJCT |
U254 | OutboundBankSuspended | RJCT |
U255 | InboundSettlementBankSuspended | RJCT |
U256 | OutboundSettlementBankSuspended | RJCT |
U257 | AdjustmentAtNoneBusinessDay | RJCT |
U258 | PRMCheckFailed | RJCT |
U259 | PRMInvalidStatus | RJCT |
U260 | PRMCheckDeny | RJCT |
U261 | PRMCheckRefer | RJCT |
U262 | AccountNotMatchAlias | RJCT |
U263 | SenderNotEligibleForRequest | RJCT |
U264 | MandateIsNotPendingAuthorization | RJCT |
U265 | Acceptable Source of Fund Not Allowed | RJCT |
U266 | CryptoAESAliasNotFound | RJCT |
U267 | CryptoAESKeyFormatError | RJCT |
U268 | MerchantIdNotAllowed | RJCT |
U269 | RTPTxnNotMatched | RJCT |
U270 | SubstateNotMatched | RJCT |
U271 | MandateInitTxnNotMatched | RJCT |
U272 | MandateEndDtLessEqualsThanCurrentDt | RJCT |
U273 | RtpRecordNotFound | RJCT |
U274 | CANotMatched | RJCT |
U275 | DANotMatched | RJCT |
U276 | ConsentTypeNotAllowed | RJCT |
U277 | CryptoDecFailed | RJCT |
U278 | CryptoEncFailed | RJCT |
U279 | CryptoSignFailed | RJCT |
U280 | CertPathNotConfig | RJCT |
U281 | CryptoVerifyFailed | RJCT |
U282 | CryptoRuleNotFound | RJCT |
U283 | MandateBRNValueCheckFailed | RJCT |
U284 | MandateUpdateNotAllowed | RJCT |
U285 | MandateExpired | RJCT |
U286 | MandateNotActive | RJCT |
U287 | ExceedMandateMaxAmt | RJCT |
U288 | MandateStatusNotAllowed | RJCT |
U289 | MandateExpiryDateExceedMax | RJCT |
U290 | MandateInitRequestExpired | RJCT |
U300 | No QR Enquiry prior to QR Payment | RJCT |
U301 | Invalid Source of Fund (QR) | RJCT |
U304 | Invalid QR Response | RJCT |
U305 | Date in BizMsgId does not match CreDtTm (QR) | RJCT |
U306 | Invalid Secondary ID (QR) | RJCT |
U307 | QR Category does not match transaction type (QR) | RJCT |
U310 | RequestForPayExpired | RJCT |
U311 | RequestForPayAlreadyTransferred | RJCT |
U312 | RequestForPayNotFound | RJCT |
U313 | RequestForPayAlreadyProcessed | RJCT |
U314 | RequestForPayAlreadyRejected | RJCT |
U315 | RequestForPayInvalidState | RJCT |
U316 | RequestForPayAlreadyReceived | RJCT |
U317 | RequestForPayInvalidDbtrAgt | RJCT |
U318 | ExpiryDateLessThanCurrentDate | RJCT |
U319 | ExpiryDateFormatError | RJCT |
U320 | RequestedExecutionDateLessThanCurrentDate | RJCT |
U321 | RequestedExecutionDateFormatError | RJCT |
U322 | MandateIsNotActive | RJCT |
U323 | InvalidDebtorAgent | RJCT |
U324 | InvalidOriginalDebtorAgent | RJCT |
U325 | MandateAlreadyTransferred | RJCT |
U326 | RequestForPayAlreadyAccepted | RJCT |
U327 | MerchantNotActive | RJCT |
U328 | MerchantProductNotFound (Biller Code Not Found) | RJCT |
U329 | MerchantNotFound | RJCT |
U330 | MerchantParameterNotFound | RJCT |
U331 | MerchantMinAmountCheckFailed | RJCT |
U332 | MerchantMaxAmountCheckFailed | RJCT |
U333 | DateXpryCheckFailed | RJCT |
U334 | MandateIsNotPending | RJCT |
U335 | RPFLookupRulesNotFound | RJCT |
U336 | PreAuthExpiryDateFormatError | RJCT |
U337 | PreAuthExpiryDateExceedsMandateExipryDate | RJCT |
U338 | PreAuthExpiryDateLessThanCreDtTm | RJCT |
U339 | PreAuthExpiryDateLessThanCurrentDate | RJCT |
U340 | MechantProductNotActive | RJCT |
U341 | MerchantValidationRuleNotFound | RJCT |
U342 | MerchantProductBankCodeNotFound | RJCT |
U343 | MandateUpdateAlreadyInProgress | RJCT |
U344 | DDParticipantsChecksFail | RJCT |
U345 | RejectedMandateCannotBeUpdated | RJCT |
U346 | RejectedMandateCannotBeAuthorized | RJCT |
U347 | RequestForPayAlreadyPendingAuthorization | RJCT |
U348 | CreditorBankAccountDetailsMissing | RJCT |
U800 | Alias Management action not configured | RJCT |
U801 | Alias rules not found | RJCT |
U802 | Addressing Privilege not defined | RJCT |
U803 | Not sufficient privilege to perform addressing action | RJCT |
U804 | Alias Not Found | RJCT |
U805 | Alias is suspended | RJCT |
U806 | Alias already registered with the same FI but different account | RJCT |
U807 | Alias already registered with another FI | RJCT |
U808 | Alias already registered with the same account | RJCT |
U809 | Not sufficient privilege to perform addressing action on an alias | RJCT |
U810 | Alias Request failed | RJCT |
U811 | Alias suspended by Administrator | RJCT |
U812 | Alias Destination Not Configured | RJCT |
U813 | Cache Alias Maintenance Failed | RJCT |
U814 | Alias already registered with same FI | RJCT |
U815 | Duplicate Alias Service Request | RJCT |
U816 | DuplicateAliasServiceRequestDetected | RJCT |
U850 | System Notification Event Code Or Rules Not Found | RJCT |
U851 | General Purpose Rules Not Found | RJCT |
U890 | Invalid Business Hierarchy | RJCT |
U900 | Internal Timeout | RJCT |
U901 | System Malfunction | RJCT |
U902 | Connection Or Communication Error | RJCT |
U903 | Scripting Error | RJCT |
U904 | Endpoint Error | RJCT |
U905 | Configuration Error | RJCT |
U906 | Logging or Database Error | RJCT |
U907 | Session Error - No Plan Executed | RJCT |
U908 | Validation Error | RJCT |
U909 | Available Response Code | RJCT |
U910 | No Session Response Within Timeout | RJCT |
U911 | No Such Session | RJCT |
U912 | Session Validation Error | RJCT |
U913 | No Session Request Variable | RJCT |
U990 | Session Error Timeout | RJCT |
U992 | Response Not Delivered | RJCT |
U993 | Reason Code not determined in response | RJCT |
U999 | Signature Validation Failed on Request | RJCT |
P001 | Invalid Forex Rate | RJCT |
P002 | Settlement Amount is not matched with Field3 | RJCT |
P003 | Non Bank Participant Not Allow | RJCT |
P004 | Duplicate Forex Record | RJCT |
P005 | Invalid Forex Record | RJCT |
P006 | Forex Rate Expired | RJCT |
P007 | Field 3 and IntrBkSttlmAmt not match | RJCT |
P008 | Preauth Amount exceed limit | RJCT |
P009 | Preauth Limit not configured | RJCT |
P010 | Invalid Ref-1 | RJCT |
P990 | Session Error Timeout | RJCT |
Reject Reasons
These are the reject codes used in the event the message is rejected due to any message validation error.
For ISO20022 message specifications user, these will be returned in admi.002.XXX.XX message schema
Code | Description |
---|---|
0001 | Missing mandatory Field |
0002 | Invalid attribute type |
0003 | Endpoint has no definition for given attribute type |
0004 | Invalid character detected during decoding of BCD encoded length |
0005 | Unsupported length encoding |
0006 | Sign byte for a BCD number was not 'C' or 'D' |
0007 | Invalid Sign Nibble |
0008 | Extra content for array field while decoding value |
0009 | Not enough elements for array field of fixed number of elements while decoding value |
0010 | Array field too long while encoding |
0011 | Array field too short while encoding |
0012 | Length value too long to encode for specified length type |
0013 | Decoding of BER TLV field reached end prematurely |
0014 | Encoding content too long for size of field |
0015 | Inbound field validation failed |
0016 | Outbound field validation failed |
0017 | Inbound validation rule failed |
0018 | Outbound validation rule failed |
0019 | Script execution error |
0020 | Inbound Assignment Error |
0021 | Outbound Assignment Error |
0022 | Configuration Error |
0023 | Unknown Field |
0024 | No EftContexts found |
0025 | No EftContext found |
0026 | No Card Type found |
0027 | No Card Service Type found |
0028 | Duplicate Message |
0029 | Invalid data found for decode |
0030 | Invalid data found for encode |
0031 | Encoding content too short for size of field |
0032 | Invalid tag delimiter |
0033 | Invalid attribute delimiter |
0034 | Not matching end tag |
0035 | Not well formed XML data |
0036 | Decoded length is invalid |
0037 | Unsupported Message Composition |
0038 | Unsupported Message Type |
0039 | Field Not Enabled |
0040 | No Matching Session Found |
0041 | No Message type |
0042 | Runtime Error |
0043 | No Session Definition |
0044 | Message Correlation Error |
0045 | NO_ALIAS_PRODUCED |
0046 | DECODE_VALUE_TOO_SHORT |
0047 | DECODE_VALUE_TOO_LONG |
0048 | INVALID_XML_PCDATA |
0049 | Session Not Active |
0050 | NO Outbound Handler |
0051 | File load session processing error |
0052 | Terminal/Merchant missing or inactive |
0053 | Invalid enum value found during BSI marshalling/ unmarshalling |
0054 | Encoded payload is too large for configured maximum message size |
0055 | Encoded header is too large for configured maximum message size |
0056 | Encoded trailer is too large for configured maximum message size |
0057 | MAC validation failed |
0058 | MAC generation failed |
0059 | Data encryption failed |
0060 | Data decryption failed |
0061 | PIN translation failed |
0062 | PIN verification failed |
End to End Return Codes
General
From RFI | From RPP/To OFI | Status Description | ||
---|---|---|---|---|
Status Code | Reason Code | Status Code | Reason /Reject Code | |
ACSP | 00 | ACSP | U000 | Successful transaction |
- | - | RJCT | U172 | RPP responds with Timeout reason
|
- | - | ACTC | U002 | RPP responds with Timeout reason (no response from RPP participants)
|
- | - | - | - | Transaction not received (Timeout from RFI) |
- | - | RJCT | U999 | Invalid signature (OFI to RPP)
|
- | - | ACTC | U998 | Accepted with signature error in response where the transaction is successful |
RJCT | 25 | RJCT | 25 | Invalid signature (RPP to RFI)
|
- | - | ACTC | U998 | Invalid signature (RFI to RPP)
|
- | - | - | - | Invalid signature (RPP to OFI)
|
RJCT | 45 | RJCT | 45 | Unable to credit – reject response from beneficiary
|
RJCT | 52 (no current Account) | RJCT | 52 or 53 | Unable to Credit due to account does not exist or invalid account in RFI |
RJCT | 53 (no savings account) | RJCT | 53 or 53 | Unable to Credit due to account does not exist or invalid account RFI |
RJCT | N3 (invalid account) | RJCT | N3 or 53 | Unable to Credit due to account does not exist or invalid account RFI |
RJCT | 39 | RJCT | 39 or 53 | No credit account |
RJCT | 13 | RJCT | 13 | Unable to Credit due to invalid amount |
RJCT | 12 | RJCT | 12 or 57 | Invalid transaction / Transaction not allowed |
RJCT | 40 | RJCT | 40 or 57 | Requested function not supported |
- | - | RJCT | 92 | Financial institution or intermediate network facility cannot be found for routing |
- | - | RJCT | 91 | Issuer or switch is inoperative |
RJCT | 30 | RJCT | 30 | Format Error
|
RJCT | 94 | RJCT | 94 or 05 | Duplicate Transmission Same with ISO – Transaction reference is not unique within the message |
- | - | RJCT | U135 | RPP received a duplicate transaction from OFI |
- | - | RJCT | U002 (CT) or U172 (Account Enquiry) | RPP receives an invalid response from RFI, RPP to send negative response to OFI ** Since the response is invalid, RPP will not be able to read it and will time-out. Timeout response will be sent back to the OFI |
- | - | RJCT | U194 | RPP validation fails (Liquidity falls below threshold – if configured to reject) OFI liquidity position < Liquidity Position Threshold – Red |
- | - | RJCT | 90 | Cutover is in process |
- | - | RJCT | 68 | Response received too late |
RJCT | 29 | RJCT | 29 | Internal Error at Bank System – Technical problem/Unknown error |
RJCT | 31 | RJCT | 31 or 92 | Bank not supported by switch |
- | - | RJCT | RPP will respond with admi.002 | Invalid date (e.g. wrong settlement date) |
- | - | RJCT | U110 | Currency not supported |
- | - | RJCT | RPP will respond with admi.002 | Debtor account type is missing or invalid |
- | - | RJCT | U110 | Bank Operation code specified in the message is not valid for receiver |
- | - | RJCT | U112 | Specific transaction/message amount is greater than allowed maximum |
- | - | RJCT | U111 | Specified message amount is equal to zero |
- | - | RJCT | U110 | Specified message amount has an invalid currency outside of existing agreement |
- | - | RJCT | U111 | Specified transaction amount is less than agreed minimum |
- | - | RJCT | RPP will respond with admi.002 | Reason has not been specified by end customer |
National Addressing Database (NAD)
From RFI | From RPP/To OFI | Status Description | ||
---|---|---|---|---|
Status Code | Reason Code | Status Code | Reason /Reject Code | |
- | - | RJCT | U806 | Registration: Duplicate Proxy Found in Bank |
- | - | RJCT | U807 | Registration: Duplicate Proxy Found in another Bank |
- | - | RJCT | U808 | Registration: Proxy already registered |
- | - | ACTC | - | Deregistration Accepted |
- | - | RJCT | U804 | Deregistration: Proxy already deregistered |
- | - | RJCT | U804 | Deregistration: Proxy not found |
- | - | ACTC | - | Suspend/Activate Accepted |
- | - | RJCT | U804 | Suspend/Activate: Proxy not found |
- | - | ACTC | - | Modify Proxy Accepted |
- | - | RJCT | U804 | Modify Proxy: Proxy not found |
- | - | ACTC | U000 | Transfer Bank Accepted |
- | - | RJCT | U808 | Transfer Bank: Proxy already transferred |
- | - | RJCT | U804 | Transfer Bank: Proxy not found |
- | - | ACTC | U000 | Proxy Resolution Accepted |
- | - | RJCT | U804 | Proxy Resolution: Proxy not found |
RJCT | U805 | Proxy Resolution: Proxy already suspended | ||
- | - | ACTC | U000 | Enquiry by Secondary Id Accepted |
- | - | RJCT | U804 | Enquiry by Secondary Id: No registered proxies |
Quick Response (QR)
From RFI | From RPP/To OFI | Status Description | ||
---|---|---|---|---|
Status Code | Reason Code | Status Code | Reason /Reject Code | |
RJCT | 46 | RJCT | 46 | QR validation failed |
- | - | RJCT | U300 | No QR enquiry prior to QR payment |
RJCT | 47 | RJCT | U301 or 47 | Invalid source of funds |
RJCT | 48 | RJCT | 48 | QR has expired |
RJCT | 49 | RJCT | 49 | Merchant inactive/suspended/terminated |
RJCT | - | RJCT | U305 | Date in <BizMsgIdr> is not the same with the transaction creation date and time |
RJCT | - | RJCT | U306 | Invalid Secondary Id validation |
RJCT | - | RJCT | U307 | QR Category does not match with transaction type |
RJCT | - | RJCT | U308 | Invalid QR Category |
RJCT | - | RJCT | U309 | Expired rate |
RJCT | - | RJCT | P008 | Preauthorization amount has exceeded limit |
- | - | RJCT | P001 | No matching on BIC at RPP forex table |
- | - | RJCT | P002 | Converted amount (MYR) calculated by RPP in 031 does not match with <Field3> sent by OFI |
- | - | RJCT | P005 | OFI sent invalid Rate Update Reference Number in <Field2> |
- | - | RJCT | P006 | RPP Rate Reference Number (in <Field2>) has expired |
- | - | RJCT | P007 | <Field3> does not match with <IntrBkSttlAmt> |
DuitNow Cross-border Fund Transfer Foreign Country Response Code
These are the reason codes used by foreign participants.
Singapore
SG Reason Code | Description | Flow | Reason code to Overseas |
---|---|---|---|
602 | Message validation failure | Lookup | LK01 |
801 | Proxy is not registered | Lookup | LK02 |
802 | Proxy type is not valid | Lookup | LK03 |
809 | Proxy has no active Registrations | Lookup | LK04 |
730 | Invalid requestor type | Lookup | LK05 |
740 | Proxy not belongs to participant bank | Lookup | LK06 |
750 | Account is not open to specified Mandates services for this particular creditor | Lookup | LK07 |
999 | Internal system temporarily unavailable | Lookup | SM01 |
4021 | Payment Request Time Out | Payment | AB01 |
9902 | Transaction Invalid | Payment | AG03 |
9903 | Invalid Currency | Payment | AM03 |
9904 | Invalid Date Sent | Payment | DT01 |
9905 | Switch Does Not Support Sending Bank | Payment | DNOR |
9906 | Invalid Amount | Payment | AM12 |
9908 | Cannot determine route for payment.The receiving bank code does not exist in the routing table | Payment | CNOR |
9909 | Central Infrastructure System Malfunction | Payment | SM01 |
9910 | Receiving Bank’s System Not Logged On | Payment | CNOR |
9912 | Receiving Bank’s System Not Available | Payment | CNOR |
9913 | Duplicate Transaction Suspected | Payment | AM05 |
9931 | Receiving Bank Not Able to Authorise Credit | Payment | CNOR |
9934 | Originating Bank’s System Not Logged On | Payment | DNOR |
9940 | Payment Exceeds Global Limit Check | Payment | LM01 |
9941 | Payment Exceeds Global Transaction Limit Check | Payment | LM01 |
9942 | Payment Would Cause Settlement Risk Position to Breach Debit Cap | Payment | AM04 |
9943 | Receiving Bank is Suspended for Credits | Payment | AG11 |
9944 | Originating Bank is Suspended for Credits | Payment | DNOR |
9946 | Originating Bank is Defaulted (Suspended for both Credit & Debit) | Payment | OH01 |
9947 | Receiving Bank is Defaulted (Suspended for both Credit & Debit) | Payment | AG11 |
9948 | Host Service is suspended | Payment | OH01 |
9950 | Illegal Originating Bank Code | Payment | RC02 |
9963 | Bank Limit breached for Originating Bank’s Credit Transfer | Payment | LM01 |
9964 | Invalid BIC, where BIC is not 11 characters long | Payment | RC02 |
9965 | Invalid Purpose Code, where the Purpose Code is not in the supplied list of valid Purpose codes | Payment | FF07 |
1010 | Invalid Receiving Account No | Payment | AC03 |
1042 | Invalid Originating Account No | Payment | AC02 |
1051 | Effects Not Cleared | Payment | OH01 |
1070 | Format Error or Error In Purpose Code | Payment | FF07 |
1074 | Duplicated Instruction ID | Payment | DU05 |
1100 | Other than that Identified Below | Payment | OH01 |
1101 | Bank is Inactive/Default | Payment | AG11 |
1102 | Bank is Not Subscribed to the Service | Payment | AC14 |
1106 | Unmatched Response | Payment | OH01 |
1107 | Sending Bank is Not Originating Bank | Payment | AC14 |
1114 | Beneficiary Customer Account unknown | Payment | AC03 |
1160 | Beneficiary Account Closed | Payment | AC04 |
1161 | Beneficiary Account Stopped | Payment | AC04 |
1162 | Beneficiary Account Name Does Not Match Beneficiary Account Number | Payment | OH01 |
1164 | Reference Information is Incorrect | Payment | OH01 |
1165 | Account is Not in Currency Quoted | Payment | AC09 |
1166 | Account Transferred | Payment | AC15 |
1168 | Fraudulent Payment Suspected | Payment | FR01 |
1169 | Reason Not Specified Because of Sensitivities | Payment | OH01 |
1170 | Terms and Conditions of Account Do Not Permit Crediting of These Funds | Payment | OH01 |
1171 | Beneficiary Account Name Not Present | Payment | AC01 |
1172 | Funds Not Available | Payment | AM04 |
1181 | Duplicate Transaction suspected | Payment | DU03 |
1200 | Incorrect Account Number | Payment | AC01 |
1201 | Closed Account Number | Payment | AC04 |
1202 | Blocked Account | Payment | AC06 |
1203 | Transaction Forbidden | Payment | AG01 |
1205 | Incorrect Agent | Payment | AC14 |
1206 | Zero Amount | Payment | AM02 |
1207 | Not Allowed Amount | Payment | AM02 |
1208 | Not Allowed Currency | Payment | AM03 |
1209 | Refer to Paying Party | Payment | OH01 |
1211 | Too Low Amount | Payment | AM02 |
1212 | Blocked Amount | Payment | AM02 |
1213 | Wrong Amount | Payment | AM12 |
1214 | Inconsistent With End Customer | Payment | BE01 |
1215 | Missing Creditor Address | Payment | BE04 |
1216 | Unrecognised Initiating Party | Payment | BE05 |
1217 | Unknown End Customer | Payment | BE06 |
1218 | Missing Debtor Address | Payment | BE07 |
1219 | Requested By Customer | Payment | CUST |
1237 | Invalid Date | Payment | DT01 |
1238 | Correspondent Bank Not Possible | Payment | ED01 |
1239 | Balance Info Request | Payment | ED03 |
1242 | Following Cancellation Request | Payment | FOCR |
1245 | Collection Not Due | Payment | MD05 |
1251 | Unrecognised Agent | Payment | AC14 |
1253 | Incorrect Customer Authentication | Payment | OH01 |
1255 | Incorrect Currency | Payment | AM03 |
1257 | Requested By Initiating Party | Payment | OH01 |
1258 | Requested By Initiating Party And Customer | Payment | OH01 |
1259 | Not Specified Reason Customer Generated | Payment | MS02 |
1260 | Not Specified Reason Agent Generated | Payment | MS03 |
1261 | Any Other Reasons | Payment | OH01 |
1262 | Bank Identifier Incorrect | Payment | RC02 |
1267 | Regulatory Reason | Payment | RR04 |
1909 | System Malfunction | Payment | SM01 |
1930 | Syntax Error | Payment | FF02 |
DuitNow QR Cross-border Foreign Country Response Code
These are the reason codes used by foreign participants.
Singapore
Code | Description |
---|---|
00 | Transaction approved. |
03 | When an expiry date encoded inside the QR code – QR has expired or Expiry date in the QR code is invalid. |
05 | Transaction cannot be honored. |
06 | Generic system error in processing/completing the request. |
09 | Original payment transaction is still in progress. |
12 | The dynamic QR payload scanned by the Bank/wallet App cannot be matched on the NETS host. |
13 | The amount in the Pay Advice does not match the amount encoded in the dynamic QR payload. |
15 | Acquirer/wallet entity cannot be found (not registered or input value incorrect) based on the request parameters. |
30* | Request message format is invalid. Request is either missing mandatory parameters or some request parameters are with invalid length/format. |
58 | Terminal ID/Sticker is invalid/unauthorized to perform this transaction. |
63 | Signature provided in the QR code is invalid. |
68 | Request cannot be processed due to order timeout or late payment request. |
92 | SOF/Bank configuration is missing routing info. |
94 | Same request has been processed earlier or Duplicate transmission/processing of the same request. |
XX | Status of the transaction is Unknown. Wait for settlement. |
ZZ | Operation not supported by SOF/Wallet. |
Indonesia
Code | Description |
---|---|
0000 | Approved or completed successfully |
0003 | Invalid Merchant |
0005 | Do not Honor |
0012 | Invalid Transaction |
0013 | Invalid Amount |
0014 | Invalid PAN Number |
0030 | Format Error or Invalid QR Payload |
0051 | Insufficient Funds |
0057 | Transaction Not Permitted to Cardholder (QR Code is expired) |
0058 | Transaction Not Permitted to Terminal |
0059 | Suspected Fraud |
0061 | Exceeds Transaction Amount Limit |
0062 | Restricted Card |
0065 | Exceeds Transaction Frequency Limit |
0068 | Suspend Transaction |
0090 | Decline Cutoff in Progress |
0091 | Link Down |
0092 | Invalid Routing |
0094 | Duplicate Transmission |
0096 | System Malfunction |
00A0 | Reverse Debit Customer’s Balance |
0400 | Bad Request or Invalid Format |
0401 | Invalid Authorization / Unauthorized |
0403 | Forbidden or Access not Allowed |
0405 | Method not Allowed |
0500 | Internal Server Error |
0650 | Cannot Parse the Message |
Thailand
Code | Description |
---|---|
0000 | Successful response |
8404 | Transaction Reference does not exist |
8405 | Transaction on that reference Id already void |
6501 | Destination bank does not support or implement this service |
8501 | Sponsor Bank error due to E-Wallet provider does not support or implement this service |
8503 | Communication error between ITMX - Destination Bank |
6400 | Bad Request |
6410 | Bad Request |
6411 | Bad Request |
6412 | Bad Request |
8400 | Bad Request |
8410 | Bad Request |
8411 | Bad Request |
8412 | Bad Request |
6421 | Unauthorized |
6422 | Unauthorized |
6423 | Unauthorized |
6424 | Unauthorized |
6701 | Unauthorized |
6702 | Unauthorized |
6703 | Unauthorized |
8701 | Destination Bank UnAuthorized error |
8702 | Destination Bank UnAuthorized error |
8703 | Destination Bank UnAuthorized error |
6403 | Forbidden |
6500 | ITMX Internal Error |
8500 | Internal system error - Destination Bank |
6601 | Creditor account number inactive |
6602 | Invalid Creditor account number |
6603 | Transaction cannot be processed at receiving bank ,Transaction is cancelled |
6604 | Invalid amount |
6605 | Format Error |
6606 | invalid Debtor account |
6607 | Invalid bank code Note: include gateway BIC |
6608 | Invalid reference data - Instruction Id does not match Tx Id |
6609 | Bank does not support this service |
6610 | Fund not available |
6611 | Incomplete AMLO information |
6612 | Over limit amount without available balance to display |
6613 | Account closed |
6614 | Duplicate Transaction (Bank Reject) |
6615 | Proxy lookup failure which could be - Proxy is not register / Not found |
6616 | Proxy lookup failure which could be - Lookup DB problem |
6617 | Proxy lookup failure which could be - validation proxy type is invalid |
6618 | Completed with timeoout (ACTC-Timeout) |
6620 | New Reason code. Look up resulted in bank which is not participant of Cr Border |
6621 | Not valid between GW-GW, this is validate between B SG Bank to validate lookup currency/amount SG -> TH |
6649 | Others than specified above |
6650 | Transaction Invalid. invalid format and value or Invalid purpose code. If invalid format then throw error with this format |
6651 | Invalid Currency |
6652 | Invalid Date Sent (Not more than current + or - 24 hr) |
6653 | Fund exceed limit check (Global, Transaction) |
6654 | Insufficient Fund (Breach Debit Cap) |
6655 | Debtor Bank inactive |
6656 | Creditor bank inactive |
6657 | Sending GW is not signon or alive (not response to echo) |
6658 | Payment switch is not available |
6689 | Request Timeout |