# Reason for operation rejection

The reason for operation rejection describes the circumstances or conditions under which the operation was not successfully completed. This may include user errors (e.g., insufficient funds), verification issues, or restrictions on the part of the payment system or bank.

**Field Structure**

```json
"fail_reason": {
    "code": 100,
    "message": "Unknown reason, clarification required"
}
```

The reason for operation rejection is passed as additional parameters in the following methods:

* [Payment System Callback​](https://docs.tarlanpayments.kz/eng/agws/payment-system-callback)

```json
{
    "project": "Testing",
    "service_code": "70958",
    "external_id": "proident",
    "status_code": "4",
    "status_message": "Transaction was failed",
    "amount": 100.82,
    "datetime": "fugiat sed",
    "username": "enim culpa eiusmod laborum",
    "fail_reason": {
        "code": 100,
        "message": "Unknown reason, clarification required"
    }
}
```

* [​Checking the refill status](https://docs.tarlanpayments.kz/eng/agws/checking-the-refill-status)

```json
{    
    "status": true,
    "status_code": 0,
    "message": "Success",
    "result":{
        "error_code" : 0,
        "message": "",
        "data": {
            "status_code": "4",
            "status_message": "Transaction was failed",
            "username": "989898",
            "amount": 100,
            "datetime": "2022-12-01T15:45:00Z",
            "project": "mobile",
            "fail_reason": {
                "code": 100,
                "message": "Unknown reason, clarification required"
            }
            "service_code": "201106",
            "external_id": "200001",
        }
}
```

* [Check account status](https://docs.tarlanpayments.kz/eng/agws/check-account-status)

```json
 {
    "status": true,
    "status_code": 0,
    "message": "Success",
    "result": {
        "error_code": 0,
        "message": "This account is inactive",
        "account_status": 0,
        "fail_reason": {
            "code": 100,
            "message": "Unknown reason, clarification required"
        },
        "info": {
            "parking": {
                "in_date": "2024-08-02T12:24:07+05:00",
                "left_free_time_minutes": 0,
                "sum": 118,
                "current_balance": -1
            }
        }
    }
}
```

* ​[Make a payment](https://docs.tarlanpayments.kz/eng/agws/make-a-payment) is passed when the status is [Transaction was failed](https://docs.tarlanpayments.kz/eng/agws/transaction-status-guide)

```json
{
    "status": true,
    "status_code": 0,
    "message": "Success",
    "result": {
        "error_code": 0,
        "message": "",
        "data": {
             "status_code": "4",
            "status_message": "Transaction was failed",
            "username": "12345",
            "amount": 1000,
            "datetime": "2024-01-01T00:00:00",
            "project": "project",
            "service_code": "service",
            "external_id": "200001",
            "fail_reason": {
                "code": 100,
                "message": "Unknown reason, clarification required"
            },
        }
    }
}
```

* [Confirmation of funds](https://docs.tarlanpayments.kz/eng/agws/confirmation-of-funds-debit) debit is passed when the status is [Transaction was failed](https://app.gitbook.com/o/gxK1VbNmJ8bcGc8xM5wD/s/dkkz4EKtpaWVPlq7ZwsC/agws/statusy-tranzakcii)

```json
{
    "status": true,
    "status_code": 0,
    "message": "Success",
    "result": {
        "is_success": true,
        "transaction_status_id": "4",
        "external_id": "200001",
        "message": "",
        "otp_status": false,
        "fail_reason": {
            "code": 402,
            "message": "Incorrect confirmation code"
        }
    }
}
```

<table data-full-width="false"><thead><tr><th width="285">code</th><th>message</th></tr></thead><tbody><tr><td>100</td><td>Unknown reason, clarification required</td></tr><tr><td>101</td><td>Error on the service provider side</td></tr><tr><td>102</td><td>Request validation error</td></tr><tr><td>103</td><td>A payment with the specified ID already exists in the system</td></tr><tr><td>104</td><td>Transaction with the specified ID is not found in the system</td></tr><tr><td>105</td><td>Authorization error</td></tr><tr><td>106</td><td>Verification via the provider's server is unavailable. You can make a payment if you are confident in the parameters</td></tr><tr><td>107</td><td>Transaction failed by timeout</td></tr><tr><td>200</td><td>Insufficient balance</td></tr><tr><td>201</td><td>Invalid ID format</td></tr><tr><td>202</td><td>Unverified account</td></tr><tr><td>203</td><td>Phone number not available for top-up</td></tr><tr><td>204</td><td>Operation limit exceeded for a user with simplified identification</td></tr><tr><td>205</td><td>Operation limit exceeded for an identified user</td></tr><tr><td>206</td><td>Operation limit exceeded for an unidentified user</td></tr><tr><td>207</td><td>Invoices are not yet generated. The provider may generate new month invoices during a period when they cannot be obtained.</td></tr><tr><td>300</td><td>The payment amount is too large</td></tr><tr><td>301</td><td>Limit exceeded</td></tr><tr><td>302</td><td>Incorrect payment amount</td></tr><tr><td>303</td><td>The payment amount is less than the minimum value</td></tr><tr><td>304</td><td>Amount out of acceptable range</td></tr><tr><td>400</td><td>Receiving two confirmation requests for the same operation with a minimal interval</td></tr><tr><td>401</td><td>Transaction lifespan expired</td></tr><tr><td>402</td><td>Incorrect confirmation code</td></tr><tr><td>403</td><td>The service has already been paid</td></tr><tr><td>404</td><td>The specified zone does not exist</td></tr><tr><td>405</td><td>The specified zone is inactive</td></tr><tr><td>406</td><td>A parameter required for payment is missing</td></tr><tr><td>407</td><td>Exceeded the number of confirmation code attempts</td></tr></tbody></table>
