# Response Code

A **response code** is a four-digit number returned by a server to indicate the outcome of a client's request. Our response codes consist of **4 digits** in the format <mark style="color:red;">**`XXYY`**</mark>, where:

* <mark style="color:red;">**`XX`**</mark> → Represents the error category (first 2 digits).
* <mark style="color:red;">**`YY`**</mark> → Specifies the error details (last 2 digits).

Bellow is the description of error category (<mark style="color:red;">`XX`</mark>)

<table><thead><tr><th width="196.08984375">Code</th><th>Description</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong><code>U0</code></strong><strong> </strong><strong>/</strong><strong> </strong><strong><code>U1</code></strong></mark></td><td>Error caused by user mistakes (User Error)</td></tr><tr><td><mark style="color:red;"><strong><code>IT</code></strong></mark></td><td>Error due to partner system failure (H2H Integration)</td></tr><tr><td><mark style="color:red;"><strong><code>SY</code></strong></mark></td><td>Error in DOKU switching system</td></tr><tr><td><mark style="color:red;"><strong><code>UE</code></strong></mark></td><td>Other errors that are not yet mapped</td></tr></tbody></table>

## Success Code

When you get the response code bellow, hold the payment amount from customer.

<table><thead><tr><th width="77.21484375" align="center">Code</th><th width="233.0078125">Message</th><th width="119.74609375">State</th><th>Detail</th></tr></thead><tbody><tr><td align="center"><mark style="color:red;"><code>0000</code></mark></td><td>Success</td><td>Payment, Inquiry, Advice</td><td>The server successfully processed the request, and the response contains the requested data or confirmation of the action performed.</td></tr><tr><td align="center"><mark style="color:red;"><code>5586</code></mark></td><td>Transaction on process/pending. hit advice to get final status transaction.</td><td>Payment</td><td>The transaction is pending; the partner will receive a callback or must send an advice request to obtain the transaction status.</td></tr></tbody></table>

## Error Code:

### Category "<mark style="color:red;">`U0`</mark> / <mark style="color:red;">`U1`</mark>"

<table><thead><tr><th width="84.3203125" align="center">Code</th><th width="246.265625">Message</th><th width="114.5078125">State</th><th>Description</th></tr></thead><tbody><tr><td align="center"><mark style="color:red;"><code>U000</code></mark></td><td>Invalid billing id/phone number.</td><td>Inquiry, payment</td><td>User fault, user need to re-input the billing number.</td></tr><tr><td align="center"><mark style="color:red;"><code>U001</code></mark></td><td>Bill already paid.</td><td>Inquiry</td><td>The billing number entered by the user does not have any outstanding charges.</td></tr><tr><td align="center"><mark style="color:red;"><code>U002</code></mark></td><td>Blocked billing ID, please contact your billing provider.</td><td>Inquiry</td><td></td></tr><tr><td align="center"><mark style="color:red;"><code>U003</code></mark></td><td>Billing cut off time, transaction cannot proceed. Please try again later.</td><td>Payment</td><td></td></tr><tr><td align="center"><mark style="color:red;"><code>U004</code></mark></td><td>Duplicate Transaction, Please try with another customer biller</td><td>Payment</td><td>User submit transaction with the same id pelanggan / phone number in the same time.</td></tr><tr><td align="center"><mark style="color:red;"><code>U101</code></mark></td><td>Tagihan Sudah Dibayar melalui CA lain</td><td>Inquiry, Payment</td><td>Specifically for the LPL biller, for bills with response code 27, where the bill has already been paid elsewhere either after the inquiry or before the inquiry.</td></tr><tr><td align="center"><mark style="color:red;"><code>U102</code></mark></td><td>Tagihan Sudah Kadaluwarsa/Expired</td><td>Inquiry, Payment</td><td>Specifically for the LPL biller, for bills with response code 02, where the bill has already expired.</td></tr><tr><td align="center"><mark style="color:red;"><code>U103</code></mark></td><td>Exceed limit KWh.</td><td>Payment</td><td>The purchased kWh amount has reached the maximum limit for the month. Each customer ID has a different maximum limit. For more details, please contact PLN 123.</td></tr></tbody></table>

### Category "<mark style="color:red;">`IT`</mark>"

<table><thead><tr><th width="80.828125" align="center">Code</th><th width="252.984375">Message</th><th width="117.77734375">State</th><th>Description</th></tr></thead><tbody><tr><td align="center"><mark style="color:red;"><code>IT01</code></mark></td><td>Invalid parameter [ParamName] request.</td><td>Inquiry, payment, advice</td><td>There is a formatting error in the parameter input, such as incorrect date or amount format.</td></tr><tr><td align="center"><mark style="color:red;"><code>IT02</code></mark></td><td>Inquiry not found, please check inquiryid and customer_id from inquiry.</td><td></td><td></td></tr><tr><td align="center"><mark style="color:red;"><code>IT03</code></mark></td><td>Inquiry ID already paid.</td><td>Payment</td><td>Inquiry ID that has already been paid before, to avoid double payment with the same inquiry request.</td></tr><tr><td align="center"><mark style="color:red;"><code>IT04</code></mark></td><td>Payment amount not equal with inquiry response.</td><td>Payment</td><td>The amount at the time of payment differs from the amount in the inquiry result.</td></tr><tr><td align="center"><mark style="color:red;"><code>IT05</code></mark></td><td>Unregistered / Inactive product.</td><td>Inquiry</td><td>The requested Biller ID / Product ID is not registered or inactive.</td></tr><tr><td align="center"><mark style="color:red;"><code>IT06</code></mark></td><td>Duplicate systrace.</td><td>Inquiry</td><td>The same Systrace cannot be sent in two different requests.</td></tr><tr><td align="center"><mark style="color:red;"><code>IT07</code></mark></td><td>IP not registered.</td><td>Inquiry</td><td>IP’s partner not registered in DOKU Biller.</td></tr><tr><td align="center"><mark style="color:red;"><code>IT08</code></mark></td><td>Insufficient partners deposit balance</td><td>Payment</td><td>The partner's deposit balance is insufficient; the partner is required to top up the balance to proceed with the transaction.</td></tr><tr><td align="center"><mark style="color:red;"><code>IT09</code></mark></td><td>Duplicate Request ID, please check your system</td><td>Inquiry, Payment</td><td></td></tr></tbody></table>

### Category "<mark style="color:red;">`SY`</mark>"

<table><thead><tr><th width="85.39453125" align="center">Code</th><th width="251.421875">Message</th><th width="124.5625">State</th><th>Description</th></tr></thead><tbody><tr><td align="center"><mark style="color:red;"><code>SY00</code></mark></td><td>Internal server error</td><td>Inquiry, Payment. Advice</td><td>Doku's system is under maintenance.</td></tr><tr><td align="center"><mark style="color:red;"><code>SY01</code></mark></td><td>Insufficient deposit balance</td><td>Payment</td><td>Doku's deposit balance in biller is insufficient.</td></tr><tr><td align="center"><mark style="color:red;"><code>SY06</code></mark></td><td>Temporary error from biller, please try again.</td><td></td><td>The product temporary close or biller system is under maintenance.</td></tr></tbody></table>


---

# 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/flexibill/doku-biller/response-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.
