{"info":{"_postman_id":"80b1636a-7ded-423d-841d-9b13c7aa414f","name":"Протокол агент API","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"16078139","collectionId":"80b1636a-7ded-423d-841d-9b13c7aa414f","publishedId":"UVXqFYsP","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2026-01-19T06:09:31.000Z"},"item":[{"name":"Документация на русском языке","item":[{"name":"Введение","item":[],"id":"603c65fc-f6a8-412e-b819-7bd679b5feaa","description":"<p>Прод среда: <a href=\"https://api.interhub.ae\">https://api.interhub.ae</a></p>\n<hr />\n<h2 id=\"виды-транзакций\"><strong>Виды транзакций.</strong></h2>\n<p>Агенты \"InterHub\"а могут производить 3 вида оплаты: Top Up, Voucher, PIN.</p>\n<img src=\"https://content.pstmn.io/3e328784-2851-43d7-989a-284e2cddcabe/VW50aXRsZWQgRGlhZ3JhbS5kcmF3aW8ucG5n\" alt=\"Рисунок%201.%20Top%20Up\" width=\"428\" height=\"274\" />\n\n<p>На рисунке 1 выше представлена транзакция Top Up. Первым делом, агент отправляет check-запрос(или <strong><code>/check_dest</code></strong>). Если InterHub возвращает \"success\", агент отправляет pay-запрос. Если оплата проходит успешно, InterHub возвращает \"success\" и процесс завершается. На рисунке 1 представлен успешный исход событий. Однако, после каждой отправки запроса агентом, если InterHub возвращает \"error\", процесс завершается.</p>\n<p>Когда агент отправляет pay-запрос, InterHub может вернуть 3 разных ответа: success, process, error. В случае, если InterHub вернул \"process\", рекомендуется отправлять запрос \"check_status\" каждые 5 минут, чтобы не загружать сервер.</p>\n<img src=\"https://content.pstmn.io/ba7375ad-da45-404c-816a-ea9617c8d69b/Vm91Y2hlci5QTkc=\" alt=\"Рисунок%202.%20Voucher\" />\n\n<p>На рисунке 2 представлена транзакция Voucher. В этой транзакции агент, первым делом, отправляет в InterHub \"calculate-запрос\". Если этот запрос прошёл успешно, дальше всё работает как в транзакции Top Up, описанной выше.</p>\n<img src=\"https://content.pstmn.io/b076ba3d-9cf5-4f56-bf9a-84bb565948e3/UElOLlBORw==\" alt=\"Рисунок%203.%20PIN.\" />\n\n<p>На рисунке 3 выше представлена транзакция PIN. Отличие данной транзакции от двух предыдущих заключается в том, что в транзакции PIN агент приходит в InterHub с конкретным запросом: куда именно, на какой аккаунт какую сумму отправить. Здесь используется параметр fixed_amount - фиксированная сумма.</p>\n<h2 id=\"что-позволяет-протокол\">Что позволяет протокол?</h2>\n<ol>\n<li><p>Проверять возможность проведения платежа - <code>check</code></p>\n</li>\n<li><p>Оплачивать услуги клиентам \"InterHub\"а - <code>pay</code></p>\n</li>\n<li><p>Проверять текущий статус транзакции перевода - <code>check_status</code></p>\n</li>\n<li><p>Позволяет агентам просматривать свой баланс - <code>deposit</code></p>\n</li>\n<li><p>Даёт возможность получать информацию обо всех сервисах через Api - <code>service_list</code></p>\n</li>\n</ol>\n<hr />\n<h2 id=\"авторизация\">Авторизация</h2>\n<ul>\n<li><p>Авторизация происходит при помощи токена.</p>\n</li>\n<li><p><code>url</code> и <code>token</code> предоставляются менеджерами в процессе интеграции.</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"как-это-работает\">Как это работает?</h2>\n<ul>\n<li><p>Есть два вида оплаты: фиксированная оплата (voucher) и точная сумма оплаты (top-up).<br />  Если услуга, за которую должен быть произведён платеж, требует определенную сумму, агентам необходимо будет использовать метод <code>calculate</code>.<br />  Типы сервисов определяются через API-интерфейс <code>service_list</code>.</p>\n</li>\n<li><p>Агенты должны отправлять <code>check</code> запрос на проверку возможности проведения платежа (<strong>{{url}}/api/payment/check</strong> ).</p>\n</li>\n<li><p>Если на <code>check</code> запрос получен успешный ответ, агент может подтвердить платеж с помощью pay API. ( <strong>{{url}}/api/payment/pay</strong> )</p>\n</li>\n<li><p>API <code>check_status</code> используется для получения финального статуса платежа. Этот API используется, когда в запросе на <code>pay</code> не указывается финальный статус платежа. ( <strong>{{url}}/api/payment/check_status</strong> )</p>\n</li>\n<li><p>При успешном финальном статусе платежа средства автоматически перечисляются на аккаунт пользователя с Вашего агентского счета.</p>\n</li>\n</ul>\n<h2 id=\"формат-взаимодействия\">Формат взаимодействия.</h2>\n<ul>\n<li><p>API Протокол приема платежей основан на принципах REST-архитектуры.</p>\n</li>\n<li><p>API в качестве основного протокола использует HTTPS-запросы.</p>\n</li>\n<li><p>Параметры API помещаются в JSON-тело запроса. В POST и GET - запросах параметры помещаются в URL запроса.</p>\n</li>\n<li><p>API всегда возвращает ответ в формате JSON.</p>\n</li>\n</ul>\n<p>Brio group.</p>\n","_postman_id":"603c65fc-f6a8-412e-b819-7bd679b5feaa"},{"name":"Получение суммы","item":[{"name":"/api/agent/payment/check/calculate","id":"c1fbcf67-5b30-44ca-bfce-49a30eaf6fe5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"service_id\": 111,\n\t\"account\": \"example@gmail.com\",\n\t\"agent_transaction_id\":\"agent_98765431\",\n    \"params\":{}\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/agent/payment/check/calculate","description":"<p>Этот метод используются только в том случае, если тип услуги <code>Top-Up-Fixed</code>, <code>PIN</code> или <code>Voucher</code>. <code>Calculate</code> - API служит для получения фиксированной суммы услуги а так же проверить, возможно ли проведение реального платежа.<br /><code>Calculate</code> метод должен выполниться до использования метода <code>check</code>.<br />После получения фиксированной суммы агент должен использовать метод <code>check</code>.</p>\n<hr />\n<h2 id=\"формат-запроса\">Формат запроса</h2>\n<p>Параметры запроса:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Имя</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>service_id</code></td>\n<td>Int</td>\n<td>Идентификационный номер Сервиса (Передается со стороны InterHub)</td>\n</tr>\n<tr>\n<td><code>account</code></td>\n<td>String</td>\n<td>Аккаунт или номер телефона</td>\n</tr>\n<tr>\n<td><code>agent_transaction_id</code></td>\n<td>String</td>\n<td>Идентификационный номер транзакции на стороне Агента.Этот id не повторяется, и каждая новая операция должна сопровождаться новым id.</td>\n</tr>\n<tr>\n<td><code>params</code></td>\n<td>Object</td>\n<td>Если необходимо ввести дополнительную информацию помимо <code>account</code>, она добавляется в этот параметр (не обязателен).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<p>Если внутри сервиса, полученного из API список услуг, поля <code>fields</code> не<br />пустые, тогда эти поля внутри <code>params</code> необходимо отправить в паре key-value (ключ-значение). Если значение required=true, отправлять обязательно.</p>\n<p>В паре key-value:</p>\n<p>Key – название поля field,</p>\n<p>Value – связан с типом поля <code>field.type</code>:</p>\n<p>- если <code>field.type</code>=”LIST”, отправляется id одного<br />из элементов списка value_list,</p>\n<p>- если <code>field.type</code>=”TEXT”, отправляется обычный текст.</p>\n<p>Рассмотрим пример заполнения params.</p>\n<p>Если сервис, взятый из API «Список услуг», выглядит следующим<br />образом (это всего лишь пример):</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"id\": 9983,\n  \"name\": \"Vodafone\",\n  \"category_name\": \"Мобильные операторы\",\n  \"type\": \"TOP_UP_FIXED\",\n  \"min_amount\": 11350.00,\n  \"max_amount\": 11350000.00,\n  \"fields\": [\n    {\n      \"id\": 500,\n      \"name\": \"nominal\",\n      \"type\": \"LIST\",\n      \"required\": true,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": [\n        {\n          \"id\": 3333,\n          \"title\": \"TRY 80.00\",\n          \"condition\": \"A\",\n          \"field_id\": 54,\n          \"parent_id\": -1\n        },\n        {\n          \"id\": 4444,\n          \"title\": \"TRY 100.00\",\n          \"condition\": \"A\",\n          \"field_id\": 54,\n          \"parent_id\": -1\n        }\n      ]\n    },\n    {\n      \"id\": 501,\n      \"name\": \"sender_name\",\n      \"type\": \"TEXT\",\n      \"required\": true,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": []\n    },\n    {\n      \"id\": 502,\n      \"name\": \"receiver_name\",\n      \"type\": \"TEXT\",\n      \"required\": false,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": []\n    }\n  ]\n}\n\n</code></pre>\n<p>Тогда заполнение <code>params</code> будет<br />следующим:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">\"params\": {\n    \"nominal\": 3333,\n    \"sender_name\" : \"Falonchi Falonchiyev 1\",\n    \"receiver_name\" : \"Falonchi Falonchiyev 2\" – это не обязательно (not required)\n}\n\n</code></pre>\n<h2 id=\"формат-ответа\">Формат ответа</h2>\n<p>Если запрос обработан корректно, то в ответе возвращаются сведения о возможности проведения платежа.Если возвращается число 0 в теге <code>status</code>, запрос был успешным.</p>\n<p>Параметры ответа:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Имя</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>message</code></td>\n<td>String</td>\n<td>Ответ от Биллинга</td>\n</tr>\n<tr>\n<td><code>success</code></td>\n<td>Boolean</td>\n<td>Логический признак ошибки обработки запроса</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Int</td>\n<td>Статус платежа. Возвращает \"успешно\" или <a href>Код ошибки</a></td>\n</tr>\n<tr>\n<td><code>account</code></td>\n<td>String</td>\n<td>Аккаунт отправленный агентом</td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td>Double</td>\n<td>Сумма платежа (валюта от зависит договора)</td>\n</tr>\n<tr>\n<td><code>transaction_id</code></td>\n<td>String</td>\n<td>Идентификатор транзакции</td>\n</tr>\n<tr>\n<td><code>amount_in_currency</code></td>\n<td>Double</td>\n<td>Сумма в валюте платежа. Здесь мы возвращаем сумму с четырьмя цифрами после запятой.</td>\n</tr>\n<tr>\n<td><code>comission</code></td>\n<td>Int</td>\n<td>Комиссия</td>\n</tr>\n<tr>\n<td><code>fixed_amount</code></td>\n<td>Double</td>\n<td>Фиксированная сумма. Здесь мы возвращаем сумму с четырьмя цифрами после запятой.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"ответ-с-ошибками\">Ответ с ошибками</h2>\n<p>Если сервер не смог обработать запрос, API возвращает ответ с кодом произошедшей ошибки.<br />Параметры ответа:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Имя</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>message</code></td>\n<td>String</td>\n<td>Текстовое описание ошибки.</td>\n</tr>\n<tr>\n<td><code>success</code></td>\n<td>Boolean</td>\n<td>Логический признак ошибки обработки запроса</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Int</td>\n<td>Соответствующий <a href>код ошибки</a></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","agent","payment","check","calculate"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"f7aea462-897c-4301-8f9b-536a95f1ad49","name":"Success Calculate","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"service_id\": 123,\n\t\"account\": \"example@gmail.com\",\n\t\"agent_transaction_id\":\"agent_987654312\"\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/check/calculate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Mon, 26 Apr 2021 07:15:04 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Success\",\n    \"success\": true,\n    \"status\": 0,\n    \"account\": \"example@gmail.com\",\n    \"amount\": 1,\n    \"transaction_id\": 1619421299146,\n    \"amount_in_currency\": 0,\n    \"comission\": 0,\n    \"fixed_amount\": 56240.17\n}"},{"id":"65d2a219-88c8-4c04-a55a-306f0b82e678","name":"Error","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"service_id\": 99,\n\t\"account\": \"example@gmail.com\",\n\t\"agent_transaction_id\":\"agent_987654312\"\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/check/calculate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 27 Apr 2021 07:30:55 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Not enough gift cards\",\n    \"success\": false,\n    \"status\": -136\n}"}],"_postman_id":"c1fbcf67-5b30-44ca-bfce-49a30eaf6fe5"}],"id":"4ad0f66f-9118-4be3-809f-cbff633b23bd","description":"<p>Этот метод используется только в том случае, если тип услуги <code>Top-Up-Fixed</code>, <code>PIN</code> или <code>Voucher</code>.</p>\n<p><code>Calculate</code> - API служит для получения фиксированной суммы услуги, а также для того, чтобы проверить, возможно ли проведение реального платежа.<br /><code>Calculate</code> метод должен быть выполнен до использования метода <code>check</code>.</p>\n<p>После получения фиксированной суммы агент должен использовать метод <code>check</code>.</p>\n","_postman_id":"4ad0f66f-9118-4be3-809f-cbff633b23bd"},{"name":"Проверка возможности проведения платежа","item":[{"name":"/api/payment/check","id":"fff2099e-e74a-4ab2-b57b-343ef3aaeeeb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{  \n  \"service_id\":488,\n  \"account\": \"550831976\",\n  \"agent_transaction_id\":\"637553186520953102\",\n  \"amount\":1000,\n  \"params\": {}\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/check","description":"<p><strong><code>check</code></strong> - С помощью этого запроса вам необходимо проверить, возможно ли оплатить на данную услугу. Должен выполниться до использования метода <code>pay</code>.</p>\n<hr />\n<h2 id=\"формат-запроса\">Формат запроса</h2>\n<p>Параметры запроса:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Тег</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>service_id</code></td>\n<td>Int</td>\n<td>Идентификационный номер Сервиса (Передается со стороны InterHub)</td>\n</tr>\n<tr>\n<td><code>account</code></td>\n<td>String</td>\n<td>Аккаунт или номер телефона</td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td>Double</td>\n<td>Сумма, отправленная агентом</td>\n</tr>\n<tr>\n<td><code>agent_transaction_id</code></td>\n<td>String</td>\n<td>Идентификационный номер транзакции на стороне Агента.Этот id не повторяется, и каждая новая операция должна сопровождаться новым id.</td>\n</tr>\n<tr>\n<td><code>params</code></td>\n<td>Object</td>\n<td>Если необходимо ввести дополнительную информацию помимо <code>account</code> и <code>amount</code>, то добавляется в этот параметр (не обязателен).</td>\n</tr>\n</tbody>\n</table>\n</div><p>Если внутри сервиса, полученного из API список услуг, поля fields не пустые, тогда эти поля внутри params необходимо отправить в паре key-value (ключ-значение). Если значение required=true, отправлять обязательно.</p>\n<p>В паре key-value:</p>\n<p>Key – название поля field,</p>\n<p>Value – связан с типом поля field.type:</p>\n<p>- если field.type=”LIST”, отправляется id одного<br />из элементов списка value_list,</p>\n<p>- если field.type=”TEXT”, отправляется обычный текст.</p>\n<p>Рассмотрим пример заполнения params.</p>\n<p>Если сервис, взятый из API «Список услуг», выглядит следующим образом (это всего лишь пример):</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"id\": 9983,\n  \"name\": \"Vodafone\",\n  \"category_name\": \"Мобильные операторы\",\n  \"type\": \"TOP_UP_FIXED\",\n  \"min_amount\": 11350.00,\n  \"max_amount\": 11350000.00,\n  \"fields\": [\n    {\n      \"id\": 500,\n      \"name\": \"nominal\",\n      \"type\": \"LIST\",\n      \"required\": true,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": [\n        {\n          \"id\": 3333,\n          \"title\": \"TRY 80.00\",\n          \"condition\": \"A\",\n          \"field_id\": 54,\n          \"parent_id\": -1\n        },\n        {\n          \"id\": 4444,\n          \"title\": \"TRY 100.00\",\n          \"condition\": \"A\",\n          \"field_id\": 54,\n          \"parent_id\": -1\n        }\n      ]\n    },\n    {\n      \"id\": 501,\n      \"name\": \"sender_name\",\n      \"type\": \"TEXT\",\n      \"required\": true,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": []\n    },\n    {\n      \"id\": 502,\n      \"name\": \"receiver_name\",\n      \"type\": \"TEXT\",\n      \"required\": false,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": []\n    }\n  ]\n}\n\n</code></pre>\n<p>Тогда заполнение params будет следующим:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">\"params\": {\n    \"nominal\": 3333,\n    \"sender_name\" : \"Falonchi Falonchiyev 1\",\n    \"receiver_name\" : \"Falonchi Falonchiyev 2\" – это не обязательно (not required)\n}\n\n</code></pre>\n<h2 id=\"формат-ответа\">Формат ответа</h2>\n<p>Если запрос обработан корректно, то в ответе возвращаются сведения о возможности проведения платежа.Если возвращается число 0 в теге <code>status</code>, запрос был успешным</p>\n<p>Параметры ответа:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Тег</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>message</td>\n<td>String</td>\n<td>Ответ от Биллинга</td>\n</tr>\n<tr>\n<td>success</td>\n<td>Boolean</td>\n<td>Логический признак ошибки обработки запроса</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Int</td>\n<td>Статус платежа. Возвращает \"успешно\" или <a href>Код ошибки</a></td>\n</tr>\n<tr>\n<td>account</td>\n<td>String</td>\n<td>Аккаунт отправленный агентом</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Double</td>\n<td>Сумма платежа (валюта от зависит договора)</td>\n</tr>\n<tr>\n<td>transaction_id</td>\n<td>Long</td>\n<td>Идентификатор транзакции</td>\n</tr>\n<tr>\n<td>amount_in_currency</td>\n<td>Double</td>\n<td>Сумма в валюте, которую клиент получает</td>\n</tr>\n<tr>\n<td>comission</td>\n<td>Double</td>\n<td>Комиссия</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>String</td>\n<td>Валюта услуги, за которую производилась оплата</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","payment","check"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"013a2884-5132-4660-be98-64238a8ef1fb","name":"Success Check","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"\n{  \n  \"service_id\":488,\n  \"account\": \"550831976\",\n  \"agent_transaction_id\":\"637553186520953102\",\n  \"amount\":1000,\n  \"params\": {\n              \n\n\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/check"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Mon, 26 Apr 2021 07:18:03 GMT"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Success\",\n  \"success\": true,\n  \"status\": 0,\n  \"account\": \"550831976\",\n  \"amount\": 1000.00,\n  \"transaction_id\": 1619421479155,\n  \"amount_in_currency\": 1000.00,\n  \"comission\": 0,\n  \"currency\": \"UZS\"\n}\n\n//or\n\n{  \n  \"service_id\":488,\n  \"account\": \"550831976\",\n  \"agent_transaction_id\":\"637553186520953102\",\n  \"amount\":1000,\n  \"params\": {\n    \"nominal\" : 4100,\n    \"sender_name\" : \"Falonchi\"\n  }\n}\n\n"},{"id":"fb630fbb-18b1-4551-a24c-fc0f782495f6","name":"Error - 500","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{  \n  \"service_id\":488,\n  \"account\": \"550831976\",\n  \"agent_transaction_id\":\"637553186520953102\",\n  \"amount\":1000,\n  \"params\": {}\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{url}}/api/payment/check","host":["{{url}}"],"path":["api","payment","check"],"query":[{"key":"","value":"","disabled":true}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Mon, 26 Apr 2021 07:59:59 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"timestamp\": \"2021-04-26T07:59:59.922+0000\",\n    \"status\": 500,\n    \"error\": \"Internal Server Error\",\n    \"message\": \"No message available\",\n    \"path\": \"/api/payment/check\"\n}"}],"_postman_id":"fff2099e-e74a-4ab2-b57b-343ef3aaeeeb"}],"id":"9926218a-451e-42ed-933f-0fa0fafbb94c","description":"<p><strong><code>check</code></strong> - С помощью этого запроса вам необходимо проверить, возможно ли оплатить данную услугу. Метод должен быть выполнен до использования метода <code>pay</code>.</p>\n","_postman_id":"9926218a-451e-42ed-933f-0fa0fafbb94c"},{"name":"Проверка возможности проведения платежа с параметром destination_amount","item":[{"name":"/api/agent/payment/check_dest","id":"f89cce9a-da1f-4aa5-8301-36a3073a8d71","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{  \n  \"service_id\": 488,\n  \"account\": \"550831976\",\n  \"agent_transaction_id\": \"637553186520953102\",\n  \"destination_amount\": 1000,\n  \"params\": {}\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/agent/payment/check_dest","description":"<p><strong><code>check_dest</code></strong> - Этот метод работает аналогично методу <em>check</em>, но отличается тем, что здесь используется не <code>amount</code>, а <code>destination_amount</code> — сумма, которую должен получить конечный аккаунт. Метод должен быть выполнен до использования метода <code>pay</code>.  </p>\n<p><strong>Важно:</strong><br /><strong>Пока не все сервисы поддерживают этот метод</strong></p>\n<hr />\n<h2 id=\"формат-запроса\">Формат запроса</h2>\n<p>Параметры запроса:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Тег</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>service_id</code></td>\n<td>Int</td>\n<td>Идентификационный номер Сервиса (Передается со стороны InterHub)</td>\n</tr>\n<tr>\n<td><code>account</code></td>\n<td>String</td>\n<td>Аккаунт или номер телефона</td>\n</tr>\n<tr>\n<td><code>destination_amount</code></td>\n<td>Double</td>\n<td>сумма, которую получит конечный аккаунт</td>\n</tr>\n<tr>\n<td><code>agent_transaction_id</code></td>\n<td>String</td>\n<td>Идентификационный номер транзакции на стороне Агента.Этот id не повторяется, и каждая новая операция должна сопровождаться новым id.</td>\n</tr>\n<tr>\n<td><code>params</code></td>\n<td>Object</td>\n<td>Если необходимо ввести дополнительную информацию помимо <code>account</code> и <code>amount</code>, то добавляется в этот параметр (не обязателен).</td>\n</tr>\n</tbody>\n</table>\n</div><p>Если внутри сервиса, полученного из API список услуг, поля fields не пустые, тогда эти поля внутри params необходимо отправить в паре key-value (ключ-значение). Если значение required=true, отправлять обязательно.</p>\n<p>В паре key-value:</p>\n<p>Key – название поля field,</p>\n<p>Value – связан с типом поля field.type:</p>\n<p>- если field.type=”LIST”, отправляется id одного<br />из элементов списка value_list,</p>\n<p>- если field.type=”TEXT”, отправляется обычный текст.</p>\n<p>Рассмотрим пример заполнения params.</p>\n<p>Если сервис, взятый из API «Список услуг», выглядит следующим образом (это всего лишь пример):</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"id\": 9983,\n  \"name\": \"Vodafone\",\n  \"category_name\": \"Мобильные операторы\",\n  \"type\": \"TOP_UP_FIXED\",\n  \"min_amount\": 11350.00,\n  \"max_amount\": 11350000.00,\n  \"fields\": [\n    {\n      \"id\": 500,\n      \"name\": \"nominal\",\n      \"type\": \"LIST\",\n      \"required\": true,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": [\n        {\n          \"id\": 3333,\n          \"title\": \"TRY 80.00\",\n          \"condition\": \"A\",\n          \"field_id\": 54,\n          \"parent_id\": -1\n        },\n        {\n          \"id\": 4444,\n          \"title\": \"TRY 100.00\",\n          \"condition\": \"A\",\n          \"field_id\": 54,\n          \"parent_id\": -1\n        }\n      ]\n    },\n    {\n      \"id\": 501,\n      \"name\": \"sender_name\",\n      \"type\": \"TEXT\",\n      \"required\": true,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": []\n    },\n    {\n      \"id\": 502,\n      \"name\": \"receiver_name\",\n      \"type\": \"TEXT\",\n      \"required\": false,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": []\n    }\n  ]\n}\n\n</code></pre>\n<p>Тогда заполнение params будет следующим:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">\"params\": {\n    \"nominal\": 3333,\n    \"sender_name\" : \"Falonchi Falonchiyev 1\",\n    \"receiver_name\" : \"Falonchi Falonchiyev 2\" – это не обязательно (not required)\n}\n\n</code></pre>\n<h2 id=\"формат-ответа\">Формат ответа</h2>\n<p>Если запрос обработан корректно, то в ответе возвращаются сведения о возможности проведения платежа.Если возвращается число 0 в теге <code>status</code>, запрос был успешным</p>\n<p>Параметры ответа:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Тег</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>message</td>\n<td>String</td>\n<td>Ответ от Биллинга</td>\n</tr>\n<tr>\n<td>success</td>\n<td>Boolean</td>\n<td>Логический признак ошибки обработки запроса</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Int</td>\n<td>Статус платежа. Возвращает \"успешно\" или <a href=\"https://null\">Код ошибки</a></td>\n</tr>\n<tr>\n<td>account</td>\n<td>String</td>\n<td>Аккаунт отправленный агентом</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Double</td>\n<td>Сумма платежа (валюта от зависит договора)</td>\n</tr>\n<tr>\n<td>transaction_id</td>\n<td>Long</td>\n<td>Идентификатор транзакции</td>\n</tr>\n<tr>\n<td>amount_in_currency</td>\n<td>Double</td>\n<td>Сумма в валюте, которую клиент получает</td>\n</tr>\n<tr>\n<td>comission</td>\n<td>Double</td>\n<td>Комиссия</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>String</td>\n<td>Валюта услуги, за которую производилась оплата</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","agent","payment","check_dest"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"9fa64d2e-560c-44dd-bf07-c08780322627","name":"Success Check","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{  \n  \"service_id\":488,\n  \"account\": \"550831976\",\n  \"agent_transaction_id\":\"637553186520953102\",\n  \"destination_amount\":1000,\n  \"params\": {\n              \n\n\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/agent/payment/check_dest"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Mon, 26 Apr 2021 07:18:03 GMT"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Success\",\n  \"success\": true,\n  \"status\": 0,\n  \"account\": \"550831976\",\n  \"amount\": 1000.00,\n  \"transaction_id\": 1619421479155,\n  \"amount_in_currency\": 1000.00,\n  \"currency\": \"UZS\"\n}\n\n//or\n\n{\n  \"service_id\":488,\n  \"account\": \"550831976\",\n  \"agent_transaction_id\":\"637553186520953102\",\n  \"amount\":1000,\n  \"params\": {\n    \"nominal\" : 4100,\n    \"sender_name\" : \"Falonchi\"\n  }\n}\n\n"},{"id":"23375063-25b8-4b59-a4f8-fe0e2c96a742","name":"Error - 500","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{  \n  \"service_id\": 488,\n  \"account\": \"550831976\",\n  \"agent_transaction_id\": \"637553186520953102\",\n  \"destination_amount\": 1000,\n  \"params\": {}\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{url}}/api/agent/payment/check_dest","host":["{{url}}"],"path":["api","agent","payment","check_dest"],"query":[{"key":"","value":"","disabled":true}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Mon, 26 Apr 2021 07:59:59 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"timestamp\": \"2021-04-26T07:59:59.922+0000\",\n    \"status\": 500,\n    \"error\": \"Internal Server Error\",\n    \"message\": \"No message available\",\n    \"path\": \"/api/payment/check\"\n}"}],"_postman_id":"f89cce9a-da1f-4aa5-8301-36a3073a8d71"}],"id":"3e9bd7d6-7f14-4b4f-ad30-8be8452eb8a7","_postman_id":"3e9bd7d6-7f14-4b4f-ad30-8be8452eb8a7","description":""},{"name":"Подтверждение платежа","item":[{"name":"/api/payment/pay","id":"e26f04db-4093-40fb-8d53-f3bfc17e805c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"agent_transaction_id\": \"637553186520953102\"\n}\t","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/pay","description":"<p><strong><code>pay</code></strong> - метод, который должен выполниться после того как метод <code>check</code> вернет значение True в параметре \"success\" .<br />Данный метод используется для того, чтобы выполнилась реальная транзакция.</p>\n<hr />\n<h2 id=\"формат-запроса\">Формат запроса</h2>\n<p>Параметры запроса:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Имя</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>agent_transaction_id</code></td>\n<td>String</td>\n<td>Идентификационный номер транзакции на стороне Агента.Этот id не повторяется, и каждая новая операция должна сопровождаться новым id.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"формат-ответа\">Формат ответа</h2>\n<p>Если запрос обработан корректно, то в ответе возвращаются сведения о платеже. Дополнительная информация возвращается в параметре <code>data</code>.</p>\n<p>Параметры ответа:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Имя</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>message</td>\n<td>String</td>\n<td>Ответ от сервера</td>\n</tr>\n<tr>\n<td>success</td>\n<td>Boolean</td>\n<td>Логический признак ошибки обработки запроса</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Int</td>\n<td>Статус транзакции. Здесь возвращается \"успешно\" или <a href>Код ошибки</a></td>\n</tr>\n<tr>\n<td>data</td>\n<td>Object</td>\n<td>Дополнительные параметры или информация о транзакции</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","payment","pay"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"528902b6-d113-46e4-82ef-91658353c0ac","name":"Success Pay","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"agent_transaction_id\": \"637553186520953102a\"\n}\t","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/pay"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Mon, 26 Apr 2021 07:18:53 GMT"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Transaction is success\",\n  \"success\": true,\n  \"status\": 0\n}"},{"id":"551d3fc0-9d2e-4943-b68c-a42b8f3fbd7e","name":"Proccessing","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"agent_transaction_id\": \"637553186520953102\"\n}\t","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/pay"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Mon, 26 Apr 2021 08:00:58 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Transaction is in proccessing\",\n    \"success\": true,\n    \"status\": 1\n}"}],"_postman_id":"e26f04db-4093-40fb-8d53-f3bfc17e805c"}],"id":"f8deffa0-4ab1-4e0d-9256-d5c762e13add","description":"<p>StartFragment</p>\n<p><strong><code>pay</code></strong> - метод, который должен быть выполнен после того, как метод <code>check</code> вернёт значение True в параметре \"success\" .<br />Данный метод используется для того, чтобы провести реальную транзакцию.</p>\n<p>EndFragment</p>\n","_postman_id":"f8deffa0-4ab1-4e0d-9256-d5c762e13add"},{"name":"Проверка статуса платежа","item":[{"name":"/api/payment/check_status","id":"bbac71b1-2d90-424f-add7-08bd5f5246c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"agent_transaction_id\": 1619421479155\r\n}\t","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/check_status","description":"<p><strong><code>check_status</code></strong> - метод, который должен выполниться если в методе <code>pay</code> не получили финальный статус . Используется для получения информации о транзакции в случае получения некорректного ответа. Возвращает значения True или False. Если ответ от сервиса не получен или получен нечеткий ответ (например: HTTP status 500), системе агента следует отправить check_status запрос для получения окончательного ответа. Рекомендуется следующий режим повтора: первый повтор через 1 минуту, следующие три с промежутком в 5 минут, далее не более одного раза в 30 минут.</p>\n<hr />\n<h2 id=\"формат-запроса\">Формат запроса</h2>\n<p>Параметры запроса:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Имя</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>agent_transaction_id</code></td>\n<td>String</td>\n<td>Идентификационный номер транзакции на стороне Агента.Этот id не повторяется, и каждая новая операция должна сопровождаться новым id.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"формат-ответа\">Формат ответа</h2>\n<p>Если запрос обработан корректно, то в ответе возвращаются сведения о платеже. Дополнительная информация возвращается в параметре <code>data</code>.</p>\n<p>Параметры ответа:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Имя</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>message</td>\n<td>String</td>\n<td>Ответ от сервера</td>\n</tr>\n<tr>\n<td>success</td>\n<td>Boolean</td>\n<td>Логический признак ошибки обработки запроса</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Int</td>\n<td>Статус транзакции. Возвращает \"успешно\" или <a href>Код ошибки</a></td>\n</tr>\n<tr>\n<td>data</td>\n<td>Object</td>\n<td>Дополнительные параметры или информация о транзакции</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","payment","check_status"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"f6037251-f767-45af-b87e-48720b7aa8ce","name":"Success check status","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"agent_transaction_id\": \"637553186520953102\"\r\n}\t","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/check_status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Mon, 26 Apr 2021 07:20:21 GMT"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Transaction is success\",\n  \"success\": true,\n  \"status\": 0\n}"},{"id":"62b91922-a892-49fb-8a26-a89685bc34f0","name":"Not success check status","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"agent_transaction_id\": \"637553186520953102\"\r\n}\t","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/check_status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Mon, 26 Apr 2021 08:08:20 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Transaction is not success\",\n    \"success\": false,\n    \"status\": -108\n}"}],"_postman_id":"bbac71b1-2d90-424f-add7-08bd5f5246c5"}],"id":"f7af480a-4853-43b8-b60b-f2a7fd528897","description":"<p><strong><code>check_status</code></strong> - метод, который должен быть выполнен, если в методе <code>pay</code> не получен финальный статус .</p>\n<p>Он используется для получения информации о транзакции, в случае получения некорректного ответа. Метод возвращает значения True или False.</p>\n<p>Если ответ от сервиса не получен или получен нечеткий ответ (например: HTTP status 500), системе агента следует отправить check_status запрос для получения окончательного ответа.</p>\n<p>Рекомендуется следующий режим повтора: первый повтор через 1 минуту, следующие три с промежутком в 5 минут, далее не более одного раза в 30 минут.</p>\n","_postman_id":"f7af480a-4853-43b8-b60b-f2a7fd528897"},{"name":"Получение списка услуг","item":[{"name":"/api/agent/service/list","id":"ea479c5b-0c47-4390-9219-479633538ac6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"token","value":"{{token}}","type":"text"}],"url":"{{url}}/api/agent/service/list","description":"<p><strong><code>service_list</code></strong> - данный запрос возвращает список услуг которые были предоставлены агенту</p>\n<h2 id=\"формат-ответа\">Формат ответа</h2>\n<p>Если запрос обработан корректно, то в ответе возвращается список с активными услугами доступными агенту.</p>\n<p>Параметры ответа:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Тег</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Int</td>\n<td>Индентификатор услуги на стороне InterHub</td>\n</tr>\n<tr>\n<td>name</td>\n<td>String</td>\n<td>Наименование услуги</td>\n</tr>\n<tr>\n<td>min_amount</td>\n<td>Double</td>\n<td>Минимальная сумма для данной услуги</td>\n</tr>\n<tr>\n<td>max_amount</td>\n<td>Double</td>\n<td>Максимальная сумма для данной услуги</td>\n</tr>\n<tr>\n<td>type</td>\n<td>String</td>\n<td>Тип услуги</td>\n</tr>\n<tr>\n<td>fields</td>\n<td>Array</td>\n<td>Этот параметр содержит информацию, которая должна быть отправлена в параметре <code>params</code>.</td>\n</tr>\n<tr>\n<td>value_list</td>\n<td>Array</td>\n<td>В этом параметре указывается название и id услуги</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","agent","service","list"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"2990b023-4d5e-4476-a396-5ee9c40f8b40","name":"Success","originalRequest":{"method":"GET","header":[{"key":"token","value":"{{token}}","type":"text"}],"url":"{{url}}/api/agent/service/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 27 Apr 2021 07:37:04 GMT"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 872,\n        \"name\": \"Ucell\",\n        \"min_amount\": 0.1,\n        \"max_amount\": 95.36,\n        \"type\": \"PIN\",\n        \"fields\": []\n    },\n    {\n        \"id\": 872,\n        \"name\": \"Beeline\",\n        \"min_amount\": 0.1,\n        \"max_amount\": 95.36,\n        \"type\": \"PIN\",\n        \"fields\": []\n    },\n    {\n        \"id\": 872,\n        \"name\": \"Salamander\",\n        \"min_amount\": 0.1,\n        \"max_amount\": 95.36,\n        \"type\": \"PIN\",\n        \"fields\": []\n    }\n]"}],"_postman_id":"ea479c5b-0c47-4390-9219-479633538ac6"}],"id":"5541f33c-6a21-4ceb-b14c-7716911dd1bd","description":"<p><strong><code>service_list</code></strong> - данный запрос возвращает список услуг, которые были предоставлены агенту.</p>\n","_postman_id":"5541f33c-6a21-4ceb-b14c-7716911dd1bd"},{"name":"Проверка баланса","item":[{"name":"/api/agent/deposit","id":"a2d569b6-70ac-4f68-a432-3a5cabb20921","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"token","value":"{{token}}","type":"text"}],"url":"{{url}}/api/agent/deposit","description":"<p><strong><code>deposit</code></strong> - данный запрос производится для получения баланса агента</p>\n<p>Параметры ответа:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Имя</th>\n<th>Тип</th>\n<th>Описание</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>balance</td>\n<td>Double</td>\n<td>Баланс агента на стороне IH</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>Double</td>\n<td>Код курса валюты</td>\n</tr>\n<tr>\n<td>over_balance</td>\n<td>Double</td>\n<td>Показывает сколько денег осталось до достижения <code>over_limit</code></td>\n</tr>\n<tr>\n<td>over_limit</td>\n<td>Double</td>\n<td>Поставленный лимит за пределами основного баланса</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","agent","deposit"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"ea5e2dfd-209a-498b-9ed6-db74dcad2291","name":"Success","originalRequest":{"method":"GET","header":[{"key":"token","value":"{{token}}","type":"text"}],"url":"{{url}}/api/agent/deposit"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"74"},{"key":"Date","value":"Tue, 27 Apr 2021 07:38:26 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"balance\": 655929.26,\n    \"currency\": 860,\n    \"over_balance\": 9940300,\n    \"over_limit\": 0\n}"}],"_postman_id":"a2d569b6-70ac-4f68-a432-3a5cabb20921"}],"id":"e87f8e1c-da98-419a-b006-200405a5d2a2","description":"<p><strong><code>deposit</code></strong> - данный запрос производится для получения баланса агента.</p>\n","_postman_id":"e87f8e1c-da98-419a-b006-200405a5d2a2"},{"name":"Ежедневная сверка","item":[],"id":"3eb6e7c4-2703-4ec1-8cfa-54a5ebf8e4e3","description":"<p>Агент ежесуточно (до 7 часов 00 минут 00 секунд времени по Ташкенту) в день, следующий за отчетным днём, независимо от количества принятых Платежей, формирует и направляет в OSON Ежедневный Реестр принятых платежей за отчетный операционный день в формате .csv по электронной почте на адрес: <a href=\"mailto:report@oson.uz\">report@oson.uz</a>.</p>\n<p>Ежедневный Реестр Агента включает только успешно проведенные Платежи.</p>\n<ol>\n<li>Реестр выгружается в формате .csv (разделитель «;»),</li>\n<li>Перенос строки – CRLF,</li>\n<li>Кодировка файла - Windows-1251,</li>\n<li>Наименование файла «Наименование агента.csv». (название агента – название агента, указанное в договоре).</li>\n</ol>\n<p>В качестве идентификатора Платежа выступают:</p>\n<ol>\n<li>Идентификатор платежа поставщика (например tr_id:12345679),</li>\n<li>SID/ аккаунт,</li>\n<li>Дата и время платежа,</li>\n<li>Сумма,</li>\n<li>Валюта,</li>\n<li>Услуга.</li>\n</ol>\n","_postman_id":"3eb6e7c4-2703-4ec1-8cfa-54a5ebf8e4e3"},{"name":"Коды ошибок","item":[],"id":"3c9fd865-6b61-44e4-988b-1ffedd031cf6","description":"<p><strong><code>0</code></strong> - <em>Success</em></p>\n<p><strong><code>1</code></strong> - <em>In processing</em></p>\n<p><strong><code>-100</code></strong> - <em>Unauthorized</em></p>\n<p><strong><code>-101</code></strong> - <em>Paramaters are missing</em></p>\n<p><strong><code>-102</code></strong> - <em>Paramaters are invalid</em></p>\n<p><strong><code>-103</code></strong> - <em>Merchant not found</em></p>\n<p><strong><code>-104</code></strong> - <em>You can not pay for this merchant</em></p>\n<p><strong><code>-105</code></strong> - <em>Amount is less from minimum</em></p>\n<p><strong><code>-106</code></strong> - <em>Amount is greater from maximum</em></p>\n<p><strong><code>-107</code></strong> - <em>Transaction not found</em></p>\n<p><strong><code>-108</code></strong> - <em>Transaction is not success</em></p>\n<p><strong><code>-109</code></strong> - <em>Transaction is not valid</em></p>\n<p><strong><code>-110</code></strong> - <em>Account not found</em></p>\n<p><strong><code>-111</code></strong> - <em>Deposit is not enough</em></p>\n<p><strong><code>-112</code></strong> - <em>Payment authorization error</em></p>\n<p><strong><code>-113</code></strong> - <em>Identification is not valid</em></p>\n<p><strong><code>-114</code></strong> - <em>Amount is not valid</em></p>\n<p><strong><code>-115</code></strong> - <em>Method not allowed</em></p>\n<p><strong><code>-116</code></strong> - <em>Deposit is not found</em></p>\n<p><strong><code>-117</code></strong> - <em>Transaction is too old</em></p>\n<p><strong><code>-118</code></strong> - <em>Transaction is duplicate</em></p>\n<p><strong><code>-119</code></strong> - <em>Agent is not active at the moment</em></p>\n<p><strong><code>-135</code></strong> <em>- Technical problems on the part of the supplier</em></p>\n<p><strong><code>-136</code></strong> - <em>Not enough gift cards</em></p>\n<p><strong><code>-137</code></strong> - <em>The amount is greater than the allowed limit</em></p>\n<p><strong><code>-139</code></strong> - Required fields are not fully</p>\n<p><strong><code>-140</code></strong> - <em>The monthly limit is exceeded for this account</em></p>\n<p><strong><code>-141</code></strong> - <em>The daily limit is exceeded for this account</em></p>\n<p><strong><code>-142</code></strong> - The service not active</p>\n<p><strong><code>-144</code></strong> - The branch is not available</p>\n<p><strong><code>-145</code></strong> - Merchant side error</p>\n<p><strong><code>-146</code></strong> - Pay time exceeded</p>\n<p><strong><code>-147</code></strong> - Error! This invoice already paid.</p>\n<p><strong><code>-156</code></strong> - The balance is not enough.</p>\n<p><strong><code>-999</code></strong> - <em>Unknown error</em></p>\n","_postman_id":"3c9fd865-6b61-44e4-988b-1ffedd031cf6"},{"name":"Получение списка транзакций","item":[{"name":"Transactions list","id":"a52449a7-a703-46c3-929a-9d380834a8dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"api/agent/transaction/list","description":"<p>Этот метод позволяет получить список успешных транзакций за день.</p>\n","urlObject":{"path":["agent","transaction","list"],"host":["api"],"query":[],"variable":[]}},"response":[{"id":"cce4833c-3494-4269-bfee-e6650a0c5f1c","name":"Transactions list","originalRequest":{"method":"GET","header":[],"url":{"raw":"api/agent/transaction/list?date=date","host":["api"],"path":["agent","transaction","list"],"query":[{"key":"date","value":"date","description":"дд.мм.гггг"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{  \r\n \"message\": \"Success\",\r\n    \"success\": true,\r\n    \"status\": 0,\r\n    \"data\": [\r\n               {\r\n            \"transaction_id\": 1674245575322,\r\n            \"account\": \"998883985588\",\r\n            \"agent_transaction_id\": \"58555539\",\r\n            \"amount\": 1000.0000,\r\n            \"time\": \"20.01.2023 23:59:35\",\r\n            \"service_id\": 96,\r\n            \"service_name\": \"Mobiuz - Uzbekistan\"\r\n        }}"}],"_postman_id":"a52449a7-a703-46c3-929a-9d380834a8dc"}],"id":"52f3ce6b-9412-45f3-8f39-d5aa35f23e1b","description":"<p>Используя данный метод можно получить список успешных транзакций за день в json формате.</p>\n<p>Параметры:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Наименование</strong></th>\n<th><strong>Тип</strong></th>\n<th><strong>Описание</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>date</td>\n<td>date</td>\n<td>дд.мм.гггг  <br /></td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"52f3ce6b-9412-45f3-8f39-d5aa35f23e1b"},{"name":"Часто задаваемые вопросы","item":[],"id":"bab6a6fb-44b8-4b58-8325-f5e233012653","description":"<p>Вопрос:</p>\n<p>Вопрос по <code>agent_transaction_id</code>. Этот идентификатор должен быть сквозной в запросах <code>check</code> и <code>pay</code> в рамках одной транзакции? А в случае с <code>Voucher</code> также требуется запрос <code>check</code>/<code>calculate</code>, может ли <code>agent_transaction_id</code> в <code>check</code>/<code>calculate</code> отличаться от <code>agent_transaction_id</code> в check и pay?</p>\n<p>Ответ:<br />Да, параметр <code>agent_transaction_id</code> является<br />сквозным в запросах <code>check</code> и <code>pay</code> в рамках одной транзакции. Это одно и то же значение. В<br />запросе <code>pay</code> Агент не может дать другое значение для параметра <code>agent_transaction_id</code>. Агент может дать в этом параметре<br />другое значение, но транзакция может не пройти. Например, если у Агента другая валюта, а у Поставщика – другая. Агент в <code>pay</code> запросе должен использовать то же значение параметра <code>agent_transaction_id</code>, что было использовано в <code>check</code> запросе.<br />Иначе транзакция не пройдёт.</p>\n<p>Вопрос:</p>\n<p>Не могли бы вы предоставить нам данные хотя бы по одному сервису каждого типа: Top Up, Voucher, PIN?</p>\n<p>Ответ:</p>\n<p>Top Up - Ucell, Voucher - PUBG, PIN - KSA.</p>\n","_postman_id":"bab6a6fb-44b8-4b58-8325-f5e233012653"}],"id":"188e138e-8603-4dba-ba12-dc7695160eb9","_postman_id":"188e138e-8603-4dba-ba12-dc7695160eb9","description":""},{"name":"Documentation in English","item":[{"name":"Introduction","item":[],"id":"a4ac8bda-d079-4ca0-8fff-b210a355c5f4","description":"<p><strong>Introduction</strong></p>\n<p>Protocol Agent API provides access to global services through a single gateway.</p>\n<p>Production environment: <a href=\"https://api.interhub.ae\">https://api.interhub.ae</a></p>\n<p><strong>Types of transactions.</strong><br />InterHub agents can make 3 types of payment: Top Up, Voucher, PIN.</p>\n<img src=\"https://content.pstmn.io/0ce9c406-0ecc-4e09-b76e-1fe9abae0325/aW1hZ2UucG5n\" alt=\"Figure%201.%20Top%20Up.\" width=\"772\" height=\"390\" />\n\n<p>Figure 1 above shows the Top Up transaction. First of all, the agent sends a check request. If InterHub returns \"success\", the agent sends a pay request. If the payment is successful, InterHub returns \"success\" and the process is completed. Figure 1 shows the successful outcome of the events. However, after each request is sent by the agent, if InterHub returns \"error\", the process ends.</p>\n<p>When an agent sends a pay request, InterHub can return 3 different responses: success, process, error. In case InterHub returned \"process\", it is recommended to send a \"check_status\" request every 5 minutes so as not to load the server.</p>\n<img src=\"https://content.pstmn.io/cc5fe041-9165-41be-92aa-98ad00d7b779/aW1hZ2UucG5n\" alt=\"Figure%202.%20Voucher.\" width=\"767\" height=\"401\" />\n\n<p>Figure 2 shows the Voucher transaction. In this transaction, the agent, first of all, sends a \"calculate request\" to InterHub. If this request was successful, then everything works as in the Top Up transaction described above.</p>\n<img src=\"https://content.pstmn.io/1c73f7b2-bc82-4b5b-a5c8-08bdc5fd45e0/aW1hZ2UucG5n\" alt=\"Figure%203.%20PIN.\" width=\"829\" height=\"438\" />\n\n<p>Figure 3 above shows the PIN transaction. The difference between this transaction and the previous two is that in the PIN transaction, the agent comes to InterHub with a specific request: where exactly, to which account to send what amount. The fixed_amount parameter is used here - a fixed amount.</p>\n<p><strong>What does the protocol allow?</strong><br />1. To check the possibility of making a payment - <code>check</code><br />2. Pay for services to clients of \"InterHub\" - <code>pay</code><br />3. Check the current status of the transfer transaction - <code>check_status</code><br />4. Allows agents to view their balance - <code>deposit</code><br />5. Makes it possible to get information about all services via the <code>service_list</code></p>\n<p><strong>Authorization</strong><br />- Authorization takes place using a token.<br />- The <code>url</code> and <code>token</code> are provided by the managers during the integration process.</p>\n<p><strong>How does it work?</strong></p>\n<p>There are two types of payment: fixed payment (voucher) and exact payment amount (top-up).<br />If the service to be paid for requires a certain amount, agents will need to use the <code>calculate</code> method.<br />Service types are defined via the <code>service_list</code> API.<br />Agents must send a check request to verify the possibility of making a payment ({{url}}/api/payment/check).</p>\n<p>If a successful response is received to the <code>check</code> request, the agent can confirm the payment using the pay API. ( {{url}}/api/payment/pay )<br />API <code>check_status</code> is used to get the final payment status. This API is used when the final payment status is not specified in the <code>pay</code> request. ( {{url}}/api/payment/check_status )<br />Upon successful final payment status, funds are automatically transferred to the user's account from your agency account.</p>\n<p><strong>Interaction format.</strong><br />The API Protocol for accepting payments is based on the principles of REST architecture.<br />The API uses HTTPS requests as the main protocol.<br />API parameters are placed in the JSON body of the request. In POST and GET requests, parameters are placed in the request URL.<br />The API always returns a response in JSON format.</p>\n<p>LLC \"BRIO GROUP\".</p>\n","_postman_id":"a4ac8bda-d079-4ca0-8fff-b210a355c5f4"},{"name":"Getting the amount","item":[{"name":"/api/agent/payment/check/calculate Copy","id":"0cc5735f-43ad-4c44-b026-fe1e73c82651","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"service_id\": 111,\n\t\"account\": \"example@gmail.com\",\n\t\"agent_transaction_id\":\"agent_98765431\",\n    \"params\":{}\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/agent/payment/check/calculate","description":"<p>If the <code>fields</code> are not empty inside the service received from the API \"List of services\",<br />then these <code>fields</code> inside <code>params</code> must be sent in a key-value pair. If the value required=true,<br />it is mandatory to send.<br />In a key-value pair:<br />Key – field name,<br />Value – associated with the field.type:</p>\n<ul>\n<li>if <code>field.type</code>=”LIST\", the id of one of the items in the <code>value_list</code> is sent,</li>\n<li>if <code>field.type</code>=”TEXT\", plain text is sent.<br />  Consider an example of filling in <code>params</code>.<br />  If the service taken from the \"List of Services\" API looks like this (this is just an example):</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"id\": 9983,\n  \"name\": \"Vodafone\",\n  \"category_name\": \"Мобильные операторы\",\n  \"type\": \"TOP_UP_FIXED\",\n  \"min_amount\": 11350.00,\n  \"max_amount\": 11350000.00,\n  \"fields\": [\n    {\n      \"id\": 500,\n      \"name\": \"nominal\",\n      \"type\": \"LIST\",\n      \"required\": true,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": [\n        {\n          \"id\": 3333,\n          \"title\": \"TRY 80.00\",\n          \"condition\": \"A\",\n          \"field_id\": 54,\n          \"parent_id\": -1\n        },\n        {\n          \"id\": 4444,\n          \"title\": \"TRY 100.00\",\n          \"condition\": \"A\",\n          \"field_id\": 54,\n          \"parent_id\": -1\n        }\n      ]\n    },\n    {\n      \"id\": 501,\n      \"name\": \"sender_name\",\n      \"type\": \"TEXT\",\n      \"required\": true,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": []\n    },\n    {\n      \"id\": 502,\n      \"name\": \"receiver_name\",\n      \"type\": \"TEXT\",\n      \"required\": false,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": []\n    }\n  ]\n}\n\n</code></pre>\n<p>Then the filling of <code>params</code> will be as follows:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">\"params\": {\n    \"nominal\": 3333,\n    \"sender_name\" : \"Falonchi Falonchiyev 1\",\n    \"receiver_name\" : \"Falonchi Falonchiyev 2\" - it is not required\n}\n\n</code></pre>\n","urlObject":{"path":["api","agent","payment","check","calculate"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"d1a37438-5e03-45a8-96f5-778d6844a68f","name":"Success Calculate","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"service_id\": 123,\n\t\"account\": \"example@gmail.com\",\n\t\"agent_transaction_id\":\"agent_987654312\"\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/check/calculate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Mon, 26 Apr 2021 07:15:04 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Success\",\n    \"success\": true,\n    \"status\": 0,\n    \"account\": \"example@gmail.com\",\n    \"amount\": 1,\n    \"transaction_id\": 1619421299146,\n    \"amount_in_currency\": 0,\n    \"comission\": 0,\n    \"fixed_amount\": 56240.17\n}"},{"id":"9776be59-2965-4877-a60a-89387e31e7ff","name":"Error","originalRequest":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"service_id\": 99,\n\t\"account\": \"example@gmail.com\",\n\t\"agent_transaction_id\":\"agent_987654312\"\n}","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/check/calculate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 27 Apr 2021 07:30:55 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Not enough gift cards\",\n    \"success\": false,\n    \"status\": -136\n}"}],"_postman_id":"0cc5735f-43ad-4c44-b026-fe1e73c82651"}],"id":"9de586d4-6060-48da-96af-fb9d58119be1","description":"<p>This method is used only if the service type is <code>Top-Up-Fixed</code>, <code>PIN</code> or <code>Voucher</code>.</p>\n<p><code>Calculate</code> - API is used to get a fixed amount of the service, as well as to check whether it is possible to make a real payment.<br />The <code>Calculate</code> method must be executed before using the <code>check</code> method.</p>\n<p>After receiving a fixed amount, the agent must use the <code>check</code> method.</p>\n<p><strong>POST</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{{url}}/api/agent/payment/check/calculate\n\n</code></pre>\n<p><strong>/api/agent/payment/check/calculate</strong></p>\n<p>This method is used only if the service type is <code>Top-Up-Fixed</code>, <code>PIN</code> or <code>Voucher</code>.</p>\n<p><code>Calculate</code> - API is used to get a fixed amount of the service and also check whether it is possible to make a real payment.<br />The <code>Calculate</code> method must be executed before using the <code>check</code> method. After receiving a fixed amount, the agent must use the <code>check</code> method.</p>\n<p><strong>Request format</strong><br />Request Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>service_id</td>\n<td>Int</td>\n<td>Identification number of service (InterHub gives it)</td>\n</tr>\n<tr>\n<td>account</td>\n<td>String</td>\n<td>Account or phone number</td>\n</tr>\n<tr>\n<td>agent_transaction_id</td>\n<td>String</td>\n<td>The identification number of the transaction on the Agent's side.This id is not repeated, and each new operation must be accompanied by a new id</td>\n</tr>\n<tr>\n<td>params</td>\n<td>Object</td>\n<td>If you need to enter additional information in addition to <code>account</code>, it is added to this parameter (optional).</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Response format</strong><br />If the request is processed correctly, the response returns information about the possibility of making a payment.If the number 0 is returned in the status tag, the request was successful.</p>\n<p>Response Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>message</td>\n<td>String</td>\n<td>Response from Billing</td>\n</tr>\n<tr>\n<td>success</td>\n<td>Boolean</td>\n<td>Logical indication of a request processing error</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Int</td>\n<td>Payment status. Returns \"success\" or <a href>Error code</a></td>\n</tr>\n<tr>\n<td>account</td>\n<td>String</td>\n<td>The account sent by the agent</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Double</td>\n<td>Payment amount (currency depends on the contract)</td>\n</tr>\n<tr>\n<td>transaction_id</td>\n<td>String</td>\n<td>Transaction ID</td>\n</tr>\n<tr>\n<td>amount_in_currecy</td>\n<td>Double</td>\n<td>Payment currency. Here we return the amount with four digits after the decimal point.</td>\n</tr>\n<tr>\n<td>comission</td>\n<td>Int</td>\n<td>Comission</td>\n</tr>\n<tr>\n<td>fixed_amount</td>\n<td>Double</td>\n<td>Fixed amount. Here we return the amount with four digits after the decimal point.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Response with errors</strong></p>\n<p>If the server could not process the request, the API returns a response with the error code that occurred. Response Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>message</td>\n<td>String</td>\n<td>Text description of the error.</td>\n</tr>\n<tr>\n<td>success</td>\n<td>Boolean</td>\n<td>Logical indication of a request processing error.</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Int</td>\n<td>The corresponding <a href>error code</a>.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Headers</strong></p>\n<p>token {{token}}</p>\n<p><strong>BODY</strong> raw</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"service_id\": 111,\n    \"account\": \"example@gmail.com\",\n    \"agent_transaction_id\":\"agent_98765431\",\n    \"params\":{}\n}\n\n</code></pre>\n","_postman_id":"9de586d4-6060-48da-96af-fb9d58119be1"},{"name":"Checking the possibility of making a payment","item":[{"name":"/api/payment/check","id":"a810b9b0-0632-4128-a31e-32213ef87203","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{url}}/api/payment/check","description":"<p>If the fields are not empty inside the service received from the API \"List of services\",<br />then these fields inside params must be sent in a key-value pair. If the value required=true,<br />it is mandatory to send.<br />In a key-value pair:<br />Key – field name,  </p>\n<p>Value – associated with the field.type:</p>\n<ul>\n<li>if field.type=”LIST\", the id of one of the items in the value_list is sent,</li>\n<li>if field.type=”TEXT\", plain text is sent.<br />  Consider an example of filling in params.<br />  If the service taken from the \"List of Services\" API looks like this (this is just an example):</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"id\": 9983,\n  \"name\": \"Vodafone\",\n  \"category_name\": \"Мобильные операторы\",\n  \"type\": \"TOP_UP_FIXED\",\n  \"min_amount\": 11350.00,\n  \"max_amount\": 11350000.00,\n  \"fields\": [\n    {\n      \"id\": 500,\n      \"name\": \"nominal\",\n      \"type\": \"LIST\",\n      \"required\": true,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": [\n        {\n          \"id\": 3333,\n          \"title\": \"TRY 80.00\",\n          \"condition\": \"A\",\n          \"field_id\": 54,\n          \"parent_id\": -1\n        },\n        {\n          \"id\": 4444,\n          \"title\": \"TRY 100.00\",\n          \"condition\": \"A\",\n          \"field_id\": 54,\n          \"parent_id\": -1\n        }\n      ]\n    },\n    {\n      \"id\": 501,\n      \"name\": \"sender_name\",\n      \"type\": \"TEXT\",\n      \"required\": true,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": []\n    },\n    {\n      \"id\": 502,\n      \"name\": \"receiver_name\",\n      \"type\": \"TEXT\",\n      \"required\": false,\n      \"service_id\": 9983,\n      \"parent_id\": -1,\n      \"value_list\": []\n    }\n  ]\n}\n\n</code></pre>\n<p>Then the filling of params will be as follows:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">\"params\": {\n    \"nominal\": 3333,\n    \"sender_name\" : \"Falonchi Falonchiyev 1\",\n    \"receiver_name\" : \"Falonchi Falonchiyev 2\" - it is not required\n}\n\n</code></pre>\n","urlObject":{"path":["api","payment","check"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"aa796ca6-7c5c-4cb5-bcf0-bf119144ec47","name":"Success Check","originalRequest":{"method":"POST","header":[],"url":"{{url}}/api/payment/check"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"message\": \"Success\",\r\n  \"success\": true,\r\n  \"status\": 0,\r\n  \"account\": \"550831976\",\r\n  \"amount\": 1000.00,\r\n  \"transaction_id\": 1619421479155,\r\n  \"amount_in_currency\": 1000.00,\r\n  \"comission\": 0,\r\n  \"currency\": \"UZS\"\r\n}"},{"id":"60f10187-0b49-4db1-85a7-1442a0ba870d","name":"Error - 500","originalRequest":{"method":"POST","header":[],"url":"{{url}}/api/payment/check"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"timestamp\": \"2021-04-26T07:59:59.922+0000\",\r\n    \"status\": 500,\r\n    \"error\": \"Internal Server Error\",\r\n    \"message\": \"No message available\",\r\n    \"path\": \"/api/payment/check\"\r\n}"}],"_postman_id":"a810b9b0-0632-4128-a31e-32213ef87203"}],"id":"5cdc245e-ffcf-49b1-9c14-13ae9a82c2f0","description":"<p>check - With this request you need to check whether it is possible to pay for this service.</p>\n<p>The method must be executed before using the <code>pay</code> method.</p>\n<p><strong>POST</strong></p>\n<p>/api/payment/check</p>\n<p>{{url}}/api/payment/check</p>\n<p><code>check</code> - With this request you need to check whether it is possible to pay for this service. Must be executed before using the <code>pay</code> method.</p>\n<p><strong>Request format</strong><br />Request Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Tag</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>service_id</td>\n<td>Int</td>\n<td>Service Identification number (Transmitted by InterHub).</td>\n</tr>\n<tr>\n<td>account</td>\n<td>String</td>\n<td>Account or phone number.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Double</td>\n<td>The amount sent by the agent.</td>\n</tr>\n<tr>\n<td>agent_transaction_id</td>\n<td>String</td>\n<td>The identification number of the transaction on the Agent's side.This id is not repeated, and each new operation must be accompanied by a new id.</td>\n</tr>\n<tr>\n<td>params</td>\n<td>Object</td>\n<td>Use this parameter if you need to enter additional information (optional).</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Responce format</strong></p>\n<p>If the request is processed correctly, the response returns information about the possibility of making a payment.If the number 0 is returned in the <code>status</code> tag, the request was successful.</p>\n<p>Response Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Tag</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>message</td>\n<td>String</td>\n<td>Responce from billing</td>\n</tr>\n<tr>\n<td>success</td>\n<td>Boolean</td>\n<td>Logical indication of a request processing error</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Int</td>\n<td>Payment status. Returns \"success\" or <a href>Error code</a></td>\n</tr>\n<tr>\n<td>account</td>\n<td>String</td>\n<td>The account sent by the agent</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>Double</td>\n<td>Payment amount (currency depends on the contract)</td>\n</tr>\n<tr>\n<td>transaction_id</td>\n<td>String</td>\n<td>Transaction ID</td>\n</tr>\n<tr>\n<td>amount_in_currency</td>\n<td>Double</td>\n<td>Payment currency</td>\n</tr>\n<tr>\n<td>comission</td>\n<td>Int</td>\n<td>Comission</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>String</td>\n<td>The currency of the service for which the payment was made</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>HEADERS</strong></p>\n<p>token {{token}}</p>\n<p><strong>BODY</strong> raw</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{  \n  \"service_id\":488,\n  \"account\": \"550831976\",\n  \"agent_transaction_id\":\"637553186520953102\",\n  \"amount\":1000,\n  \"params\": {}\n}\n\n</code></pre>\n","_postman_id":"5cdc245e-ffcf-49b1-9c14-13ae9a82c2f0"},{"name":"Payment confirmation","item":[{"name":"/api/payment/pay","id":"251b2856-acf4-4c0a-9b8a-d90c8e232989","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"agent_transaction_id\": \"637553186520953102\"\n}\t","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/pay","urlObject":{"path":["api","payment","pay"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"37b276c6-92c9-46ab-bd76-e81fd5d10c8c","name":"Success Pay","originalRequest":{"method":"POST","header":[],"url":"{{url}}/api/payment/check_status"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n  \"message\": \"Transaction is success\",\r\n  \"success\": true,\r\n  \"status\": 0\r\n}"},{"id":"4567c576-c3e8-47d9-9c16-3b2dc72b3563","name":"Proccessing","originalRequest":{"method":"POST","header":[],"url":"{{url}}/api/payment/check_status"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Transaction is in proccessing\",\r\n    \"success\": true,\r\n    \"status\": 1\r\n}"}],"_postman_id":"251b2856-acf4-4c0a-9b8a-d90c8e232989"}],"id":"1eaa0137-d64e-4ff5-a645-7d9f34d0d1e7","description":"<p><code>pay</code> is the method that must be executed after the <code>check</code> method returns True in the \"success\" parameter.<br />This method is used in order to conduct a real transaction.</p>\n<p><strong>POST</strong></p>\n<p>/api/payment/pay</p>\n<p>{{url}}/api/payment/pay</p>\n<p><code>pay</code> is the method that should be executed after the <code>check</code> method returns the True value in the \"success\" parameter.<br />This method is used in order for a real transaction to be executed.</p>\n<p><strong>Request format</strong></p>\n<p>Request parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>agent_transaction_id</td>\n<td>String</td>\n<td>The identification number of the transaction on the Agent's side.This id is not repeated, and each new operation must be accompanied by a new id</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Responce format</strong></p>\n<p>If the request is processed correctly, the payment information is returned in the response. Additional information is returned in the <code>data</code> parameter.</p>\n<p>Response Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>message</td>\n<td>String</td>\n<td>Response from the server</td>\n</tr>\n<tr>\n<td>success</td>\n<td>Boolean</td>\n<td>Logical indication of a request processing error</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Int</td>\n<td>Transaction status. Returns \"success\" or <a href=\"https://\">Error code</a></td>\n</tr>\n<tr>\n<td>data</td>\n<td>Object</td>\n<td>Additional parameters or transaction information</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>HEADERS</strong></p>\n<p>token {{token}}</p>\n<p><strong>BODY</strong> raw</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"agent_transaction_id\": \"637553186520953102\"\n}\n\n</code></pre>\n","_postman_id":"1eaa0137-d64e-4ff5-a645-7d9f34d0d1e7"},{"name":"Checking the payment status","item":[{"name":"/api/payment/check_status","id":"314d8e22-def3-4171-baff-31ee50e0a400","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"token","value":"{{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"agent_transaction_id\": 1619421479155\n}\t","options":{"raw":{"language":"json"}}},"url":"{{url}}/api/payment/check_status","urlObject":{"path":["api","payment","check_status"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"314d8e22-def3-4171-baff-31ee50e0a400"}],"id":"4a3b776e-e088-48ec-ab12-d833038ce8ac","description":"<p><code>check_status</code> is the method that should be executed if the final status is not received in the <code>pay</code> method.</p>\n<p>It is used to get information about the transaction, in case of receiving an incorrect response. The method returns True or False values.</p>\n<p>If no response is received from the service or a fuzzy response is received (for example: HTTP status 500), the agent's system should send a <code>check_status</code> request to receive a final response.</p>\n<p>The following repeat mode is recommended: the first repeat after 1 minute, the next three with an interval of 5 minutes, then no more than once every 30 minutes.</p>\n<p><strong>POST</strong></p>\n<p>/api/payment/check_status</p>\n<p>{{url}}/api/payment/check_status</p>\n<p><code>check_status</code> is the method that should be executed if the final status is not received in the <code>pay</code> method. It is used to get information about the transaction in case of receiving an incorrect response. Returns True or False values. If no response is received from the service or a fuzzy response is received (for example: HTTP status 500), the agent's system should send a <code>check_status</code> request to receive a final response. The following repeat mode is recommended: the first repeat after 1 minute, the next three with an interval of 5 minutes, then no more than once every 30 minutes.</p>\n<p><strong>Request format</strong><br />Request Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>agent_transaction_id</td>\n<td>String</td>\n<td>The identification number of the transaction on the Agent's side.This id is not repeated, and each new operation must be accompanied by a new id</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Responce format</strong></p>\n<p>If the request is processed correctly, the payment information is returned in the response. Additional information is returned in the data parameter.</p>\n<p>Response Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>message</td>\n<td>String</td>\n<td>Responce from the server</td>\n</tr>\n<tr>\n<td>success</td>\n<td>Boolean</td>\n<td>Logical indication of a request processing error</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Int</td>\n<td>Transaction status. Returns \"success\" or <a href>Error code</a></td>\n</tr>\n<tr>\n<td>data</td>\n<td>Object</td>\n<td>Additional parameters or transaction information</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>HEADERS</strong></p>\n<p>token {{token}}</p>\n<p><strong>BODY</strong> raw</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"agent_transaction_id\": 1619421479155\n}    \n\n</code></pre>\n","_postman_id":"4a3b776e-e088-48ec-ab12-d833038ce8ac"},{"name":"Getting a list of services","item":[{"name":"/api/agent/service/list","id":"4177d66d-3c3c-4ea7-bd15-29a665e7e122","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{url}}/api/agent/service/list","urlObject":{"path":["api","agent","service","list"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"6c572924-2b86-42be-8eb1-a188a2f873f3","name":"Success","originalRequest":{"method":"GET","header":[]},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"[\r\n    {\r\n        \"id\": 872,\r\n        \"name\": \"Ucell\",\r\n        \"min_amount\": 0.1,\r\n        \"max_amount\": 95.36,\r\n        \"type\": \"PIN\",\r\n        \"fields\": []\r\n    },\r\n    {\r\n        \"id\": 872,\r\n        \"name\": \"Beeline\",\r\n        \"min_amount\": 0.1,\r\n        \"max_amount\": 95.36,\r\n        \"type\": \"PIN\",\r\n        \"fields\": []\r\n    },\r\n    {\r\n        \"id\": 872,\r\n        \"name\": \"Salamander\",\r\n        \"min_amount\": 0.1,\r\n        \"max_amount\": 95.36,\r\n        \"type\": \"PIN\",\r\n        \"fields\": []\r\n    }\r\n]\r\n"}],"_postman_id":"4177d66d-3c3c-4ea7-bd15-29a665e7e122"}],"id":"517c70d9-dbbb-482a-84ce-db2a85ad09b4","description":"<p><code>service_list</code> - this request returns a list of services that were provided to the agent.</p>\n<p><strong>GET</strong></p>\n<p>/api/agent/service/list</p>\n<p>{{url}}/api/agent/service/list</p>\n<p><code>service_list</code> - this request returns a list of services that were provided to the agent</p>\n<p>Response format<br />If the request is processed correctly, the response returns a list with active services available to the agent.</p>\n<p>Response Parameters:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Tag</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>Int</td>\n<td>Service ID on the InterHub side</td>\n</tr>\n<tr>\n<td>name</td>\n<td>String</td>\n<td>Name of the service</td>\n</tr>\n<tr>\n<td>min_amount</td>\n<td>Double</td>\n<td>Minimum amount for this service</td>\n</tr>\n<tr>\n<td>max_amount</td>\n<td>Double</td>\n<td>Maximum amount for this service</td>\n</tr>\n<tr>\n<td>type</td>\n<td>String</td>\n<td>Type of service</td>\n</tr>\n<tr>\n<td>fields</td>\n<td>Array</td>\n<td>This parameter contains the information that should be sent in the <code>params</code> parameter.</td>\n</tr>\n<tr>\n<td>value_list</td>\n<td>Array</td>\n<td>This parameter specifies the name and id of the service</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"517c70d9-dbbb-482a-84ce-db2a85ad09b4"},{"name":"Checking the balance","item":[{"name":"/api/agent/deposit","id":"f83ecea9-19e3-4e33-982e-72965520ddce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{url}}/api/agent/deposit","urlObject":{"path":["api","agent","deposit"],"host":["{{url}}"],"query":[],"variable":[]}},"response":[{"id":"6cf78256-985a-4550-aa36-0773593799a2","name":"New Request","originalRequest":{"method":"GET","header":[]},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"balance\": 655929.26,\r\n    \"currency\": 860,\r\n    \"over_balance\": 9940300,\r\n    \"over_limit\": 0\r\n}"}],"_postman_id":"f83ecea9-19e3-4e33-982e-72965520ddce"}],"id":"c6e98e98-8cc7-499e-a489-e2c23c5a21b1","description":"<p><code>deposit</code> - this request is made to get the agent's balance.</p>\n<p><strong>GET</strong></p>\n<p>/api/agent/deposit</p>\n<p>{{url}}/api/agent/deposit</p>\n<p><code>deposit</code> - this request is made to get the agent's balance.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>balance</td>\n<td>Double</td>\n<td>Agent's balance on the InterHub side</td>\n</tr>\n<tr>\n<td>currency</td>\n<td>Double</td>\n<td>Currency exchange rate code</td>\n</tr>\n<tr>\n<td>over_balance</td>\n<td>Double</td>\n<td>Shows how much money is left before reaching over_limit</td>\n</tr>\n<tr>\n<td>over_limit</td>\n<td>Double</td>\n<td>The set limit is outside the main balance</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"c6e98e98-8cc7-499e-a489-e2c23c5a21b1"},{"name":"Daily reconciliation","item":[],"id":"e8339f78-f43a-43b6-81b3-8633dc9b86dc","description":"<p>The Agent generates and sends to OSON a Daily Register of Accepted payments for the reporting operational day in the format every day (up to 7 hours 00 minutes 00 seconds of Tashkent time) on the day following the reporting day, regardless of the number of accepted Payments.csv by email to: <a href=\"mailto:report@oson.uz\">report@oson.uz</a> .</p>\n<p>The Agent's daily Register includes only successfully completed Payments.</p>\n<ol>\n<li>The registry is uploaded in the format .csv (delimiter \";\"),</li>\n<li>Line break – CRLF,</li>\n<li>File encoding - Windows-1251,</li>\n<li>The name of the file is \"Agent name.csv\". (agent's name is the name of the agent specified in the contract).</li>\n</ol>\n<p>The Payment identifier is:</p>\n<ol>\n<li>Vendor payment ID (for example tr_id:12345679),</li>\n<li>SID/account,</li>\n<li>Payment date and time,</li>\n<li>Amount,</li>\n<li>Currency,</li>\n<li>Service.</li>\n</ol>\n","_postman_id":"e8339f78-f43a-43b6-81b3-8633dc9b86dc"},{"name":"Error codes","item":[],"id":"a605a473-ff1c-47b2-a4f8-535429079d9e","description":"<p><strong><code>0</code></strong> - <em>Success</em></p>\n<p><strong><code>1</code></strong> - <em>In processing</em></p>\n<p><strong><code>-100</code></strong> - <em>Unauthorized</em></p>\n<p><strong><code>-101</code></strong> - <em>Paramaters are missing</em></p>\n<p><strong><code>-102</code></strong> - <em>Paramaters are invalid</em></p>\n<p><strong><code>-103</code></strong> - <em>Merchant not found</em></p>\n<p><strong><code>-104</code></strong> - <em>You can not pay for this merchant</em></p>\n<p><strong><code>-105</code></strong> - <em>Amount is less from minimum</em></p>\n<p><strong><code>-106</code></strong> - <em>Amount is greater from maximum</em></p>\n<p><strong><code>-107</code></strong> - <em>Transaction not found</em></p>\n<p><strong><code>-108</code></strong> - <em>Transaction is not success</em></p>\n<p><strong><code>-109</code></strong> - <em>Transaction is not valid</em></p>\n<p><strong><code>-110</code></strong> - <em>Account not found</em></p>\n<p><strong><code>-111</code></strong> - <em>Deposit is not enough</em></p>\n<p><strong><code>-112</code></strong> - <em>Payment authorization error</em></p>\n<p><strong><code>-113</code></strong> - <em>Identification is not valid</em></p>\n<p><strong><code>-114</code></strong> - <em>Amount is not valid</em></p>\n<p><strong><code>-115</code></strong> - <em>Method not allowed</em></p>\n<p><strong><code>-116</code></strong> - <em>Deposit is not found</em></p>\n<p><strong><code>-117</code></strong> - <em>Transaction is too old</em></p>\n<p><strong><code>-118</code></strong> - <em>Transaction is duplicate</em></p>\n<p><strong><code>-119</code></strong> - <em>Agent is not active at the moment</em></p>\n<p><strong><code>-135 - Technical</code></strong> <em>problems on the part of the supplier</em></p>\n<p><strong><code>-136</code></strong> - <em>Not enough gift cards</em></p>\n<p><strong><code>-137</code></strong> - <em>The amount is greater than the allowed limit</em></p>\n<p><strong><code>-139</code></strong> - Required fields is not fully</p>\n<p><strong><code>-140</code></strong> - <em>The monthly limit is exceeded for this account</em></p>\n<p><strong><code>-141</code></strong> - <em>The daily limit is exceeded for this account</em></p>\n<p><strong><code>-142</code></strong> - The service not active</p>\n<p><strong><code>-144</code></strong> - The branch is not available</p>\n<p><strong><code>-145</code></strong> - Merchant side error</p>\n<p><strong><code>-146</code></strong> - Pay time exceeded</p>\n<p><strong><code>-147</code></strong> - Error! This invoice already paid.</p>\n<p><strong><code>-156</code></strong> - The balance is not enough.</p>\n<p><strong><code>-999</code></strong> - <em>Unknown error</em></p>\n","_postman_id":"a605a473-ff1c-47b2-a4f8-535429079d9e"},{"name":"Getting list of transactions","item":[{"name":"Transactions list","id":"bc966b88-532f-4ecc-9254-a3e50d0b34bb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"api/agent/transaction/list","description":"<p>This request gets the list of transactions for a day.</p>\n","urlObject":{"path":["agent","transaction","list"],"host":["api"],"query":[],"variable":[]}},"response":[{"id":"227abe2c-d5c3-4eac-8c97-898fa2adfe2d","name":"Transactions list","originalRequest":{"method":"GET","header":[],"url":{"raw":"api/agent/transaction/list?date=date","host":["api"],"path":["agent","transaction","list"],"query":[{"key":"date","value":"date","description":"dd.mm.yyyy"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{  \r\n \"message\": \"Success\",\r\n    \"success\": true,\r\n    \"status\": 0,\r\n    \"data\": [\r\n               {\r\n            \"transaction_id\": 1674245575322,\r\n            \"account\": \"998883985588\",\r\n            \"agent_transaction_id\": \"58555539\",\r\n            \"amount\": 1000.0000,\r\n            \"time\": \"20.01.2023 23:59:35\",\r\n            \"service_id\": 96,\r\n            \"service_name\": \"Mobiuz - Uzbekistan\"\r\n        }}"}],"_postman_id":"bc966b88-532f-4ecc-9254-a3e50d0b34bb"}],"id":"d3c59f99-0b00-4f02-a3d8-e6f4c918b13a","description":"<p>Using this method, you can get a list of successful transactions for the day in json format.</p>\n<p>Params:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>date</td>\n<td>date</td>\n<td>dd.mm.yyyy. Using this method you can get the lst of successful transactions for a day.</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"d3c59f99-0b00-4f02-a3d8-e6f4c918b13a"},{"name":"FAQ","item":[],"id":"70d982d7-649e-4277-b138-d83fcd7cb6b8","description":"<p>Question:</p>\n<p>Question about <code>agent_transaction_id</code>. Should this identifier be equal in the <code>check</code> and <code>pay</code><br />requests within the same transaction? And in the case of <code>Voucher</code>, a<br /><code>check</code>/<code>calculate</code> request is also required, can the <code>agent_transaction_id</code> in<br /><code>check</code>/<code>calculate</code> differ from the <code>agent_transaction_id</code> in <code>check</code> and <code>pay</code>?</p>\n<p>Answer:</p>\n<p>Yes, the <code>agent_transaction_id</code> parameter is equal in the <code>check</code> and <code>pay</code> requests within the same transaction. This is the same value. In the <code>pay</code> request, the Agent cannot give a different<br />value for the <code>agent_transaction_id</code> parameter. The agent can give a different<br />value in this parameter, but the transaction may not pass. For example, if the<br />Agent has a different currency and the Supplier has a different one. The agent<br />in the <code>pay</code> request must use the same value of the <code>agent_transaction_id</code> parameter<br />that was used in the <code>check</code> request. Otherwise, the transaction will not pass.</p>\n<p>Question:</p>\n<p>Could you provide us with data on at least one service of each type: <code>Top Up</code>, <code>Voucher</code>, <code>PIN</code>?</p>\n<p>Answer:</p>\n<p><code>Top Up</code> - Ucell, <code>Voucher</code> - PUBG, <code>PIN</code> - KSA.</p>\n","_postman_id":"70d982d7-649e-4277-b138-d83fcd7cb6b8"}],"id":"90691e2b-9bc1-43cb-9d4c-838d4d653f26","_postman_id":"90691e2b-9bc1-43cb-9d4c-838d4d653f26","description":""}]}