# HTTP Status and Case Code

Successful responses are indicated with a 200-series HTTP code and a JSON-based payload containing the object(s) requested, created, modified, or deleted along with an expression of the server’s interpretation of your request.&#x20;

Error responses are served with a non-200-series HTTP code. Different error and case codes indicate different reasons for an error.

## 1. Virtual Account

<table><thead><tr><th>HTTP Status Code</th><th width="114">Case Code</th><th>Response Message</th><th>Description</th></tr></thead><tbody><tr><td>400XX</td><td>00</td><td>Bad Request</td><td>General request failed error, including message parsing failed.</td></tr><tr><td>400XX</td><td>01</td><td>Invalid Field Format {field name}</td><td>Invalid format</td></tr><tr><td>400XX</td><td>02</td><td>Invalid Mandatory Field {field name}</td><td>Missing or invalid format on mandatory field</td></tr><tr><td>401XX</td><td>00</td><td>Unauthorized. [reason]</td><td>General unauthorized error (No Interface Def, API is Invalid, Oauth Failed, Verify Client Secret Fail, Client Forbidden Access API, Unknown Client, Key not Found)</td></tr><tr><td>401XX</td><td>01</td><td>Invalid Token ( B2B )</td><td>Token found in request is invalid (Access Token Not Exist, Access Token Expiry)</td></tr><tr><td>401XX</td><td>03</td><td>Token Not Found (B2B</td><td>Token not found in the system. This occurs on any API that requires token as input parameter</td></tr></tbody></table>

## 2. Credit Card

{% hint style="info" %}
Apart from Acquirer's Response Code, There's also response code generated by DOKU in case if transaction failed due to any validation before being processed to acquirer
{% endhint %}

{% tabs %}
{% tab title="Acquirer Response Code" %}

<table><thead><tr><th width="123">ECode</th><th width="538">Description</th><th width="334">Category</th></tr></thead><tbody><tr><td>00</td><td>Approved or completed successfully</td><td>Issuer approved</td></tr><tr><td>01</td><td>Refer to card issuer, Contact card issuer</td><td>Generic response codes</td></tr><tr><td>02</td><td>Refer to card issuer - Special conditions</td><td>Generic response codes</td></tr><tr><td>03</td><td>Invalid merchant</td><td>Issuer cannot approve at this time</td></tr><tr><td>04</td><td>Pick up card (no fraud)</td><td>Issuer will never approve</td></tr><tr><td>05</td><td>Do not honor</td><td>Generic response codes</td></tr><tr><td>06</td><td>Error (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>07</td><td>Pickup card, special conditions (applies for VISA)</td><td>Issuer will never approve</td></tr><tr><td>08</td><td>Honor with ID (applies for VISA)</td><td>Issuer approved</td></tr><tr><td>10</td><td>Partial value approved</td><td>Generic response codes</td></tr><tr><td>11</td><td>Approved V.I.P (applies for MASTERCARD)</td><td>Issuer approved</td></tr><tr><td>12</td><td>Invalid transaction</td><td>Issuer will never approve</td></tr><tr><td>13</td><td>Invalid value/amount</td><td>Generic response codes</td></tr><tr><td>14</td><td>Invalid card number</td><td>Issuer will never approve</td></tr><tr><td>15</td><td>No such issuer</td><td>Issuer will never approve</td></tr><tr><td>19</td><td>Re-enter transaction (applies for VISA)</td><td>Issuer cannot approve at this time</td></tr><tr><td>21</td><td>No action taken (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>25</td><td>Unable to locate record on file (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>28</td><td>File is temporarily unavailable (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>30</td><td>Format error (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>39</td><td>No credit account (applies for VISA)</td><td>Issuer cannot approve at this time</td></tr><tr><td>41</td><td>Lost card - pick up</td><td>Issuer will never approve</td></tr><tr><td>43</td><td>Stolen card - pick up</td><td>Issuer will never approve</td></tr><tr><td>46</td><td>Closed Account (applies for VISA)</td><td>Issuer will never approve</td></tr><tr><td>51</td><td>Insufficient funds</td><td>Issuer cannot approve at this time</td></tr><tr><td>52</td><td>No checking account (applies for VISA)</td><td>Issuer cannot approve at this time</td></tr><tr><td>53</td><td>No savings account (applies for VISA)</td><td>Issuer cannot approve at this time</td></tr><tr><td>54</td><td>Expired card</td><td>Issuer cannot approve based on details provided</td></tr><tr><td>55</td><td>Incorrect PIN</td><td>Issuer cannot approve based on details provided</td></tr><tr><td>57</td><td>Transaction not permitted to cardholder</td><td>Issuer will never approve</td></tr><tr><td>58</td><td>Transaction not permitted to terminal</td><td>Generic response codes</td></tr><tr><td>59</td><td>Suspected fraud</td><td>Issuer cannot approve at this time</td></tr><tr><td>61</td><td>Exceeds withdrawal amount limits</td><td>Issuer cannot approve at this time</td></tr><tr><td>62</td><td>Restricted card</td><td>Issuer cannot approve at this time</td></tr><tr><td>63</td><td>Security Violation</td><td>Issuer cannot approve based on details provided</td></tr><tr><td>64</td><td>Transaction does not fulfill AML requirement (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>65</td><td>Exceeds withdrawal frequency limit</td><td>Issuer cannot approve at this time</td></tr><tr><td>70</td><td>Contact Card Issuer (applies for MASTERCARD)</td><td>Issuer cannot approve at this time</td></tr><tr><td>70</td><td>PIN data required (applies for VISA)</td><td>Issuer cannot approve based on details provided</td></tr><tr><td>71</td><td>PIN not changed (applies for MASTERCARD)</td><td>Issuer cannot approve at this time</td></tr><tr><td>74</td><td>Different value than that used for PIN encryption errors</td><td>Generic response codes</td></tr><tr><td>75</td><td>Allowable PIN tries exceeded</td><td>Issuer cannot approve at this time</td></tr><tr><td>76</td><td>Invalid/nonexistent “To Account” specified (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>76</td><td>Unsolicited reversal (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>77</td><td>Invalid/nonexistent “From Account” specified (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>78</td><td>Blocked card, first time card usage (applies for VISA)</td><td>Issuer cannot approve at this time</td></tr><tr><td>78</td><td>Invalid/nonexistent account specified (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>79</td><td>Life Cycle (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>79</td><td>Already reversed by Switch (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>80</td><td>Credit issuer unavailable (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>80</td><td>No financial impact (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>81</td><td>Domestic Debit Transaction Not Allowed (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>81</td><td>Cryptographic error found in PIN (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>82</td><td>Negative CAM, dCVV, iCVV, or CVV results (applies for VISA)</td><td>Issuer cannot approve based on details provided</td></tr><tr><td>82</td><td>Policy (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>83</td><td>Fraud/Security (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>84</td><td>Invalid Authorization Life Cycle (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>85</td><td>No reason to decline</td><td>Issuer approved</td></tr><tr><td>86</td><td>Cannot verify PIN</td><td>Issuer cannot approve at this time</td></tr><tr><td>87</td><td>Purchase amount only, no cash back allowed (applies for MASTERCARD)</td><td>Issuer approved</td></tr><tr><td>88</td><td>Cryptographic failure (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>89</td><td>Unacceptable PIN (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>89</td><td>Ineligible to receive financial position information (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>90</td><td>Cutoff is in progress (applies for MASTERCARD)</td><td>Generic response codes</td></tr><tr><td>91</td><td>Issuer or switch is inoperative</td><td>Issuer cannot approve at this time</td></tr><tr><td>92</td><td>Destination cannot be found for routing</td><td>Generic response codes</td></tr><tr><td>93</td><td>Transaction cannot be completed - violation of law (applies for VISA)</td><td>Issuer cannot approve at this time</td></tr><tr><td>94</td><td>Duplicate transmission / invoice</td><td>Generic response codes</td></tr><tr><td>96</td><td>System malfunction</td><td>Issuer cannot approve at this time</td></tr><tr><td>RJ</td><td>Decision Black List CC</td><td>Issuer cannot approve based on details provided</td></tr><tr><td>DA</td><td>Declined Authentication</td><td>Issuer cannot approve at this time</td></tr><tr><td>TO</td><td>Timeout</td><td>Issuer cannot approve at this time</td></tr><tr><td>1A</td><td>Authentication required (applies for VISA)</td><td>Issuer cannot approve based on details provided</td></tr><tr><td>6P</td><td>Verification data failed (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>B1</td><td>Surcharge amount not permitted (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>B2</td><td>Surcharge amount not supported by debit network issuer (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>N0</td><td>Force STIP (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>N3</td><td>Cash service not available (applies for VISA)</td><td>Issuer cannot approve at this time</td></tr><tr><td>N4</td><td>Cash request exceeds issuer or approved limit (applies for VISA)</td><td>Issuer cannot approve at this time</td></tr><tr><td>N5</td><td>Ineligible for resubmission (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>N7</td><td>Decline for CVV2 failure (applies for VISA)</td><td>Issuer cannot approve based on details provided</td></tr><tr><td>N8</td><td>Transaction amount exceeds preauthorized approval amount (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>P5</td><td>Denied PIN unblock (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>P6</td><td>Denied PIN change (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>Q1</td><td>Card Authentication failed (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>R0</td><td>Stop Payment Order (applies for VISA)</td><td>Issuer will never approve</td></tr><tr><td>R1</td><td>Revocation of authorization order (applies for VISA)</td><td>Issuer will never approve</td></tr><tr><td>R2</td><td>Transaction does not qualify for Visa PIN (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>R3</td><td>Revocation of all authorizations order (applies for VISA)</td><td>Issuer will never approve</td></tr><tr><td>Z3</td><td>Unable to go online (applies for VISA)</td><td>Generic response codes</td></tr><tr><td>1Z</td><td>Authorization System or issuer system inoperative (applies for MASTERCARD)</td><td>Generic response codes</td></tr></tbody></table>
{% endtab %}

{% tab title="DOKU Error Code" %}

<table><thead><tr><th width="226">Error Code</th><th width="538">Description</th></tr></thead><tbody><tr><td>INVALID_PARAMETER</td><td>One or more parameter may be invalid in format, length, or missing</td></tr><tr><td>INVALID_BIN_NUMBER</td><td>BIN Number(first 6 or 8 digit of card number)  is invalid </td></tr><tr><td>INVALID_TOKEN</td><td>Token is Invalid</td></tr><tr><td>MID_TID_NOT_EXIST</td><td>DOKU cannot route the transaction to any of the MID owned by merchant due to any routing rule or MID limitation given the Cards number.</td></tr><tr><td>PAYMENT_FAILED</td><td>Generic Error Code</td></tr><tr><td>THREE_D_SECURE_ENROLLMENT_FAILED</td><td>Check 3DS failed during card enrollment process</td></tr><tr><td>THREE_D_SECURE_AUTHENTICATION_FAILED</td><td>Check 3DS failed during card authentication process</td></tr><tr><td>BLOCKED_ECI</td><td>Check 3DS Process completed but resulted in forbidden ECI (not 02 or 5)</td></tr><tr><td>MERCHANT_INSTALLMENT_NOT_EXIST</td><td>Merchant doesnt have installment Compatible MID to process given card.</td></tr><tr><td>FRAUD_DETECTED</td><td>Payment Rejected because of Suspected Fraud</td></tr><tr><td>MERCHANT_NOT_ALLOWED</td><td>Merchant might be suspended or Inactive</td></tr><tr><td>CARD_NUMBER_COUNTRY_IS_BLOCKED</td><td>Card's issuer country is blocked, to enable the card's country origin please consult to DOKU team</td></tr><tr><td>AMOUNT_CAPTURE_EXCEED_AUTHORIZE</td><td>Capture amount is higher than authorized amount</td></tr><tr><td>AUTHORIZATION_FAILED</td><td>Generic Response Code</td></tr><tr><td>CARD_NUMBER_BRAND_IS_BLOCKED</td><td>Card's Brand is not allowed due to MID's support limitation or Blocking Rule (eg. can't do transaction using AMEX brand)</td></tr><tr><td>CARD_NUMBER_BIN_IS_BLOCKED</td><td>Card BIN number is blocked</td></tr><tr><td>TIME_OUT</td><td>Timeout</td></tr><tr><td>BIN_NOT_ALLOWED_BY_MERCHANT</td><td>BIN is blocked by merchant's bin blocking rule</td></tr><tr><td>MID_ROUTING_NOT_FOUND</td><td>MID Routing process cannot found compatible MID to process the given card</td></tr><tr><td>ACQUIRER_NOT_FOUND</td><td>Acquirer not found (for installment transaction)</td></tr><tr><td>MERCHANT_NOT_FOUND</td><td>Merchant not found</td></tr><tr><td>SETTLEMENT_IS_ON_GOING</td><td>Unable process the transaction due to pending settlement in progress</td></tr><tr><td>DECRYPTION_CREDIT_CARD_DATA_FAILED</td><td>Decryption Credit Card Data Is Failed</td></tr><tr><td>ENCRYPTION_CREDIT_CARD_DATA_FAILED</td><td>Encryption Credit Card Data Is Failed</td></tr><tr><td>UPDATE_TRANSACTION_FAILED</td><td>Update Transaction is Failed</td></tr><tr><td>CREATE_TRANSACTION_FAILED</td><td>Create Transaction is Failed</td></tr><tr><td>TRANSACTION_NOT_FOUND</td><td>Transaction Is Not Found</td></tr><tr><td>DATA_NOT_FOUND</td><td>Data Not Found</td></tr><tr><td>DATA_DECRYPTION_FAILED</td><td>Failed on Data Decryption</td></tr><tr><td>CVV_NOT_AVAILABLE</td><td>This Transaction should bring CVV</td></tr><tr><td>CURENCY_MISMATCH</td><td>Currency is Mismatch</td></tr><tr><td>NOT_ALLOWED_VERES</td><td>Veres is Not Allowed</td></tr><tr><td>NOT_ALLOWED_AUTHRES</td><td>AuthRes is Not Allowed</td></tr></tbody></table>
{% endtab %}

{% tab title="DOKU JS Response Code" %}
The possible response code returned by embedded DOKU JS for each API called by the JS Script&#x20;

#### /collect-card-data

| HTTP Status     | Condition                         | Error Code                       | Response Structure                                                                                                                                 |
| --------------- | --------------------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| 200 OK          | 3D Secure authentication required | -                                | `{ "message": "<msg>", "session_id": "<id>", "requires_action": true, "action_url": "<3ds_url>", "authentication_id": "<auth_id>" }`               |
| 200 OK          | Non-3DS payment successful        | -                                | `{ "message": "<success_msg>", "session_id": "<id>", "requires_action": true, "action_url": "<callback_url>" }`                                    |
| 200 OK          | Non-3DS payment failed            | -                                | `{ "message": "<failed_msg>", "session_id": "<id>", "requires_action": false, "action_url": "<failed_url>" }`                                      |
| 400 Bad Request | Session ID not found              | `DATA_NOT_FOUND`                 | `{ "error": { "code": "DATA_NOT_FOUND", "message": "Invalid Session Id", "type": "Data Not Found" } }`                                             |
| 400 Bad Request | Failed to decrypt card data       | `INVALID_PARAMETER`              | `{ "error": { "code": "INVALID_PARAMETER", "message": "Failed Decrypt Credit Card Data", "type": "Invalid Parameter" } }`                          |
| 400 Bad Request | Validation error                  | `INVALID_PARAMETER`              | `{ "error": { "code": "INVALID_PARAMETER", "message": "<validation_details>", "type": "Invalid Parameter" } }`                                     |
| 400 Bad Request | Card BIN blocked                  | `CARD_NUMBER_BIN_IS_BLOCKED`     | `{ "error": { "code": "CARD_NUMBER_BIN_IS_BLOCKED", "message": "Card Number Bin Is Blocked", "type": "Card Number Bin Is Blocked" } }`             |
| 400 Bad Request | Card country blocked              | `CARD_NUMBER_COUNTRY_IS_BLOCKED` | `{ "error": { "code": "CARD_NUMBER_COUNTRY_IS_BLOCKED", "message": "Card Number Country Is Blocked", "type": "Card Number Country Is Blocked" } }` |
| 400 Bad Request | Merchant blocking rule triggered  | `MERCHANT_BLOCKING`              | `{ "error": { "code": "MERCHANT_BLOCKING", "message": "Blocking By Merchant", "type": "Blocking By Merchant" } }`                                  |

| HTTP Status      | Condition                     | Error Code                       | Response Structure                                                                                                                                  |
| ---------------- | ----------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| 200 OK           | Payment charge successful     | -                                | `{ "callback_url": "<merchant_callback_url>" }`                                                                                                     |
| 200 OK           | Payment charge failed         | -                                | `{ "callback_url": "<merchant_failed_url>" }`                                                                                                       |
| 400 Bad Request  | Session not found             | `DATA_NOT_FOUND`                 | `{ "error": { "code": "DATA_NOT_FOUND", "message": "PreTransactionPool Not Found", "type": "Data Not Found" } }`                                    |
| 400 Bad Request  | Invalid authentication ID     | `FAILED_GET_THREE_D_SECURE_DATA` | `{ "error": { "code": "FAILED_GET_THREE_D_SECURE_DATA", "message": "Invalid Authentication Id", "type": "Failed Get Three D Secure Data" } }`       |
| 400 Bad Request  | 3DS data not found            | `FAILED_GET_THREE_D_SECURE_DATA` | `{ "error": { "code": "FAILED_GET_THREE_D_SECURE_DATA", "message": "<error_details>", "type": "Failed Get Three D Secure Data" } }`                 |
| 500 Server Error | JSON mapping/processing error | `MESSAGE_PROCESSING_ERROR`       | `{ "error": { "code": "MESSAGE_PROCESSING_ERROR", "message": "Failed To Mapping Request to Charge Payment", "type": "Message Processing Error" } }` |
| 500 Server Error | Data decryption error         | `MESSAGE_PROCESSING_ERROR`       | `{ "error": { "code": "MESSAGE_PROCESSING_ERROR", "message": "Failed Decryption Data", "type": "Message Processing Error" } }`                      |

{% endtab %}
{% endtabs %}

{% hint style="info" %}
**Category Guide**

1. **Issuer will never approve** : This subset of decline codes indicates there is no circumstance in which the issuer will approve.

   **Recommended action: do not try again.**
2. **Issuer cannot approve at this time** : This subset of decline codes indicates the issuer may approve, but cannot do so at that time.

   **Recommended action: try again later.**
3. **Issuer cannot approve based on details provided** : This subset of codes indicates the issuer cannot approve based on the details provided.

   **Recommended action: provide updated or additional information.**
4. **Generic response codes** : and other decline codes not listed, many of which are not explained by the issuers, fall in this category and re-attempt is allowed.

   **Recommended action: try again later**
   {% endhint %}

## 3. e-Wallet

{% tabs %}
{% tab title="ShopeePay" %}

<table><thead><tr><th width="186">HTTP Status Code</th><th width="117">Case Code</th><th>Error Message</th></tr></thead><tbody><tr><td>400XX</td><td>00</td><td>Bad Request</td></tr><tr><td>400XX</td><td>01</td><td>Invalid Field Format {{param}} </td></tr><tr><td>400XX</td><td>02</td><td>Invalid Mandatory Field {{param}}</td></tr><tr><td>401XX</td><td>00</td><td>Unauthorized {param}</td></tr><tr><td>401XX</td><td>01</td><td>Invalid Token B2B</td></tr><tr><td>401XX</td><td>02</td><td>Invalid customer Token</td></tr><tr><td>401XX</td><td>03</td><td>Token not found B2B</td></tr><tr><td>401XX</td><td>04</td><td>Customer token not found</td></tr><tr><td>403XX</td><td>00</td><td>Transacction Expired</td></tr><tr><td>403XX</td><td>01</td><td>Feature Not Allowed</td></tr><tr><td>403XX</td><td>02</td><td>Exceeds Transaction Amount Limit</td></tr><tr><td>403XX</td><td>03</td><td>Suspected Fraud</td></tr><tr><td>403XX</td><td>04</td><td>Activity Count Limit Exceeded</td></tr><tr><td>403XX</td><td>05</td><td>Do Not Honor"</td></tr><tr><td>403XX</td><td>06</td><td>Feature Not Allowed At This Time</td></tr><tr><td>403XX</td><td>07</td><td>Card Blocked</td></tr><tr><td>403XX</td><td>08</td><td>Card Expired</td></tr><tr><td>403XX</td><td>09</td><td>Dormant Account</td></tr><tr><td>403XX</td><td>10</td><td>Need To Set Token Limit</td></tr><tr><td>403XX</td><td>11</td><td>OTP Blocked</td></tr><tr><td>403XX</td><td>12</td><td>OTP Lifetime Expired</td></tr><tr><td>403XX</td><td>13</td><td>OTP Sent To Cardholder</td></tr><tr><td>403XX</td><td>14</td><td>Insufficient Funds</td></tr><tr><td>403XX</td><td>15</td><td>Transaction Not Permitted.</td></tr><tr><td>403XX</td><td>16</td><td>Suspend Transaction</td></tr><tr><td>403XX</td><td>17</td><td>Token Limit Exceeded</td></tr><tr><td>403XX</td><td>18</td><td>Inactive Card/Account/Customer</td></tr><tr><td>403XX</td><td>19</td><td>Merchant Blacklisted</td></tr><tr><td>403XX</td><td>20</td><td>Merchant Limit Exceed</td></tr><tr><td>403XX</td><td>21</td><td>Set Limit Not Allowed</td></tr><tr><td>403XX</td><td>22</td><td>Token Limit Invalid</td></tr><tr><td>403XX</td><td>23</td><td>Account Limit Exceed</td></tr><tr><td>404XX</td><td>00</td><td>Invalid Transaction Status</td></tr><tr><td>404XX</td><td>01</td><td>Transaction Not Found</td></tr><tr><td>404XX</td><td>02</td><td>Invalid Routing</td></tr><tr><td>404XX</td><td>03</td><td>Bank Not Supported By Switch</td></tr><tr><td>404XX</td><td>04</td><td>Transaction Cancelled</td></tr><tr><td>404XX</td><td>05</td><td>Merchant Is Not Registered For Card Registration Services</td></tr><tr><td>404XX</td><td>06</td><td>Need To Request OTP</td></tr><tr><td>404XX</td><td>07</td><td>Journey Not Found</td></tr><tr><td>404XX</td><td>08</td><td>Invalid Merchant</td></tr><tr><td>404XX</td><td>09</td><td>No Issuer</td></tr><tr><td>404XX</td><td>10</td><td>Invalid API Transition</td></tr><tr><td>404XX</td><td>11</td><td>Invalid Card/Account/Customer [info]/Virtual Account</td></tr><tr><td>404XX</td><td>12</td><td>Invalid Bill/Virtual Account</td></tr><tr><td>404XX</td><td>13</td><td>Invalid Amount</td></tr><tr><td>404XX</td><td>14</td><td>Paid Bill</td></tr><tr><td>404XX</td><td>15</td><td>Invalid OTP</td></tr><tr><td>404XX</td><td>16</td><td>Partner Not Found</td></tr><tr><td>404XX</td><td>17</td><td>Invalid Terminal</td></tr><tr><td>404XX</td><td>18</td><td>Inconsistent Request</td></tr><tr><td>404XX</td><td>19</td><td>Invalid Bill/Virtual Account</td></tr><tr><td>405XX</td><td>00</td><td>Requested Function Is Not Supported</td></tr><tr><td>405XX</td><td>01</td><td>Requested Operation Is Not Allowed</td></tr><tr><td>409XX</td><td>00</td><td>Conflict</td></tr><tr><td>409XX</td><td>01</td><td>Duplicate partnerReferenceNo</td></tr><tr><td>429XX</td><td>00</td><td>Too Many Requests</td></tr><tr><td>500XX</td><td>00</td><td>General Error</td></tr><tr><td>500XX</td><td>01</td><td>Internal Server Error</td></tr><tr><td>500XX</td><td>02</td><td>External Server Error</td></tr><tr><td>504XX</td><td>00</td><td>Timeout</td></tr></tbody></table>

{% endtab %}

{% tab title="DANA" %}

<table><thead><tr><th width="196">HTTP Status Code</th><th width="139">Case Code</th><th>Error Message</th></tr></thead><tbody><tr><td>200XX</td><td>00</td><td>Successful</td></tr><tr><td>202XX</td><td>00</td><td>Request In Progress</td></tr><tr><td>400XX</td><td>00</td><td><p> </p><p>Bad Request<br></p></td></tr><tr><td>400XX</td><td>01</td><td>Invalid Field Format {field name}</td></tr><tr><td>400XX</td><td>02</td><td>Invalid Mandatory Field {field name}</td></tr><tr><td>401XX</td><td>00</td><td>Unauthorized. [reason]</td></tr><tr><td>401XX</td><td>01</td><td>Invalid Token (B2B)</td></tr><tr><td>401XX</td><td>02</td><td><p></p><p>Invalid Customer Token</p></td></tr><tr><td>401XX</td><td>04</td><td>Customer Token Not Found</td></tr><tr><td>403XX</td><td>02</td><td>Exceeds Transaction Amount Limit</td></tr><tr><td>403XX</td><td>05</td><td>Do Not Honor</td></tr><tr><td>403XX</td><td>14</td><td>Insufficient Funds</td></tr><tr><td>403XX</td><td>15</td><td>Transaction Not Permitted.[reason]</td></tr><tr><td>404XX</td><td>00</td><td>Invalid Transaction Status</td></tr><tr><td>404XX</td><td>01</td><td> Transaction Not Found</td></tr><tr><td>404XX</td><td>08</td><td>Invalid Merchant</td></tr><tr><td>404XX</td><td>12</td><td>Invalid Bill/Virtual Account [Reason]</td></tr><tr><td>404XX</td><td>13</td><td>Invalid Amount</td></tr><tr><td>404XX</td><td>18</td><td>Inconsistent Request</td></tr><tr><td>429XX</td><td>00</td><td>Too Many Requests</td></tr><tr><td>500XX</td><td>00</td><td>General Error</td></tr><tr><td>500XX</td><td>01</td><td>Internal Server Error</td></tr></tbody></table>
{% endtab %}

{% tab title="OVO" %}

<table><thead><tr><th width="189">HTTP Status Code</th><th width="129">Case Code</th><th>Error Message</th></tr></thead><tbody><tr><td>200XX</td><td>00</td><td>Successful</td></tr><tr><td>202XX</td><td>00</td><td>Request In Progress</td></tr><tr><td>400XX</td><td>00</td><td><p> </p><p>Bad Request<br></p></td></tr><tr><td>400XX</td><td>01</td><td>Invalid Field Format {field name}</td></tr><tr><td>400XX</td><td>02</td><td>Invalid Mandatory Field {field name}</td></tr><tr><td>401XX</td><td>00</td><td>Unauthorized. [reason]</td></tr><tr><td>401XX</td><td>01</td><td>Invalid Token (B2B)</td></tr><tr><td>401XX</td><td>02</td><td><p></p><p>Invalid Customer Token</p></td></tr><tr><td>401XX</td><td>04</td><td>Customer Token Not Found</td></tr><tr><td>403XX</td><td>02</td><td>Exceeds Transaction Amount Limit</td></tr><tr><td>403XX</td><td>05</td><td>Do Not Honor</td></tr><tr><td>403XX</td><td>14</td><td>Insufficient Funds</td></tr><tr><td>403XX</td><td>15</td><td>Transaction Not Permitted.[reason]</td></tr><tr><td>404XX</td><td>00</td><td>Invalid Transaction Status</td></tr><tr><td>404XX</td><td>01</td><td> Transaction Not Found</td></tr><tr><td>404XX</td><td>08</td><td>Invalid Merchant</td></tr><tr><td>404XX</td><td>12</td><td>Invalid Bill/Virtual Account [Reason]</td></tr><tr><td>404XX</td><td>13</td><td>Invalid Amount</td></tr><tr><td>404XX</td><td>18</td><td>Inconsistent Request</td></tr><tr><td>429XX</td><td>00</td><td>Too Many Requests</td></tr><tr><td>500XX</td><td>00</td><td>General Error</td></tr><tr><td>500XX</td><td>01</td><td>Internal Server Error</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

## 4. Direct Debit

{% tabs %}
{% tab title="Allobank" %}

<table><thead><tr><th width="210">HTTP Status Code</th><th width="121">Case Code</th><th>Error Message</th></tr></thead><tbody><tr><td>200XX</td><td>00</td><td>Successful</td></tr><tr><td>400XX</td><td>00</td><td><p> </p><p>Bad Request<br></p></td></tr><tr><td>400XX</td><td>01</td><td>Invalid Field Format {field name}</td></tr><tr><td>400XX</td><td>02</td><td>Invalid Mandatory Field {field name}</td></tr><tr><td>401XX</td><td>00</td><td>Unauthorized. [reason]</td></tr><tr><td>401XX</td><td>01</td><td>Invalid Token (B2B)</td></tr><tr><td>401XX</td><td>02</td><td><p></p><p>Invalid Customer Token</p></td></tr><tr><td>401XX</td><td>04</td><td>Customer Token Not Found</td></tr><tr><td>403XX</td><td>02</td><td>Exceeds Transaction Amount Limit</td></tr><tr><td>403XX</td><td>05</td><td>Do Not Honor</td></tr><tr><td>403XX</td><td>14</td><td>Insufficient Funds</td></tr><tr><td>403XX</td><td>15</td><td>Transaction Not Permitted.[reason]</td></tr><tr><td>404XX</td><td>00</td><td>Invalid Transaction Status</td></tr><tr><td>404XX</td><td>01</td><td>Transaction Not Found</td></tr><tr><td>404XX</td><td>08</td><td>Invalid Merchant</td></tr><tr><td>404XX</td><td>12</td><td>Invalid Bill/Virtual Account [Reason]</td></tr><tr><td>404XX</td><td>13</td><td>Invalid Amount</td></tr><tr><td>404XX</td><td>18</td><td>Inconsistent Request</td></tr><tr><td>429XX</td><td>00</td><td>Too Many Requests</td></tr><tr><td>500XX</td><td>00</td><td>General Error</td></tr><tr><td>500XX</td><td>01</td><td>Internal Server Error</td></tr></tbody></table>
{% endtab %}

{% tab title="CIMB" %}

<table><thead><tr><th width="196">HTTP Status Code</th><th width="136">Case Code</th><th>Error Message</th></tr></thead><tbody><tr><td>200XX</td><td>00</td><td>Successful</td></tr><tr><td>400XX</td><td>00</td><td><p> </p><p>Bad Request<br></p></td></tr><tr><td>400XX</td><td>01</td><td>Invalid Field Format {field name}</td></tr><tr><td>400XX</td><td>02</td><td>Invalid Mandatory Field {field name}</td></tr><tr><td>401XX</td><td>00</td><td>Unauthorized. [reason]</td></tr><tr><td>401XX</td><td>01</td><td>Invalid Token (B2B)</td></tr><tr><td>401XX</td><td>02</td><td><p></p><p>Invalid Customer Token</p></td></tr><tr><td>401XX</td><td>04</td><td>Customer Token Not Found</td></tr><tr><td>403XX</td><td>02</td><td>Exceeds Transaction Amount Limit</td></tr><tr><td>403XX</td><td>05</td><td>Do Not Honor</td></tr><tr><td>403XX</td><td>14</td><td>Insufficient Funds</td></tr><tr><td>403XX</td><td>15</td><td>Transaction Not Permitted.[reason]</td></tr><tr><td>404XX</td><td>00</td><td>Invalid Transaction Status</td></tr><tr><td>404XX</td><td>01</td><td> Transaction Not Found</td></tr><tr><td>404XX</td><td>08</td><td>Invalid Merchant</td></tr><tr><td>404XX</td><td>12</td><td>Invalid Bill/Virtual Account [Reason]</td></tr><tr><td>404XX</td><td>13</td><td>Invalid Amount</td></tr><tr><td>404XX</td><td>18</td><td>Inconsistent Request</td></tr><tr><td>429XX</td><td>00</td><td>Too Many Requests</td></tr><tr><td>500XX</td><td>00</td><td>General Error</td></tr><tr><td>500XX</td><td>01</td><td>Internal Server Error</td></tr></tbody></table>
{% endtab %}

{% tab title="BRI" %}

| HTTP Status Code | Case Code | Error Message                          |
| ---------------- | --------- | -------------------------------------- |
| 200XX            | 00        | Successful                             |
| 400XX            | 00        | <p> </p><p>Bad Request<br></p>         |
| 400XX            | 01        | Invalid Field Format {field name}      |
| 400XX            | 02        | Invalid Mandatory Field {field name}   |
| 401XX            | 00        | Unauthorized. \[reason]                |
| 401XX            | 01        | Invalid Token (B2B)                    |
| 401XX            | 02        | <p></p><p>Invalid Customer Token</p>   |
| 401XX            | 04        | Customer Token Not Found               |
| 403XX            | 02        | Exceeds Transaction Amount Limit       |
| 403XX            | 05        | Do Not Honor                           |
| 403XX            | 14        | Insufficient Funds                     |
| 403XX            | 15        | Transaction Not Permitted.\[reason]    |
| 404XX            | 00        | Invalid Transaction Status             |
| 404XX            | 01        | Transaction Not Found                  |
| 404XX            | 08        | Invalid Merchant                       |
| 404XX            | 12        | Invalid Bill/Virtual Account \[Reason] |
| 404XX            | 13        | Invalid Amount                         |
| 404XX            | 18        | Inconsistent Request                   |
| 429XX            | 00        | Too Many Requests                      |
| 500XX            | 00        | General Error                          |
| 500XX            | 01        | Internal Server Error                  |
| {% endtab %}     |           |                                        |
| {% endtabs %}    |           |                                        |

## 5. QRIS

{% tabs %}
{% tab title="Generate QR" %}

| HTTP Status Code | Case Code | Error Messages                          |
| ---------------- | --------- | --------------------------------------- |
| 200XX            | 00        | Request has been processed successfully |
| 400XX            | 01        | Invalid Field Format (name\_field)      |
| 400XX            | 02        | Invalid Mandatory Field (name\_field)   |
| 401XX            | 00        | Unauthorized . Signature Not Match      |
| 401XX            | 00        | Unauthorized . Unknown Client           |
| 401XX            | 01        | Access Token Invalid (B2B)              |
| 404XX            | 08        | Invalid Merchant                        |
| 404XX            | 18        | Inconsistent Request                    |
| 409XX            | 00        | Conflict                                |
| {% endtab %}     |           |                                         |

{% tab title="Decode QR" %}

| HTTP Status Code | Case Code | Error Messages                          |
| ---------------- | --------- | --------------------------------------- |
| 200XX            | 00        | Request has been processed successfully |
| 400XX            | 00        | Parsing Error                           |
| 400XX            | 01        | Invalid Field Format (name\_field)      |
| 400XX            | 02        | Invalid Mandatory Field (name\_field)   |
| 401XX            | 00        | Unauthorized . Signature Not Match      |
| 401XX            | 00        | Unauthorized . Unknown Client           |
| 401XX            | 01        | Access Token Invalid (B2B)              |
| 409XX            | 00        | Conflict                                |
| {% endtab %}     |           |                                         |

{% tab title="Payment QR" %}

| HTTP Status Code | Case Code | Error Messages                          |
| ---------------- | --------- | --------------------------------------- |
| 200XX            | 00        | Request has been processed successfully |
| 400XX            | 00        | Parsing Error                           |
| 400XX            | 01        | Invalid Field Format (name\_field)      |
| 400XX            | 02        | Invalid Mandatory Field (name\_field)   |
| 400XX            | 01        | Amount not match                        |
| 400XX            | 01        | feeAmount not match                     |
| 401XX            | 00        | Unauthorized . Signature Not Match      |
| 401XX            | 00        | Unauthorized . Unknown Client           |
| 401XX            | 01        | Access Token Invalid (B2B)              |
| 409XX            | 00        | Conflict                                |
| {% endtab %}     |           |                                         |

{% tab title="Query QR" %}

| HTTP Status Code | Case Code | Error Messages                          |
| ---------------- | --------- | --------------------------------------- |
| 200XX            | 00        | Request has been processed successfully |
| 404XX            | 01        | Transaction Not Found                   |
| 400XX            | 01        | Invalid Field Format (name\_field)      |
| 400XX            | 02        | Invalid Mandatory Field (name\_field)   |
| 401XX            | 00        | Unauthorized . Signature Not Match      |
| 401XX            | 00        | Unauthorized . Unknown Client           |
| 401XX            | 01        | Access Token Invalid (B2B)              |
| 409XX            | 00        | Conflict                                |
| {% endtab %}     |           |                                         |

{% tab title="Refund QR" %}

| HTTP Status Code | Case Code | Error Messages                          |
| ---------------- | --------- | --------------------------------------- |
| 200XX            | 00        | Request has been processed successfully |
| 403XX            | 15        | Transaction Not Permitted               |
| 404XX            | 01        | Transaction Not Found                   |
| 400XX            | 01        | Invalid Field Format (name\_field)      |
| 400XX            | 02        | Invalid Mandatory Field (name\_field)   |
| 403XX            | 02        | Exceeds Transaction Amount Limit        |
| 401XX            | 00        | Unauthorized . Signature Not Match      |
| 401XX            | 00        | Unauthorized . Unknown Client           |
| 401XX            | 01        | Access Token Invalid (B2B)              |
| 405XX            | 00        | Requested Function Is Not Supported     |
| 409XX            | 00        | Conflict                                |
| {% endtab %}     |           |                                         |
| {% endtabs %}    |           |                                         |

## 6. Kirim DOKU

{% tabs %}
{% tab title="Account Inquiry" %}

| HTTP Code | Response Code | Response Message                                      | Description                                                                                                                                                                                                                                                              | Status  |
| --------- | ------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- |
| 200       | 2004200       | Successful                                            | Successful                                                                                                                                                                                                                                                               | Success |
| 400       | 4004200       | Bad Request                                           | General request failed error, including message parsing failed.                                                                                                                                                                                                          | Failed  |
| 400       | 4004201       | Invalid Field Format {Field}                          | <p>Invalid format.</p><p>For example caused by:</p><ol><li>Invalid currency code</li><li>Amount is filled with non numerical values</li><li>etc</li></ol>                                                                                                                | Failed  |
| 400       | 4004202       | Invalid Mandatory Field {Field}                       | <p>Missing mandatory fields.</p><p>For example caused by:</p><ol><li>Field amount does not exist in the request</li><li>Field senderCountryCode does not exist in the request</li><li>Field beneficiaryAccountNumber does not exist in the request</li><li>etc</li></ol> | Failed  |
| 401       | 4014200       | Unauthorized. \[reason]                               | <p>General unauthorized error.</p><p>E.g. invalid X-SIGNATURE, X-TIMESTAMP, X-PARTNER-ID, X-EXTERNAL-ID, or Authorization.</p>                                                                                                                                           | Failed  |
| 401       | 4014201       | Invalid Token (B2B)                                   | Token found in request in invalid                                                                                                                                                                                                                                        | Failed  |
| 403       | 4034201       | Feature Not Allowed \[reason]                         | E.g. Forex setting has not been set                                                                                                                                                                                                                                      | Failed  |
| 403       | 4034202       | Exceeds Transaction Amount Limit                      | Contact the administrator. Check the range of amount in sub channel, or fee settings.                                                                                                                                                                                    | Failed  |
| 403       | 4034206       | Feature Not Allowed At This Time                      | Ongoing cut off time                                                                                                                                                                                                                                                     | Failed  |
| 404       | 4044200       | Invalid Transaction Status                            | Invalid transaction status                                                                                                                                                                                                                                               | Failed  |
| 404       | 4044202       | Invalid Routing                                       | Invalid routing                                                                                                                                                                                                                                                          | Failed  |
| 404       | 4044203       | Bank Not Supported By Switch                          | Contact the administrator. Check sub channel or route bank settings.                                                                                                                                                                                                     | Failed  |
| 404       | 4044208       | Invalid Merchant                                      | <p>May be caused by:</p><ul><li>The partner does not exist or is no longer active.</li><li>Agent key not found</li></ul>                                                                                                                                                 | Failed  |
| 404       | 4044211       | Invalid Card/Account/Customer \[info]/Virtual Account | Beneficiary account numbers may be invalid, inactive, or not found.                                                                                                                                                                                                      | Failed  |
| 404       | 4044212       | Invalid Bill/Virtual Account                          | The bill is blocked/suspended/not found                                                                                                                                                                                                                                  | Failed  |
| 404       | 4044219       | Invalid Bill/Virtual Account                          | The bill is expired (VA Payment)                                                                                                                                                                                                                                         | Failed  |
| 409       | 4094200       | Conflict                                              | Cannot use the same X-EXTERNAL-ID in the same day                                                                                                                                                                                                                        | Failed  |
| 429       | 4294200       | Too Many Requests                                     | Caused by beneficiary account number has failed inquiry 4 times in the past 2 hours.                                                                                                                                                                                     | Failed  |
| 500       | 5004200       | General Error                                         | Contact the administrator. Check partner settings in the back office. E.g. forex settings                                                                                                                                                                                | Failed  |
| 500       | 5004201       | Internal Server Error                                 | Unknown internal server failure. Please retry the inquiry process.                                                                                                                                                                                                       | Failed  |
| 500       | 5004202       | External Server Error                                 | E.g. system failure                                                                                                                                                                                                                                                      | Failed  |
| 504       | 5044200       | Timeout                                               | Timeou                                                                                                                                                                                                                                                                   | Failed  |

{% endtab %}

{% tab title="Balance Inquiry" %}

| HTTP Code    | Response Code | Response Message        | Description                                                                                                                    | Status  |
| ------------ | ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------- |
| 200          | 2001100       | Successful              | Successful                                                                                                                     | Success |
| 401          | 4011100       | Unauthorized. \[reason] | <p>General unauthorized error.</p><p>E.g. invalid X-SIGNATURE, X-TIMESTAMP, X-PARTNER-ID, X-EXTERNAL-ID, or Authorization.</p> | Failed  |
| 401          | 4011101       | Invalid Token (B2B)     | Token found in request in invalid                                                                                              | Failed  |
| 500          | 5001100       | General Error           | General Error                                                                                                                  | Failed  |
| {% endtab %} |               |                         |                                                                                                                                |         |

{% tab title="Transfer Bank" %}

| HTTP Code    | Response Code | Response Message                                      | Description                                                                                                                                                                                                                                                                                                                                                                    | Status                                                        |
| ------------ | ------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------- |
| 200          | 2004300       | Successful                                            | <p>Successful.</p><p>Transaction is successfully processed. Labeled with PAID in the dashboard.</p><p><br></p><p>Treat transactions with this status as success.</p>                                                                                                                                                                                                           | Success                                                       |
| 202          | 2024300       | Transaction still on process                          | <p>Timeout (pending) transaction. Status will be changed after reconciliation (T+1 working days). Labeled with UNPAID in the dashboard.</p><p><br></p><p>Do not treat transactions with this status as success or failure.</p>                                                                                                                                                 | Pending                                                       |
| 400          | 4004300       | Bad Request                                           | General request failed error including message parsing failed                                                                                                                                                                                                                                                                                                                  | Failed                                                        |
| 400          | 4004301       | Invalid Field Format {field name}                     | <p>Invalid format</p><p>For example caused by:</p><ol><li>Invalid currency code</li><li>Amount is filled with non numerical values</li><li>etc</li></ol>                                                                                                                                                                                                                       | Failed                                                        |
| 400          | 4004302       | Invalid Mandatory Field {field name}                  | <p>Missing or invalid format on mandatory field</p><p>For example caused by:</p><ol><li>Field amount does not exist in the request</li><li>Field senderCountryCode does not exist in the request</li><li>Field beneficiaryAccountNumber does not exist in the request</li><li>etc</li></ol>                                                                                    | Failed                                                        |
| 401          | 4014300       | Unauthorized. \[reason]                               | <p>General unauthorized error.</p><p>E.g. invalid X-SIGNATURE, X-TIMESTAMP, X-PARTNER-ID, X-EXTERNAL-ID, or Authorization.</p>                                                                                                                                                                                                                                                 | <p>Request API Failed </p><p>(not the transaction status)</p> |
| 401          | 4014301       | Invalid Token (B2B)                                   | Token found in request in invalid                                                                                                                                                                                                                                                                                                                                              | <p>Request API Failed</p><p>(not the transaction status)</p>  |
| 403          | 4034300       | Transaction Expired                                   | Session ID expires after 30 days                                                                                                                                                                                                                                                                                                                                               | Failed                                                        |
| 403          | 4034301       | Feature Not Allowed                                   | E.g. the merchant is not allowed to call Direct Debit APIs                                                                                                                                                                                                                                                                                                                     | Failed                                                        |
| 403          | 4034302       | Exceeds Transaction Amount Limit                      | Exceeds the transaction amount limit                                                                                                                                                                                                                                                                                                                                           | Failed                                                        |
| 403          | 4034303       | Suspected Fraud                                       | <p>Transaction with high risk. Caused by several reasons:</p><ol><li>Multiple transfers to the same beneficiary within the last 60 seconds.</li><li>Multiple transfers to the same beneficiary up to IDR 500 million/day or 50 times/day.</li><li>Multiple transfers to the same beneficiary up to IDR 1 billion/month or 200 times/month.</li><li>Banned customers.</li></ol> | Failed                                                        |
| 403          | 4034304       | Activity Count Limit Exceeded                         | Too many request                                                                                                                                                                                                                                                                                                                                                               | Failed                                                        |
| 403          | 4034305       | Do Not Honor                                          | Account or user status is abnormal                                                                                                                                                                                                                                                                                                                                             | Failed                                                        |
| 403          | 4034306       | At This Time                                          | Ongoing cut off time                                                                                                                                                                                                                                                                                                                                                           | Failed                                                        |
| 403          | 4034309       | Dormant Account                                       | The account is dormant                                                                                                                                                                                                                                                                                                                                                         | Failed                                                        |
| 403          | 4034314       | Insufficient Funds                                    | Insufficient funds                                                                                                                                                                                                                                                                                                                                                             | Failed                                                        |
| 403          | 4034315       | Transaction Not Permitted                             | Transaction is not permitted                                                                                                                                                                                                                                                                                                                                                   | Failed                                                        |
| 403          | 4034316       | Suspend Transaction                                   | Suspend transaction                                                                                                                                                                                                                                                                                                                                                            | Failed                                                        |
| 403          | 4034318       | Inactive Card/Account/Customer                        | Indicates inactive account                                                                                                                                                                                                                                                                                                                                                     | Failed                                                        |
| 403          | 4034319       | Merchant Blacklisted                                  | Merchant is suspended from calling any APIs                                                                                                                                                                                                                                                                                                                                    | Failed                                                        |
| 404          | 4044301       | Transaction Not Found                                 | Transaction not found                                                                                                                                                                                                                                                                                                                                                          | Failed                                                        |
| 404          | 4044302       | Invalid Routing                                       | Invalid routing                                                                                                                                                                                                                                                                                                                                                                | Failed                                                        |
| 404          | 4044303       | Bank Not Supported By Switch                          | Contact the administrator. Check sub channel or route bank settings.                                                                                                                                                                                                                                                                                                           | Failed                                                        |
| 404          | 4044308       | Invalid Merchant                                      | <p>May be caused by:</p><ul><li>The partner does not exist or is no longer active.</li><li>Agent key not found</li></ul>                                                                                                                                                                                                                                                       | Failed                                                        |
| 404          | 4044311       | Invalid Card/Account/Customer \[info]/Virtual Account | Beneficiary account numbers may be invalid, inactive, or not found.                                                                                                                                                                                                                                                                                                            | Failed                                                        |
| 404          | 4044312       | Invalid Bill/Virtual Account                          | The bill is blocked/suspended/not found                                                                                                                                                                                                                                                                                                                                        | Failed                                                        |
| 404          | 4044313       | Invalid Amount                                        | The amount doesn’t match with what supposed to                                                                                                                                                                                                                                                                                                                                 | Failed                                                        |
| 404          | 4044314       | Paid Bill                                             | The bill has been paid (Payment VA)                                                                                                                                                                                                                                                                                                                                            | Failed                                                        |
| 404          | 4044318       | Inconsistent Request                                  | Inconsistent request parameter found for the same partner reference number/transaction ID                                                                                                                                                                                                                                                                                      | Failed                                                        |
| 404          | 4044319       | Invalid Bill/Virtual Account                          | The bill is expired (Payment VA)                                                                                                                                                                                                                                                                                                                                               | Failed                                                        |
| 409          | 4094300       | Conflict                                              | Cannot use the same X-EXTERNAL-ID in the same day                                                                                                                                                                                                                                                                                                                              | Failed                                                        |
| 409          | 4094301       | Duplicate partnerReferenceNo                          | Transaction has previously been processed indicates the same partnerReferenceNo already success                                                                                                                                                                                                                                                                                | Failed                                                        |
| 409          | 4094302       | Transaction Has Been Processed                        | Transaction has previously been processed indicates the same SessionId                                                                                                                                                                                                                                                                                                         | Failed                                                        |
| 500          | 5004300       | General Error                                         | Contact the administrator. Check partner settings in the back office. E.g. forex settings                                                                                                                                                                                                                                                                                      | Pending                                                       |
| 500          | 5004301       | Internal Server Error                                 | Unknown internal server failure. Please retry the inquiry process.                                                                                                                                                                                                                                                                                                             | Pending                                                       |
| 500          | 5004302       | External Server Error                                 | E.g. system failure                                                                                                                                                                                                                                                                                                                                                            | Pending                                                       |
| 504          | 5044300       | Timeout                                               | Timeout                                                                                                                                                                                                                                                                                                                                                                        | Pending                                                       |
| {% endtab %} |               |                                                       |                                                                                                                                                                                                                                                                                                                                                                                |                                                               |

{% tab title="Check Status" %}

| HTTP Code     | Response Code | Response Message        | Description                                                                                                                    |
| ------------- | ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| 200           | 2005300       | Successful              | Successful                                                                                                                     |
| 401           | 4015300       | Unauthorized. \[reason] | <p>General unauthorized error.</p><p>E.g. invalid X-SIGNATURE, X-TIMESTAMP, X-PARTNER-ID, X-EXTERNAL-ID, or Authorization.</p> |
| 401           | 4015301       | Invalid Token (B2B)     | Token found in request in invalid                                                                                              |
| 404           | 4045301       | Transaction Not Found   | Invalid referenceNo or sessionId                                                                                               |
| 500           | 5005300       | General Error           | General Error                                                                                                                  |
| {% endtab %}  |               |                         |                                                                                                                                |
| {% endtabs %} |               |                         |                                                                                                                                |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.doku.com/get-started-with-doku-api/response-code/http-status-and-case-code.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
