> For the complete documentation index, see [llms.txt](https://pivot-payment.gitbook.io/pivot-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pivot-payment.gitbook.io/pivot-docs/api-references/api-lists/payout-local/response-codes-and-failure-reason.md).

# Response Codes & Failure Reason

## Response Codes

<table><thead><tr><th width="166">Response Code</th><th width="176">Response Message</th><th>Error Object</th></tr></thead><tbody><tr><td>00</td><td>Success</td><td>-</td></tr><tr><td>credentials_invalid</td><td>Access Token is Invalid</td><td><p></p><pre class="language-json"><code class="lang-json">{
  "error": {
    "type": "API_ERROR",
    "details": [
      {
        "field": "",
        "message": "Request new access token"
      }
    ],
    "traceId": "{trace id}" 
  }
}

</code></pre></td></tr><tr><td>field\_format\_invalid</td><td>Format Field is Invalid</td><td><p></p><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "{field name}",
"message": "Make sure {field name} format is correct"
}
],
"traceId": "{trace id}"
}
}

</code></pre></td></tr><tr><td>field\_required</td><td>Mandatory Field is Missing</td><td><p></p><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "{field name}",
"message": "Make sure {field name} value is fulfilled"
}
],
"traceId": "{trace id}"
}
}

</code></pre></td></tr><tr><td>amount\_below\_limit</td><td>Amount Value below the minimum</td><td><p></p><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "{field name}",
"message": "Make sure {field name} amount is above minimum"
}
],
"traceId": "{trace id}"
}
}

</code></pre></td></tr><tr><td>resource\_already\_exists</td><td>X-REQUEST-ID is already exists</td><td><p></p><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "",
"message": "Use unique X-EXTERNAL-ID"
}
],
"traceId": "{trace id}"
}
}

</code></pre></td></tr><tr><td>resource\_already\_exists</td><td>ID is already exists</td><td><p></p><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "{field name}",
"message": "Use unique {field name}"
}
],
"traceId": "{trace id}"
}
}

</code></pre></td></tr><tr><td>service\_unavailable</td><td>Gateway / Partner service is unavailable</td><td><p></p><pre class="language-json"><code class="lang-json">{
"error": {
"type": "GATEWAY\_ERROR",
"details": \[
{
"field": "",
"message": "Please hit periodically"
}
],
"traceId": "{trace id}"
}
} </code></pre></td></tr><tr><td>balance\_insufficient</td><td>Merchant Balance is Insufficient</td><td><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "",
"message": "Re Top-up your Balance"
}
],
"traceId": "{trace id}"
}
} </code></pre></td></tr><tr><td>unsupported\_channel\_code</td><td>Channel Code is currently not supported</td><td><p></p><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "{field name}",
"message": "Make sure channel code following on the API Document"
}
],
"traceId": "{trace id}"
}
}

</code></pre></td></tr><tr><td>resource\_missing</td><td>Payout ID is not exist</td><td><p></p><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "",
"message": "Make sure payout id is correct"
}
],
"traceId": "{trace id}"
}
} </code></pre></td></tr><tr><td>format\_invalid</td><td>Payout format is invalid</td><td><p></p><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "",
"message": "Make sure payout object no more than 1000 items"
}
],
"traceId": "{trace id}"
}
}

</code></pre></td></tr><tr><td>resource\_missing</td><td>Inquiry ID is not exist</td><td><p></p><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "{field name}",
"message": "Make sure inquiry id is correct"
}
],
"traceId": "{trace id}"
}
}

</code></pre></td></tr><tr><td>general\_error</td><td>General Error</td><td><p></p><pre class="language-json"><code class="lang-json"><strong>{ </strong>  "error": {
"type": "API\_ERROR",
"details": \[
{
"field": "",
"message": "Please contact our representative team"
}
],
"traceId": "{trace id}"
}
}

</code></pre></td></tr><tr><td>amount\_above\_limit</td><td>Amount value above the maximum</td><td><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "{field name}",
"message": "Make sure {field name} amount is below maximum"
}
],
"traceId": "{trace id}"
}
} </code></pre></td></tr><tr><td>daily\_payout\_limit\_exceeded</td><td>Exceed daily Payout limit</td><td><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "",
"message": "Remaining amount today: Rp \[current Payout balance]. Please try again tomorrow or contact Helpdesk"
}
],
"trace\_id": "{trace id}"
}
} </code></pre></td></tr><tr><td>payouts\_in\_process</td><td>Payouts are being process</td><td><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "",
"message": "Wait a moment to retrieve the Payout"
}
],
"trace\_id": "{trace id}"
}
} </code></pre></td></tr><tr><td>format\_invalid</td><td>Payouts format is invalid</td><td><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "",
"message": "Make sure Payout request format is correct"
}
],
"trace\_id": "{trace id}"
}
} </code></pre></td></tr><tr><td>field\_value\_invalid</td><td>Format Field is invalid</td><td><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "",
"message": "unsupported currency, only IDR is supported"
}
],
"trace\_id": "{trace id}"
}
} </code></pre></td></tr><tr><td>unprocessable\_entity</td><td>disbursement status has not been approved</td><td><pre class="language-json"><code class="lang-json">{
"error": {
"type": "API\_ERROR",
"details": \[
{
"field": "",
"message": "disbursement status has not been approved"
}
],
"trace\_id": "{trace id}"
}
} </code></pre></td></tr></tbody></table>

## Failure Reason

Failure reason will appear whenever Payout Transaction Status is "FAILED"

| Failure Reason                    | Description                                                  |
| --------------------------------- | ------------------------------------------------------------ |
| Invalid account                   | Beneficiary account is invalid or doesn't exist              |
| Inactive account                  | Beneficiary account is inactive                              |
| Dormant account                   | Beneficiary account is closed or deactivated                 |
| Failed to process by Bank Network | Bank is failed to process the transaction                    |
| Feature not allowed at this time  | Merchant is not eligible to access the feature at the moment |
| Unknown Bank Network error        | Undefined Bank error response                                |
| Declined due to beneficiary limit | Beneficiary account has already reached the daily limit      |
