# Error Codes

Find [here](https://kgegjwnjseu.sg.larksuite.com/wiki/AEi6w0bSCixlVlkl6rFlHMQJgRd) a full list of error codes that are returned with transactions upon their failure; they cover  Pesalink, Mpesa and Choice Bank.&#x20;

### Mpesa

<table><thead><tr><th width="159.26666259765625">Choice Error Code Mapping</th><th width="125.5333251953125">Error Code</th><th width="152.199951171875">Description</th><th>Probable Root Cause</th></tr></thead><tbody><tr><td>TXERR0001<br>Insufficient Balance</td><td>1</td><td>Insufficient Funds</td><td>Subscriber has declined using Overdraft aka Fuliza.<br>The subscriber has insufficient funds on M-PESA.</td></tr><tr><td>TXERR0002<br>Invalid Account</td><td>2</td><td>Validation failed</td><td>The organization receiving the payment rejected it due to an invalid account number specified.</td></tr><tr><td>TXERR0011<br>Amount exceeds agreed limit</td><td>3</td><td>More Than Maximum Transaction Value</td><td>Transaction declined (invalid amount)</td></tr><tr><td>TXERR0015<br>Unknown Errors Occured</td><td>4</td><td>Would Exceed Daily Transfer Limit</td><td>Transaction declined. Daily transfer limit exceeded</td></tr><tr><td>''<br>(same as above) </td><td>5</td><td>Would Exceed Minimum Balance</td><td>Transaction declined (amount exceeds credit)</td></tr><tr><td>TXERR0020<br>Invalid Sender Party</td><td>6</td><td>Unresolved Primary Party</td><td>Transaction declined (invalid holder)</td></tr><tr><td>TXERR0021<br>Invalid Receiver Party</td><td>7</td><td>Unresolved Receiver Party</td><td>Transaction declined. (User/Account Number/ID unknown)</td></tr><tr><td>TXERR0031<br>Transfer to the specified shortcode is declined</td><td>8</td><td>Would Exceed Merchants Maximum Balance</td><td>Transaction declined. (merchants limit exceeded)</td></tr><tr><td>TXERR0022<br>Mpesa System Error</td><td>9</td><td>Transaction Processing Failed</td><td>M-pesa attempted to complete the transaction but was not successful</td></tr><tr><td>TXERR0023<br>Counterparty Account Not Registered on Mpesa</td><td>10</td><td>The MSISDN Provided is not registered on Mpesa</td><td>The user is not registered on M-pesa</td></tr><tr><td>TXERR0020<br>Invalid Sender Party</td><td>11</td><td>Debit Account Invalid</td><td>transaction declined (invalid Account holder)</td></tr><tr><td>TXERR0021<br>Invalid Receiver Party</td><td>12</td><td>Credit Account Invalid</td><td>transaction declined. (User/Account Number/ID unknown)</td></tr><tr><td>TXERR0020<br>Invalid Sender Party</td><td>13</td><td>Unresolved Debit Account</td><td>transaction declined (invalid holder)</td></tr><tr><td>TXERR0021<br>Invalid Receiver Party</td><td>14</td><td>Unresolved Credit Account</td><td>transaction declined. (User/Account Number/ID unknown)</td></tr><tr><td>TXERR0012<br>Duplicate Transaction Detected</td><td>15</td><td>Duplicate Detected</td><td>duplicate transaction</td></tr><tr><td>TXERR0015<br>Unknown Errors Occured</td><td>17</td><td>System external Failure</td><td>error on the external gateway (e.g. on the part of the Third party gateway, acquirer, etc)</td></tr><tr><td>TXERR0014<br>Transaction Format Mismatching</td><td>20</td><td>Unresolved Initiator</td><td>transaction declined. (invalid configuration data)</td></tr><tr><td>TXERR0999<br>System Error</td><td>23</td><td>The element SenderName is invalid</td><td>The IMT sender name does not have the mandatory two names</td></tr><tr><td>TXERR0024<br>Mpesa System Busy</td><td>26</td><td>Traffic blocking condition in place</td><td></td></tr><tr><td>TXERR0025<br>Conflict of USSD Sessions</td><td>1001</td><td>Unable to lock subscriber, a transaction is already in process for the current subscriber.</td><td>Duplicated MSISDN, MSISDN has an existing USSD session.<br>Conflict of sessions.<br>The user has an ongoing USSD Session.<br>USSD services are barred for user.</td></tr><tr><td>TXERR0026<br>Transaction Timeout</td><td>1019</td><td>Transaction has expired</td><td>The transaction has taken a long time before being processed within the allowed time limit</td></tr><tr><td>TXERR0024<br>Mpesa System Error</td><td>1025</td><td>An error occurred while sending a push request</td><td>System error. Please retry later.</td></tr><tr><td>TXERR0027<br>STK Prompt Time Out</td><td>1032</td><td>Request Cancelled By User. STK Prompt timed out waiting for user input</td><td>STK Prompt Cancelled by user</td></tr><tr><td>TXERR0028<br>The User cannot be reached by STK Push</td><td>1037</td><td>DS Timeout - The user does not have an updated SIM card or Mobile Phone is offline</td><td>User has an outdated SimCard or Phone is offline The user can not be reached by stk push</td></tr><tr><td>TXERR0029<br>STK Push Validation Failed</td><td>2001</td><td>The initiator information is invalid.</td><td>The user initiating the push has given invalid password input.<br>The user has entered the wrong pin to validate the STKPUSH request.</td></tr><tr><td>TXERR0999<br>System Error</td><td>2007</td><td>External validation failed for the C2B transaction</td><td>This means the destination paybill has rejected the transaction as the sub-account number specified was not found in the destination (core) system.</td></tr><tr><td>TXERR0027<br>STK Prompt Time Out</td><td>2026</td><td>The channel session ID has expired.</td><td>The stk session has timed out due to a network disruption on the telco side.</td></tr><tr><td>TXERR0999<br>System Error</td><td>2028</td><td>The request is not permitted according to product assignment</td><td>The paybill only allows incoming transfers from MSIDN and not from other shortcodes (does not accept B2B transfers)</td></tr><tr><td>TXERR0030<br>Wrong Pay Type Specified</td><td>2029</td><td>Failed due to an unresolved reason type.</td><td>An attempt was made to transfer funds to a paybill while the request had specified a Pay till. An attempt to transfer to a Buygoods till when the request had specified transfer to a Paybill</td></tr><tr><td>TXERR0999<br>System Error</td><td>2033</td><td>The transaction receipt number cannot be found by the specified OriginatorConversationID or ConversationID</td><td>An attempt was made to query a transaction status using a reference that is not on the mpesa system. This occurs when either the original conversation ID is incorrect, or mpesa did not receive the original transaction request.</td></tr><tr><td>TXERR0023<br>Counterparty Account Not Registered on Mpesa</td><td>2040</td><td>Credit Party customer type (Unregistered or Registered Customer) can't be supported by the service</td><td>An attempt to transfer to a mobile number which is not registered/subscribed to receive Mpesa money</td></tr><tr><td>TXERR0031<br>Transfer to the specified shortcode is declined</td><td>2043</td><td>This organization is not a child organization of the initiator.</td><td>You are not allowed to transfer money to this Paybill shortcode</td></tr><tr><td>TXERR0999<br>System Error</td><td>2080</td><td>Amount will exceed M-PESA limit</td><td>For mpesa wallet, say the maximum limit allowable is 500k, if a transfer attempt will exceed that limit, the transfer will be rejected and the error 2080 returned.</td></tr><tr><td>TXERR0999<br>System Error</td><td>400.002.02</td><td>Bad Request</td><td>transaction declined (format error)</td></tr><tr><td>TXERR0999<br>System Error</td><td>400.002.05</td><td>Invalid Request Payload</td><td>transaction declined. (format error)</td></tr><tr><td>TXERR0999<br>System Error</td><td>404.001.01</td><td>Resource not found</td><td>error on the external gateway (e.g. on the part of the bank, acquirer,...)</td></tr><tr><td>TXERR0999<br>System Error</td><td>404.001.03</td><td>Invalid Access Token</td><td>authorization failed. Invalid Access Token</td></tr><tr><td>TXERR0999<br>System Error</td><td>404.001.04</td><td>Invalid Authentication Header</td><td>authorization failed. Invalid Auth Header</td></tr><tr><td>TXERR0034<br>Mpesa Service Unavailable</td><td>500.001.1001</td><td>Server Error</td><td>error on the external gateway (e.g. on the part of the bank, acquirer,...)</td></tr><tr><td>TXERR0034<br>Mpesa Service Unavailable</td><td>500.002.02</td><td>Error Occured Spike arrest Violation</td><td>Error Response from the connector/acquirer</td></tr><tr><td>TXERR0034<br>Mpesa Service Unavailable</td><td>500.002.1001</td><td>"Service is currently under maintenance. Please try again later</td><td>M-pesa is currently un available</td></tr><tr><td>TXERR0032<br>Disabled / discontinued shortcode</td><td>SFC_IC0003</td><td>The operator does not exist.</td><td>The Paybill/Paytill shortcode is no longer available or has been discontinued/disabled</td></tr><tr><td>TXERR0002<br>Invalid Account</td><td>C2B00012</td><td>Account does not exist in CBS</td><td>The organization receiving the payment rejected it due to an invalid account number specified.</td></tr><tr><td>TXERR0006<br>Counterparty Agent Not Responding</td><td>SVC0001</td><td>Time out</td><td>The organization receiving the payment did not respond in a timely manner to a request to validate the account number from M-pesa. Mpesa automatically cancelled the transaction.</td></tr><tr><td>TXERR0002<br>Invalid Account</td><td>C2B1016</td><td>Till not found and paymentRef is not an account</td><td>The account number specified was neither a valid account number nor a Till/short number. Invalid reference number encountered.</td></tr><tr><td>TXERR0002<br>Invalid Account</td><td>C2B1012</td><td>Customer validation Failed</td><td>The organization receiving the payment rejected it due to an invalid account number specified.</td></tr><tr><td>TXERR0033<br>Counterparty Rejects Prepaid Account Transfers</td><td>C2B00012</td><td>Prepaid Account is not Allowed</td><td>Only Post paid account are allowed to make the transfer</td></tr></tbody></table>

### Pesalink

<table><thead><tr><th width="145.4000244140625">Choice Error Code Mapping</th><th width="87.800048828125">Error Code</th><th width="150.3333740234375">Description</th><th>Possible root cause</th></tr></thead><tbody><tr><td>TXERR0006<br>Counterparty Agent Not Responding</td><td>AB05</td><td>Timeout at the Creditor Agent</td><td>Receiving participant's connection is down Network intermittency <br>Participants Pesalink middleware is down <br>Receiving participant's carrying out system maintenance <br>Receiving participant's application is down hence cannot receive requests or cannot sent out responses <br>Participants connection is down</td></tr><tr><td>'' <br>(same as above)</td><td>AB06</td><td>Timeout at the Instructed Agent</td><td><p>Receiving participant's application is down hence cannot receive requests or cannot sent out responses </p><p>Receiving participant's carrying out system maintenance <br>Network intermittency <br>Participants connection is down</p></td></tr><tr><td>''</td><td>AB07</td><td>Offline Agent</td><td><p>Participant carrying out system maintenance</p><p>Participants connection is down <br>Creditor agents application is down hence cannot receive requests or cannot sent out responses <br>Network intermittency</p></td></tr><tr><td>''</td><td>AB08</td><td>Offline Creditor Agent</td><td><p>Receiving Participants connection is down </p><p>Participant carrying out system maintenance </p><p>Creditor agents application is down hence cannot receive requests or cannot sent out responses</p></td></tr><tr><td>''</td><td>NOAS</td><td>No answer from beneficiary</td><td>Participant carrying out system maintenance<br>Participants connection is down <br>Creditor agents application is down hence cannot receive requests or cannot sent out responses<br>Network intermittency</td></tr><tr><td>TXERR0007<br>Counterparty System Not Available</td><td>AB09</td><td>Error at the Creditor Agent. Reject</td><td>Transaction process aborted due to an error at the participant's end. <br><br>The participant system is not available to accept the incoming transaction</td></tr><tr><td>''</td><td>AG11</td><td>Creditor Agent suspended from the Real Time Payment system</td><td>Receiver institution is suspended on the IPS</td></tr><tr><td>''</td><td>RR04</td><td>Regulatory reason</td><td>NULL</td></tr><tr><td>TXERR0008<br>Counterparty Bank Not Supported on Pesalink</td><td>CNOR</td><td>Creditor agent is not registered under this ID in the IPS</td><td>Receiving institution code is invalid/not registered on the IPS</td></tr><tr><td>''</td><td>RC01</td><td>Participant identifier incorrect</td><td>Institution code is invalid/not registered on the IPS.</td></tr><tr><td>TXERR0009<br>Original Transaction Not Found</td><td>AG09</td><td>Original payment never received</td><td>The IPS never received the original request that the investigation message refers to.</td></tr><tr><td>''</td><td>NOOR</td><td>No original transaction received</td><td>The investigation message identification is wrong or the IPS never received the original request that the investigation message refers to</td></tr><tr><td>TXERR0001<br>Insufficient Balance</td><td>AM04</td><td>Insufficient funds</td><td>Debtor account does not have sufficient funds to warrant a debit on their account</td></tr><tr><td>TXERR0002<br>Invalid Account</td><td>AC01</td><td>Account identifier invalid or does not exist</td><td><p>Receiving participant's core banking system unavaialable <br><br>Receiving participant's Pesalink middleware unable to reach core participating system's CBS <br>Creditor not able to return account details </p><p>Account does not exist on the receiving participant's CBS <br>Ultimate debtor using incorrect account number</p></td></tr><tr><td>TXERR0003<br>Closed Account</td><td>AC04</td><td>Closed account number</td><td>Account number has been closed by the Participant</td></tr><tr><td>TXERR0004<br>Blocked Account</td><td>AC06</td><td>Blocked account</td><td>Account restricted in core Participating system due to various reasons Account number has been blocked by creditor</td></tr><tr><td>TXERR0005<br>Beneficiary Deceased</td><td>MS02</td><td>Reason not specified</td><td>Transactions fails to honor the transaction and does not give the specific reason for the failure</td></tr><tr><td>TXERR0010<br>Amount is less than agreed limit</td><td>AM01</td><td>Zero amount</td><td>Minimum amount that can be transferred through Pesalink is Ksh.1</td></tr><tr><td>''</td><td>AM06</td><td>Amount is less than agreed minimum</td><td>Minimum amount that can be transferred through Pesalink is Ksh.1</td></tr><tr><td>TXERR0011<br>Amount exceeds agreed limit</td><td>AM02</td><td>Amount exceeds the maximum authorized amount</td><td>Maximum amount that can be transferred through Pesalink is 999,1000</td></tr><tr><td>''</td><td>AM14</td><td>Amount exceeds agreed limit</td><td>Maximum amount that can be transferred through Pesalink is 999,999</td></tr><tr><td>TXERR0012<br>Duplicate Transaction Detected</td><td>AM05</td><td>Duplication</td><td>Participant system error resulting in duplicated requests</td></tr><tr><td>''</td><td>DUPL</td><td>Duplicate payment</td><td>Participant system error resulting in duplicated requests</td></tr><tr><td>TXERR0013<br>Participant Systems Error</td><td>XT79</td><td>Debtor Agent is not allowed to send pacs.008, pscs.028, camt.056 and receive NRR and PRR</td><td>Debtor is disabled from sending the type of request it is passing to the IPS</td></tr><tr><td>''</td><td>XT80</td><td>Creditor Agent is not allowed to receive pacs.008, pacs.028, camt.056 and send NRR and PRR</td><td>Creditor is disabled from sending the type of request it is passing to the IPS</td></tr><tr><td>TXERR0014<br>Transaction Format Mismatch</td><td>AM11</td><td>Currency is invalid or missing</td><td>The only transaction type supported by IPSL switch is KES</td></tr><tr><td>''</td><td>AM12</td><td>Amount is invalid or missing</td><td>Amount field is either not captured, or is the format used is wrong</td></tr><tr><td>''</td><td>AM18</td><td>Number of transactions is invalid or missing</td><td>Number of transactions stated in a bulk file header should match the total number of requests</td></tr><tr><td>''</td><td>DT02</td><td>Invalid creation date</td><td>Wrong creation date when actual payment was created The date format is invalid</td></tr><tr><td>''</td><td>RR01</td><td>Missing debtor account or identification</td><td>Request/Response from Participant is missing the Cdtr/Dbtr account tag for send to account or Request/Response from Participant is missing the phone number tag for send to phone/wallet</td></tr><tr><td>''</td><td>RR02</td><td>Missing debtor name or address</td><td>Request/Response from Participant is missing the debtors name and address</td></tr><tr><td>''</td><td>RR03</td><td>Missing creditor Name or address</td><td>Request/Response from Participant is missing the creditors name and address</td></tr><tr><td>''</td><td>XT06</td><td>Invalid acceptance time</td><td>The date/time format sent in the request/response message is wrong or not recognized by the IPS</td></tr><tr><td>''</td><td>XT13</td><td>Unsupported XML field</td><td>Participant sent a tag that IPSL Switch does not conform to IPSL standards</td></tr><tr><td>''</td><td>XT33</td><td>Invalid data format</td><td>Participant sent a tag to IPSL Switch that does not conform to IPSL standards</td></tr><tr><td>''</td><td>XT77</td><td>Original amount mismatch</td><td>Amount in credit transfer request / payment initiation request, not matching the amount in the response</td></tr><tr><td>''</td><td>AM09</td><td>Wrong Amount</td><td>Participant system error resulting in mismatch in amount sent</td></tr><tr><td>TXERR0015<br>Unknown Errors Occured</td><td>MS02</td><td>Reason not specified</td><td>Transactions fails to honor the transaction and does not give the specific reason for the failure</td></tr><tr><td>''</td><td>CUST</td><td>Beneficiary decision without any reason specified</td><td>Participants middleware received a response that it cannot decipher, from the Core Banking orParticipant declined the request without specifying the exact reason for failure</td></tr><tr><td>TXERR0016<br>Multiple Transfers Declined by Velocity Checks</td><td>TE05</td><td>Declined by switch rules</td><td>Transaction rejected due to velocity checks that do not allow the debtor/creditor to send/receive multiple transactions within a specified period of time</td></tr><tr><td>TXERR0017<br>Transaction Declined due to Irregular Narration</td><td>TE06</td><td>Credit transfer rejected due to the rejection of the related initiation message</td><td>The payment initiation request was rejected by Debtor agent either due to Message tags in the request that the participant did not expect The account holder (initiating party) is not allowed by the debtor agent to send a payment initiation request</td></tr><tr><td>TXERR0999<br>System Error</td><td>AG10</td><td>Agent suspended from the Real Time Payment system</td><td>Sender institution is suspended on the IPS</td></tr><tr><td>''</td><td>AM23</td><td>Amount exceeds settlement limit</td><td>Participant has depleted the available set base liquidity value</td></tr><tr><td>''</td><td>XT87</td><td>Inconsistent instructing agent</td><td>PIC captured in the instructing agent tag of request/response does not match the one configured on the IPS</td></tr><tr><td>''</td><td>FF08</td><td>End to End identifier is missing or invalid</td><td>The EndtoEndID is missing it the request/response from the participant</td></tr><tr><td>''</td><td>MD01</td><td>No mandate / Invalid Mandate</td><td>The mandate tag has been populated but its value has not been captured</td></tr><tr><td>''</td><td>TE04</td><td>Multiple Different Debtor Agents</td><td>Multiple PICS captured in the request/response</td></tr><tr><td>''</td><td>TE01</td><td>Timeout at the Debtor Agent</td><td></td></tr><tr><td>TXERR0018<br>Transaction to the Account is Declined</td><td>AG01</td><td>Transaction forbidden on this type of account</td><td>Account restricted in core Participating system due to various reasons</td></tr><tr><td>TXERR0019<br>Pesalink Service Unavailable</td><td>TECH</td><td>Technical problems resulting in erroneous transactions</td><td></td></tr></tbody></table>

### Choice Bank

<table><thead><tr><th width="279.066650390625">Error Code</th><th>Description</th></tr></thead><tbody><tr><td>TXERR0001</td><td>Insufficient Funds</td></tr><tr><td>TXERR0002</td><td>Invalid Account (Number)</td></tr><tr><td>TXERR0003</td><td>Closed Account</td></tr><tr><td>TXERR0004</td><td>Blocked Account</td></tr><tr><td>TXERR0005</td><td>Beneficiary Deceased</td></tr><tr><td>TXERR0006</td><td>Counterparty Agent Not Responding</td></tr><tr><td>TXERR0007</td><td>Counterparty System Not Available</td></tr><tr><td>TXERR0008</td><td>Counterparty Bank Not Supported on Pesalink</td></tr><tr><td>TXERR0009</td><td>Original Transaction Not Found</td></tr><tr><td>TXERR0010</td><td>Amount is less than agreed limit</td></tr><tr><td>TXERR0011</td><td>Amount exceeds agreed limit</td></tr><tr><td>TXERR0012</td><td>Duplicate Transaction Detected</td></tr><tr><td>TXERR0013</td><td>Participant Systems Error</td></tr><tr><td>TXERR0014</td><td>Transaction Format Mismatch</td></tr><tr><td>TXERR0015</td><td>Unknown Errors Occured</td></tr><tr><td>TXERR0016</td><td>Multiple Transfers Declined by Velocity Checks</td></tr><tr><td>TXERR0017</td><td>Transaction Declined due to Irregular Narration</td></tr><tr><td>TXERR0018</td><td>Transaction to the Account is Declined</td></tr><tr><td>TXERR0019</td><td>Pesalink Service Unavailable</td></tr><tr><td>TXERR0020</td><td>Invalid Sender Party</td></tr><tr><td>TXERR0021</td><td>Invalid Receiver Party</td></tr><tr><td>TXERR0022</td><td>Mpesa System Error</td></tr><tr><td>TXERR0023</td><td>Counterparty Account Not Registered on Mpesa</td></tr><tr><td>TXERR0024</td><td>Mpesa System Busy</td></tr><tr><td>TXERR0025</td><td>Conflict of USSD Sessions</td></tr><tr><td>TXERR0026</td><td>Transaction Timeout</td></tr><tr><td>TXERR0027</td><td>STK Prompt Time Out</td></tr><tr><td>TXERR0028</td><td>The User cannot be reached by STK Push</td></tr><tr><td>TXERR0029</td><td>STK Push Validation Failed</td></tr><tr><td>TXERR0030</td><td>Wrong Pay Type Specified</td></tr><tr><td>TXERR0031</td><td>Transfer to the specified shortcode is declined</td></tr><tr><td>TXERR0032</td><td>Disabled / discontinued shortcode</td></tr><tr><td>TXERR0033</td><td>Counterparty Rejects Prepaid Account Transfers</td></tr><tr><td>TXERR0034</td><td>Mpesa Service Unavailable</td></tr><tr><td>TXERR0035</td><td>Abnormal Account Status</td></tr><tr><td>TXERR0999</td><td>System Error. Retry. </td></tr></tbody></table>

### IMT&#x20;

<table><thead><tr><th width="115.8665771484375">Response Code</th><th>Description</th></tr></thead><tbody><tr><td>0</td><td>Accept the service request successfully. Indicates that the request has passed basic validation tests and been passed on to the M-pesa system for processing.</td></tr><tr><td>1000</td><td>System is busy, the service request is rejected. Means the request has not been accepted, you can proceed by retrying.</td></tr><tr><td>1001</td><td>Caller authentication error.</td></tr><tr><td>1002</td><td>Parameter missing or data type error.</td></tr><tr><td>1003</td><td>Duplicate originator conversation ID.</td></tr><tr><td>1005</td><td>The element is invalid.</td></tr><tr><td>API </td><td>RESPONSES FOLLOW</td></tr><tr><td>401</td><td>Invalid Access Token - Using a wrong or expired access token</td></tr><tr><td>400</td><td>Bad Request – Invalid request payload.</td></tr><tr><td>404</td><td>Resource not found - The requested resource could not be found.</td></tr><tr><td>405</td><td>Method Not Allowed – B2C API is a POST</td></tr><tr><td>500</td><td>Internal Server Error – Server Failure</td></tr><tr><td>0</td><td>Process service request successfully.</td></tr><tr><td>2000</td><td>Service code error.</td></tr><tr><td>2001</td><td>Initiator authentication error.</td></tr><tr><td>2002</td><td>Receiver invalid.</td></tr><tr><td>2004</td><td>Amount invalid.</td></tr><tr><td>2006</td><td>Balance insufficient.</td></tr><tr><td>2007</td><td>Conversation ID invalid.</td></tr><tr><td>2010</td><td>Request has been rejected by the approver.</td></tr><tr><td>2011</td><td>Request process expired because of approval timeout</td></tr><tr><td>2036</td><td>One and only one of the query parameters ReceiptNumber, OriginatorConversationID and ConversationID can appear at the same time.</td></tr><tr><td>2051</td><td>The entered mobile number is out of the valid number segment.</td></tr><tr><td>2052</td><td>KYC field invalid.</td></tr><tr><td>2015</td><td>The TransactinID does not match the short code of ReceiverParty.</td></tr><tr><td>2033</td><td>The transaction receipt number cannot be found by the specified OriginatorConversationID or ConversationID.</td></tr><tr><td>2069</td><td>The IMT validation transaction (Partner Transaction ID) does not exist.</td></tr><tr><td>2070</td><td>The M-PESA transaction ID in the transfer request is inconsistent with the M-PESA ID in the validation request.</td></tr><tr><td>2071</td><td>Transaction already exists (Partner Transaction ID or M-PESA ID already exists).</td></tr><tr><td>2072</td><td>Duplicate IMT Money Transfer Request. Transaction already submitted.</td></tr><tr><td>2073</td><td>The Recipient in the Money Transfer Request is different from the Recipient in the Validation Request.</td></tr><tr><td>2040</td><td>Customer is not registered {Service only supports registered customers.}.</td></tr><tr><td>2080</td><td>The transaction failed as the daily, monthly or yearly authorized limit would be exceeded.</td></tr><tr><td>2081</td><td>The IMT transaction has been cancelled due to failed AML Screening.</td></tr><tr><td>2082</td><td>The IMT money transfer transaction(request) has expired.</td></tr></tbody></table>

### API Responses

Find [here](https://kgegjwnjseu.sg.larksuite.com/wiki/Ts2twWMTNirFv3kpSlnl9YFxgYg) a full list of response codes that are returned by Choice BaaS APIs.&#x20;

<table><thead><tr><th width="154.06671142578125">Response Code</th><th>Response Message</th></tr></thead><tbody><tr><td>00000</td><td>Completed successfully</td></tr><tr><td>10000</td><td>System error</td></tr><tr><td>10001</td><td>System is busy, please retry later</td></tr><tr><td>10002</td><td>Request timeout.</td></tr><tr><td>11000</td><td>No permission</td></tr><tr><td>11200</td><td>You have sent too many sms codes today.</td></tr><tr><td>11201</td><td>Request SMS verify code too frequently</td></tr><tr><td>11202</td><td>The sms verify code is locked due to too many failure attempt.</td></tr><tr><td>11203</td><td>Wrong sms verify code.</td></tr><tr><td>12000</td><td>Type of GET request is not supported.</td></tr><tr><td>12001</td><td>Invalid params.</td></tr><tr><td>12002</td><td>nvalid request id.</td></tr><tr><td>12003</td><td>Invalid sender id.</td></tr><tr><td>12004</td><td>Invalid signature.</td></tr><tr><td>12005</td><td>FileName too long.</td></tr><tr><td>12006</td><td>File too big.</td></tr><tr><td>12007</td><td>ile can not match type.</td></tr><tr><td>12008</td><td>Please input country code.</td></tr><tr><td>12009</td><td>Please input mobile</td></tr><tr><td>12010</td><td>Invalid mobile number.</td></tr><tr><td>12011</td><td>Please input sms code</td></tr><tr><td>12012</td><td>Please input a valid amount.</td></tr><tr><td>12013</td><td>Please upload your file</td></tr><tr><td>12014</td><td>Please enter the nation</td></tr><tr><td>12015</td><td>Invalid birthday.</td></tr><tr><td>12016</td><td>Invalid mati request id.</td></tr><tr><td>12017</td><td>Please select a valid channel id.</td></tr><tr><td>12018</td><td>Please select a valid currency.</td></tr><tr><td>12019</td><td>Please input a valid account type.</td></tr><tr><td>12020</td><td>Please input a valid txType.</td></tr><tr><td>12021</td><td>Please input a valid txStatus.</td></tr><tr><td>12022</td><td>Unknown channel or sender</td></tr><tr><td>12023</td><td>Duplicate request.</td></tr><tr><td>12024</td><td>Invalid timestamp.</td></tr><tr><td>13000</td><td>Account does not exist.</td></tr><tr><td>13001</td><td>The user account has been locked.</td></tr><tr><td>13002</td><td>The user account has been closed.</td></tr><tr><td>13003</td><td>Account is abnormal.</td></tr><tr><td>13004</td><td>Account already exists.</td></tr><tr><td>13005</td><td>User is not found.</td></tr><tr><td>13200</td><td>Customer's kyc has not been passed.</td></tr><tr><td>13105</td><td>No such agreement</td></tr><tr><td>13201</td><td>Customer has passed the onboarding process.</td></tr><tr><td>13202</td><td>User's KYC information cannot be found.</td></tr><tr><td>13203</td><td>ID number has been registered.</td></tr><tr><td>13204</td><td>Onboarding request is under review.</td></tr><tr><td>13205</td><td>Customer is under 18.</td></tr><tr><td>13206</td><td>Onboarding media is not found.</td></tr><tr><td>13207</td><td>Onboarding status is not found.</td></tr><tr><td>13208</td><td>Onboarding request is not found.</td></tr><tr><td>13209</td><td>Please create your account</td></tr><tr><td>13210</td><td>You have opened an account.</td></tr><tr><td>13211</td><td>The onboarding request can not be modified as it is under reviewing or it has already been finalised (pass, rejected or timeout).</td></tr><tr><td>13212</td><td>Failed to create wallet customer.</td></tr><tr><td>13213</td><td>Failed to create wallet account.</td></tr><tr><td>13214</td><td>invalid monthly income.</td></tr><tr><td>13215</td><td>invalid employment status.</td></tr><tr><td>13216</td><td>this onboarding request has been audited.</td></tr><tr><td>13217</td><td>please upload the back side photo</td></tr><tr><td>13218</td><td>please upload jpg/jpeg/png type image</td></tr><tr><td>13219</td><td>image sizes must under 10MB</td></tr><tr><td>13220</td><td>please input at least one of this [userId,onboardingRequestId mobile] param</td></tr><tr><td>13221</td><td>please input a valid certificate type</td></tr><tr><td>13222</td><td>mobile has been register</td></tr><tr><td>13223</td><td>invalid reject reasons</td></tr><tr><td>13224</td><td>please input at least one of this [userId,mobile] param</td></tr><tr><td>13225</td><td>invalid status for audit,only status [2,9] for audit.</td></tr><tr><td>13226</td><td>Please input a valid kraPin.</td></tr><tr><td>13227</td><td>tier 2 onboarding request is not passed.</td></tr><tr><td>13228</td><td>you have upgraded your account to tier 1.</td></tr><tr><td>13229</td><td>your upgrade request is processing.</td></tr><tr><td>13300</td><td>Please withdraw all of the money before you close account.</td></tr><tr><td>13301</td><td>Failed to close account. Please contact support.</td></tr><tr><td>13302</td><td>short code exist for this user.</td></tr><tr><td>13303</td><td>account not found by this short code</td></tr><tr><td>13304</td><td>onboard info not found or not passed, please submit onboard request first</td></tr><tr><td>13305</td><td>onboard detail not match</td></tr><tr><td>13306</td><td>application not found or have been confirmed</td></tr><tr><td>13307</td><td>application not found</td></tr><tr><td>13308</td><td>account application reached maximum limit</td></tr><tr><td>13309</td><td>mobile change application reached maximum limit</td></tr><tr><td>14001</td><td>Transaction does not exist.</td></tr><tr><td>14002</td><td>Transaction Type does not exist.</td></tr><tr><td>14003</td><td>The pay-in channel is not supported.</td></tr><tr><td>14004</td><td>Account name does not match</td></tr><tr><td>14005</td><td>The accounts have different currencies.</td></tr><tr><td>14006</td><td>Too many transfers today.</td></tr><tr><td>14007</td><td>Too much transfer amount today.</td></tr><tr><td>14008</td><td>Cannot transfer to the same account.</td></tr><tr><td>14009</td><td>Insufficient account balance</td></tr><tr><td>14010</td><td>Cannot close account, because balance is not 0.</td></tr><tr><td>14011</td><td>product does not exist.</td></tr><tr><td>14012</td><td>bank code does not exist.</td></tr><tr><td>14013</td><td>business account does not exist.</td></tr><tr><td>14014</td><td>invalid payee accounts.</td></tr><tr><td>14015</td><td>amount of withdraw to M-PESA must greater than 10 KES per transaction.</td></tr><tr><td>14016</td><td>batch size is limited to be no more %s transactions per call.</td></tr><tr><td>14017</td><td>batch id not exist.</td></tr><tr><td>14018</td><td>batch transfer error.</td></tr><tr><td>14019</td><td>failed transaction missing error code.</td></tr><tr><td>14020</td><td>the transactions are not fully match this batch.</td></tr><tr><td>14021</td><td>TRANSACTION_LIMITATION</td></tr><tr><td>14022</td><td>inter bank transaction limit exceed</td></tr><tr><td>14023</td><td>amount of inter bank transfer must greater than 10 KES</td></tr><tr><td>14024</td><td>nvalid payee type or payee type not match.</td></tr><tr><td>14025</td><td>transaction limit exceed</td></tr><tr><td>14026</td><td>invalid bill order</td></tr><tr><td>14027</td><td>payment rejected</td></tr><tr><td>14028</td><td>internal error</td></tr><tr><td>14029</td><td>transaction have been processed</td></tr><tr><td>14030</td><td>payment not found.</td></tr><tr><td>14031</td><td>transaction have been confirmed.</td></tr><tr><td>14032</td><td>amount of deposit from M-PESA must not greater than 150000 KES per transaction.</td></tr><tr><td>14033</td><td>Insufficient amount for deposit from M-PESA</td></tr><tr><td>14034</td><td>bulk payment size over range</td></tr><tr><td>14035</td><td>bulk payment not exist</td></tr><tr><td>14036</td><td>bulk payment had been confirmed</td></tr><tr><td>14037</td><td>invalid otp mobile.</td></tr><tr><td>14038</td><td>currency mismatch</td></tr><tr><td>14039</td><td>unsupported bank code in foreign currency transaction</td></tr><tr><td>14040</td><td>foreign currency exchange must between the same user's accounts</td></tr><tr><td>14041</td><td>M-PESA outbound amount limit exceed</td></tr><tr><td>14042</td><td>white list check error</td></tr><tr><td>14043</td><td>account not in white list</td></tr><tr><td>15001</td><td>query time over range.</td></tr><tr><td>15002</td><td>query page oversize.</td></tr><tr><td>15003</td><td>job not exist.</td></tr><tr><td>15004</td><td>invalid query range</td></tr><tr><td>15005</td><td>the query is cooling down, please wait</td></tr><tr><td>18000</td><td>Failed to upload file.</td></tr><tr><td>18001</td><td>Failed to process file.</td></tr></tbody></table>
