История изменений
28.06.2023
- Документация приведена к актуальному состоянию
- Добавлен новый API. Полностью изменена система API начиная от url и самих запросов и ответов
Общее
URL для API запросов
https://mychanger.icu/api2/
Ответ возвращается в формате JSON и после преобразования представляет собой массив
В случае успеха:
Если результат одно значение - то оно возвращается в поле result
Иначе результат возвращается в соответствующих полях
{"result":"123456"}
{"key1":"value1","key2":"value2"}
В случае ошибки - в поле error и доп.информация* (если есть) в поле info:
{"error":"no_cards","info":"Все ушли на обед!"}
Для начального тестирования можно использовать метод echo: https://mychanger.icu/api2/echo
В него можно передать любые данные и увидеть (в payload) в каком виде их получает наш сервер. Если передать параметр key, то метод дополнительно вернет строку (в tosign) и хеш подписи этим ключом (в sign) от данных запроса.
Примеры вызова:
JSON:
curl -L 'https://mychanger.icu/api2/echo' \
-H 'Content-Type: application/json' \
-d '{
"param1": 2,
"param2": 1,
"key": "KKKeeey"
}'
Обычный POST:
curl -L 'https://mychanger.icu/api2/echo' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'param2=2' \
-d 'param1=1' \
-d 'key=KKKeeey'
Обычный GET:
https://mychanger.icu/api2/echo?param2=2¶m1=1&key=KKKeeey
Во всех вариантах вызова ответ одинаковый:
{
"payload": {
"param2": "2",
"param1": "1",
"key": "KKKeeey"
},
"tosign": "1:2:KKKeeey",
"sign": "5c69e53c91bfd96cfc3e61604558107a314060ef"
}
Платежные направления
ID curr | Валюта | Метод | Наименование | Выдача |
---|---|---|---|---|
10 | KZT | P2P | Банки Казахстана | Номер карты |
11 | UZS | P2P | Банки Узбекистана | Номер карты |
23 | AZN | P2P | Азербайджан M10 | Номер телефона |
51 | AMD | P2P | Армянский драм | Номер карты |
58 | KZT | P2P | СМП система моментальных платежей, перевод по номеру телефона: все банки кроме Каспи | номер телефона |
60 | AZN | P2P | MPAY | Номер телефона |
60 | AZN | P2P | MPAY | Номер телефона |
62 | KZT | P2P | MPAY | Номер телефона |
63 | TRY | P2P | Turkish Lira | Номер карты |
64 | UAH | P2P | Ukraine mono банк | Номер карты |
101 | KRW | P2P | Корея | Номер карты |
105 | RUB | P2P | вход Сбербанк расчетный счет | Номер р/с |
86 | RUB | P2P | Вход карты | Номер карты |
88 | RUB | P2P | Вход номер тел | Номер телефона |
192 | RUB | P2P | Тинькофф расчетный счет | Номер р/с |
194 | RUB | P2P | Альфа банк расчетный счет | Номер р/с |
169 | UZS | P2P | Вход банки Узбекистана | Номер карты |
89 | RUB | P2P | Выплаты сбер | id операции |
83 | RUB | P2P | выплаты все банки кроме сбера | номер карты |
93 | RUB | P2P | выплаты сбп все банки | номер телефона |
109 | RUB | E-COM | RUB | url |
110 | UZS | E-COM | UZS | url |
153 | AZN | E-COM | AZN | url |
160 | KZT | E-COM | KZT | url |
157 | BYN | E-COM | BYN | url |
184 | UZS | P2P | все банки вход+выход | номер карты |
185 | YJS | P2P | все банки YJS | номер карты |
19 | AZN | P2P | capital bank вход+выход | номер карты |
59 | AZN | P2P | emanat кошелек вход+выход | номер тел |
151 | TRY | P2P | iban счета все банки вход | номер счета |
178 | TRY | P2P | papara кошелек вход | номер карты |
179 | TRY | P2P | payfix кошелек вход | номер карты |
183 | BYN | P2P | карты все банки | номер карты |
164 | BYN | P2P | iban счета все банки | номер р/с |
145 | BYN | P2P | каскад вход все банки | номер карты |
159 | KZT | P2P | Fridom KZ карты | номер карты |
125 | KGS | P2P | mban карты | номер карты |
323 | VND | P2P | карты ввод | номер карты |
328 | VND | P2P | карты вывод | номер карты |
326 | VND | P2P | номер счета ввод | номер счета |
327 | VND | P2P | номер счета вывод | номер счета |
329 | IDR | P2P | номер карты ввод | номер карты |
334 | IDR | P2P | номер карты вывод | номер карты |
332 | IDR | P2P | номер счета ввод | номер счета |
333 | IDR | P2P | номер счета вывод | номер счета |
Примечание: Метод Сберпей это часть метода сбп 88 currID, вместе с реквизитами номера телефона так же присутствует кнопка для оплаты методом сберпей, по клику юзера перекидывает в приложение банка где уже заполнены реквизиты для перевода
Коды валют
----------
Согласно стандарта ISO 4217: RUB, AZN, KZT, UZS
Статусы заявок
- 0 - Pending и все статусы меньше 3 - ожидание платежа (автомат.зачисление доступно)
- 3 - Approved - выполнено (автоматически или вручную)
- 4 - Expired - просрочено время (доступна только ручная обработка)
- 5 - Canceled - отменена
Статусы "0 - Pending" и все статусы меньше 3, однозначно являются временными и потом поменяют значение в зависимости от выполнения и настроек
Статус "4 - Expired" не является окончательным(хотя по смыслу это отклонение операции) и может поменять значение. Например в тех случаях когда пользователь оплатил после отведенного времени на оплату.
Статусы "3 - Approved", "5 - Canceled" однозначно являются окончательными и могут изменить статус, в очень редких случаях и только по согласованию
Статус "4 - Expired" может быть при пополнении и выводе тоже.
Ремарка: Статус "4 - Expired" для ECOM заявок и заявок на выплату можно считать окончательным потому что измениться он уже не может.
Статус "4 - Expired" при пополнении может изменить статус в тех случаях когда например, пользователь провел оплату позднее отведенного на это времени.
Статус "5 - Canceled" в основном только при выводе, при пополнении в исключительных случаях.
Статусы e-com заявок
0 - Заявка создана
2 - Получены реквизиты
3 - Ошибка в реквизитах
4 - Ожидаем код
7 - Код получен
8 - Неверный код
9 - Код принят
10 - Заявка отменена
11 - Заявка выполнена
Формирование подписи
Принцип формирования подписи одинаков для всех методов запросов -- ввод, вывод, баланс, статус и т.д.
- отсортировать данные по ключу в порядке возрастания
- сформировать строку - склеить строковые значения данных (без ключей) через ':'
- добавить к строке ':' и YOUR_API_KEY
- получить SHA1 хеш строки (в php это функция sha1())
В формировании подписи участвуют значения всех параметров!
При формировании подписи вызовов API используйте Ваш API ключ (для создания вывода с соответствующим включенным флажком, и для всех остальных запросов со включенным чтением), а при проверке поступивших данных - Ваш Secret key со включенным чтением из меню Настройки -> API
Полученный хэш передать параметром sign в вашем запросе
Пример формирования подписи на PHP:
ksort($data, SORT_STRING);
$sign = sha1(implode(':', array_values($data)) . ':' . 'YOUR_API_KEY');
Ввод
Запрос
Создание заявки на пополнение:
EP: https://mychanger.icu/api2/payment
- shopID - ваш id, вы его видите в настройках апи
- uniqID - уникальный id вызова/заявки (в системе клиента). любой набор символов. не должен повторяться!
- currID - id платежного направления
- amount - сумма (цифры и разделитель ".") примеры: 1000 / 250.5 / 99.99
- label - уникальный ID платежа (в системе отправителя запроса). Не более 100 знаков. Это значение будет передано в callback
- userID - id пользователя/аккаунта (в системе клиента). Не более 100 знаков. Это значение будет передано в callback
- userInfo* - массив с дополнительной информацией о пользователе (ip, ua, email, phone, name, surname, patronymic)
- memo* - комментарий. Не более 300 знаков
- statusURL* - URL webhook-обработчика (если не указан в настройках или отличается)
- successURL* - URL возврата пользователя после оплаты (применяется при использовании нашей формы оплаты)
- period* - период ожидания оплаты в минутах (не более, чем установлено в настройках)
- sign - подпись = хеш данных (через API_KEY)
Параметр отмеченный * не обязателен.
Пример отправки запроса:
$r = array( 'shopID' => 522, 'uniqID' => "544545dg-dgd1445-7777", 'currID' => 6, // 6 - сбербанк 'amount' => 500.52, 'label' => "123133-44465451", 'userID' => "17800111", 'userInfo' => [ 'ip' => "192.168.0.1", 'ua' => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15", 'email' => "[email protected]", 'phone' => "+78005553535", 'name' => 'Test', 'surname' => 'Testov', 'patronymic' => 'Testovich' ], 'memo' => "Пополнение средств", 'statusURL' => "https://your_url", 'period' => 10 ); ksort($r, SORT_STRING); $r['sign'] = sha1(implode(':', array_values($r)) . ':' . $api_key);
Успешный ответ
- id - id заявки в нашей системе, сохранять этот параметр ОБЯЗАТЕЛЬНО
- currID - id платежного направления
- curr - код валюты
- amount - сумма к переводу (в данный момент всегда совпадает с передаваемым нам значением)
- number - куда платить (номер счета / карты / телефона)
- bic* - БИК банка (только для номеров счетов)
- fio - ФИО владельца номера
- nspk* - (только для банков РФ) код банка (значение поля schema без "bank") из справочника НСПК (например 100000000111)
- nspkText* - (только для банков РФ) наименование банка из справочника НСПК (на русском)
- bank - наименование банка
- bankTitle* - наименование банка на английском
- bankID* - ID банка (лат. буквы)
- paymentLink*- ссылка для клиента на приложение для упрощения оплаты
- page - ссылка для клиента на страницу с формой оплаты
Пример успешного ответа от сервера:
$answ = Array
(
"id" => 670057,
"currID" => 6,
"curr" => "RUB",
"amount" => 1500.00
"number" => "1111222211112222",
"info" => "FEDOR M",
"page" => "https://traderua.com/?card&id=670057&secret=318300158a1f6c16e370c4cbeee1234dd3b560",
"card" => "1111222211112222",
"fio" => "FEDOR M"
)
Вывод
Запрос
Создание заявки на вывод:
EP: https://mychanger.icu/api2/withdraw
- shopID - ваш id, вы его видите в настройках апи
- uniqID - уникальный id вызова/заявки (в системе клиента. любой набор символов. не должен повторяться)
- currID - id платежного направления
- amount - сумма (цифры и разделитель ".") примеры: 1000 / 250.5 / 99.99
- number - номер счета / карты / телефона
- bic* - БИК банка (только для номеров счетов)
- info* - ФИО владельца номера
- label* - метка (в прежней версии = ID клиента). не более 100 знаков. это значение будет передано в callback
- userID* - id пользователя/аккаунта (в системе клиента). не более 100 знаков. это значение будет передано в callback
- memo* - комментарий. не более 300 знаков
- statusURL* - URL webhook-обработчика (если не указан в настройках или отличается)
- period* - макс. время на выплату в минутах (не более, чем установлено в настроках)
- nspk* - (только для банков РФ) код банка (значение поля schema без "bank") из справочника НСПК (например 100000000111)
- bank* - наименование банка (если не указано поле nspk)
- sign - подпись = хеш данных (через API_KEY)
Пример отправки запроса:
$r = array( 'shopID' => 522, 'uniqID' => "544545dg-dgd1445-dg454", 'currID' => 6, // 6 - сбербанк 'amount' => 500.51, 'number' => "1111222211112222", 'info' => "Сидоров Джон", 'label' => "123133-44465451", 'memo' => "Отправка средств", 'statusURL' => "https://your_url", 'period' => 10 ); ksort($r, SORT_STRING); $r['sign'] = sha1(implode(':', array_values($r)) . ':' . $api_key);
Успешный ответ:
- id - id заявки на пополнение (в нашей системе)
- currID - id платежного направления
- curr - код валюты
- amount - сумма к переводу
- number - номер карты / номер телефона
- info - ФИО владельца карты / Наименование банка
- balance - остаток средств на балансе после выполнения заявки
Пример успешного ответа от сервера:
$answ = Array
(
"result"=>array(
"id" => 531636,
"currID" => 8,
"curr" => "RUB",
"amount" => 600.00,
"number" => "+79063711045",
"info" => "QIWIBANK"
)
)
Получение чека по операции вывода
Запрос
EP: https://mychanger.icu/api2/withdraw/check
- shopID - ваш id, вы его видите в настройках апи
- id - id заявки (в нашей системе)
- uniqID - уникальный id вызова/заявки (в системе клиента) использованный при создании заявки
- sign - подпись = хеш данных (через API_KEY)
Успешный ответ:
- data - содержимое файла чека
- type - расширение файла (тип данных): jpg, png или pdf
Пример успешного ответа от сервера:
{"result":{"data":"**base64encoded**","type":"png"}}
E-com ввод
Создание операции
Запрос
Создание заявки на пополнение:
EP: https://mychanger.icu/api2/acquire
- shopID - ваш id, вы его видите в настройках апи
- uniqID - уникальный id вызова/заявки (в системе клиента. любой набор символов. не должен повторяться)
- currID - id платежного направления
- amount - сумма (цифры и разделитель ".") примеры: 1000 / 250.5 / 99.99
- label* - уникальный ID платежа (в системе отправителя запроса) не более 100 знаков. это значение будет передано в callback
- userID - id пользователя/аккаунта (в системе клиента). не более 100 знаков. это значение будет передано в callback
- memo* - комментарий. не более 300 знаков
- statusURL* - URL webhook-обработчика (если не указан в настройках или отличается)
- successURL* - URL возврата пользователя после оплаты (применяется при использовании нашей формы оплаты)
- period* - период ожидания оплаты в минутах (не более, чем установлено в настройках)
- no_ipn* - Не присылать промежуточные колбэки (true/false)
- from* - массив с данными карты, используется в случае обработки данных на вашей стороне, а не через нашу форму
- sign - подпись = хеш данных (через API_KEY)
Параметр отмеченный * не обязателен.
Пример отправки запроса:
$r = array( 'shopID' => 522, 'uniqID' => "544545dg-dgd1445-7777", 'currID' => 6, // 6 - сбербанк 'amount' => 500.52, 'label' => "123133-44465451", 'memo' => "Пополнение средств", 'statusURL' => "https://your_url", 'period' => 10, 'from' => [ 'card' => "2202112381841356", 'month' => "09", 'year' => "2029", 'cvv' => 123 ] ); ksort($r, SORT_STRING); $r['sign'] = sha1(implode(':', array_values($r)) . ':' . $api_key);
Успешный ответ
- id - id заявки в нашей системе, сохранять этот параметр ОБЯЗАТЕЛЬНО
- currID - id платежного направления
- curr - код валюты
- amount - сумма к переводу (в данный момент всегда совпадает с передаваемым нам значением)
- code_required - Если true, то ожидаем код от вас
- page - Страница формы, на которой пользователь может сам ввести все данные или ввести 3ds код в зависимости от того, был ли передан параметр from
Пример успешного ответа от сервера:
$answ = Array
(
"id" => 670057,
"currID" => 6,
"curr" => "RUB",
"amount" => 1500.00
"code_required" => true
)
Отправка смс
Запрос
Отправка смс по действующей заявке:
EP: https://mychanger.icu/api2/acquire/confirm
- shopID - ваш id, вы его видите в настройках апи
- id/uniqID - наш ID заявки или uniqID, который вы отправляли при создании заявки
- code - код из смс
- time - текущее время в формате Unix (используется для усложнения подписи)
- sign - подпись = хеш данных (через API_KEY)
Пример отправки запроса:
$r = array( 'shopID' => 522, 'id' => "1033039", 'code' => "470179", 'time' => time(), ); ksort($r, SORT_STRING); $r['sign'] = sha1(implode(':', array_values($r)) . ':' . $api_key);
Успешный ответ
На данный запрос успешный ответ соответствует успешному ответу, на запрос статуса
Пример успешного ответа от сервера:
{ "result": { "type": "payment", "id": 1033039, "currID": 39, "curr": "RUB", "amount": "153.00", "label": "212112", "memo": "", "status": 0, "statusText": "Pending", "info": "" } }
Отправить смс еще раз
Запрос
Запрос на повторную отправку 3DS кода пользователю:
EP: https://mychanger.icu/api2/acquire/resend
- shopID - ваш id, вы его видите в настройках апи
- id/uniqID - наш ID заявки или uniqID, который вы отправляли при создании заявки
- time - текущее время в формате Unix (используется для усложнения подписи)
- sign - подпись = хеш данных (через API_KEY)
Параметр отмеченный * не обязателен.
Пример отправки запроса:
$r = array( 'shopID' => 522, 'id' => "1033039", 'time' => time(), ); ksort($r, SORT_STRING); $r['sign'] = sha1(implode(':', array_values($r)) . ':' . $api_key);
Успешный ответ
На данный запрос успешный ответ соответствует успешному ответу, на запрос статуса
Пример успешного ответа от сервера:
{ "result": { "type": "payment", "id": 1033039, "currID": 39, "curr": "RUB", "amount": "153.00", "label": "212112", "memo": "", "status": 0, "statusText": "Pending", "info": "" } }
Ошибка
- Примечание: рекомендуется параметр "label" отправлять обяательно. По этому параметру техподдержка проекта осуществляет поиск транзакции
IPN (Callbacks)
Для получения колбэков в ЛК, Настройки -> API нужно заполнить поле ‘введите адрес страницы обработки:’ или указывайте statusURL при каждом вызове методов payment и withdraw
Оповещения передаются методом POST в формате JSON с IP *.*.*.* (уточняйте у поддержки)
Оповещение считается обработанным, если сервер ответил HTTP-кодом 200
Дополнительно в ответ вы можете вернуть любой текст, его можно будет увидеть в кабинете
Вне зависимости от статуса (успешно/обработана/отклонена) вам придет колбэк следующего содержания:
- mychanger.icu - версия API
- timeStamp - метка времени (UNIX timestamp)
- shopID - id мерчанта (ваш ID из кабинета)
- type - тип оповещения ("payment" / "withdraw" / "dispute")
- id - id заявки (в нашей системе)
- currID - id платежного направления
- curr - валюта платежа (например RUB или AZN)
- initAmount* - исходная сумма (переданная клиентом)
- amount - фактическая сумма
- label - ваша метка
- userID - ваш userID
- memo - ваш комментарий
- info - доп. информация (опционально)
- status - статус заявки (int)
- statusText - статус заявки текстом
- statusTimeStamp - метка времени (UNIX timestamp) последнего изменения статуса
- statusInfo* - причина ошибки
- way - способ изменения статуса заявки (int)
- ecomStatus* - статус заявки (int) (только для e-com заявок)
- attempts* - кол-во попыток исполнения заявки
- sign - подпись = хеш данных (через первый Secret_key с чтением)
- signs - массив подписей формата [id1 => hash1, id2 => hash2], где id - ID апи ключа, hash - соответсвующий ему хеш. Данное поле присутствует, если у вас более одного апи ключа на чтение
Дополнительная информация
Пример кода обработчика на PHP:
$data = @json_decode(file_get_contents('php://input'), true);
if ($data['mychanger.icu'] < 2)
exit;
$sign0 = $data['sign'];
unset($data['sign']);
ksort($data, SORT_STRING);
$sign = sha1(implode(':', array_values($data)) . ':' . 'ВАШ_API_SECRET');
if ($sign !== $sign0)
die('Sign wrong!'); // этот текст будет видно в кабинете
echo('OK'); // и этот тоже
…
Получение статуса
Возвращает статус заявки (пополнения или выплаты)
EP: https://mychanger.icu/api2/status
- shopID - ваш id, вы его видите в настройках апи
- type* - тип заявки (payment / withdraw)
- id - id заявки (в нашей системе)
- uniqID - уникальный id вызова/заявки (в системе клиента) использованный при создании заявки
- sign - подпись = хеш данных (через API_KEY)
Успешный ответ:
- type - тип заявки (payment / withdraw)
- id - id заявки (в нашей системе)
- currID - id платежного направления
- amount - сумма заявки
- label - ваша метка
- memo - ваш комментарий
- status - статус заявки (int)
- statusText - статус заявки текстом
- statusTimeStamp - метка времени (UNIX timestamp) последнего изменения статуса
- way* - способ изменения статуса заявки (int)
- timeLeft* - оставшееся время жизни заявки, секунд
Получение баланса (deprecated)
Данный метод устарел и будет удален по окончании 2024 года
Возвращает текущий баланс по платежным направлениям (доступный для выплат)
EP: https://mychanger.icu/api2/balance
- shopID - ваш id, вы его видите в настройках апи
- sign - подпись = хеш данных (через API_KEY)
Ответ:
Массив, где ключ - платежное направление, значение - баланс
Отправляемые значения
{"result":{"6":"1610.00","7":"460.00","8":"654.46"}}
Где 6 -- платежное направление Сбербанк на балансе 1610.1 RUB
Где 7 -- платежное направление Тинькофф на балансе 460.00 RUB
Где 8 -- платежное направление СБП на балансе 654.46 RUB
Ответ 'param_wrong':
Неверный формат параметра или Параметр содержит пробел
Получение общего баланса
Возвращает текущий суммарный баланс по валюте (доступный для выплат)
EP: https://mychanger.icu/api2/balance_all
- shopID - ваш id, вы его видите в настройках апи
- time - текущее время в формате Unix (используется для усложнения подписи)
- sign - подпись = хеш данных (через API_KEY)
Ответ:
Массив, где ключ - валюта, значение - баланс
Отправляемые значения
{ "result": { "RUB": 314021 } }
Ответ 'param_wrong':
Неверный формат параметра или Параметр содержит пробел
Получение информации о лимитах на вывод
Возвращает значения лимитов и значение "разрешено к выводу" по платежным направлениям. Счетчик лимитов сбрасывается в 00:00 по часовому поясу мерчанта.
EP: https://mychanger.icu/api2/withdraw/limit
- shopID - ваш id, вы его видите в настройках апи
- sign - подпись = хеш данных (через API_KEY)
Ответ:
Массив daily (содержит значения суточного лимита) и массив value (содержит актуальные на данный момент значения "разрешено к выводу"). В этих массивах ключ - платежное направление
Отправляемые значения
{"result":{"daily":{"6":"6000000.00","7":"2000000.00"},"value":{"6":"7337.00","7":"232733.00"}}}
В примере по платежному направлению Сбербанк (6) дневной лимит = 6 000 000 RUB, а остаток 7 337 RUB
Решение вопросов (диспуты) по API
Для решения разногласий в автоматике добавлен функционал, где по API можно передать информацию для диспутов.
EP: https://mychanger.icu/api2/dispute
- shopID - ваш id, вы его видите в настройках апи
- sign - подпись = хеш данных (через API_KEY)
- id - ID существующей заявки или строка 'NEW' для создания новой заявки
Вмеcто параметра id заявки можно указать operUniqID = значению параметра uniqID, которое было использовано при создании заявки - uniqID* - уникальный id вызова/заявки (в системе клиента). любой набор символов. не должен повторяться!
- number* - номер реквизита, указанный в чеке(ах) (можно не указывать, если совпадает со значением в заявке)
- amount* - сумма всех поступлений из чека(ов) (можно не указывать, если совпадает со значением в заявке)
- case* - предмет диспута (см. ниже)
- comment* - комментарий для оператора
- disputeURL* - URL webhook-обработчика (если не указан в настройках или отличается)
- checks - массив из строк вида '[тип_файла_чека]:[base64encoded_содержимое_файла_чека]' ИЛИ
- check - base64encoded содержимое файла чека
- type - тип файла чека: jpg, png или pdf
если чеков несколько - используйте дополнительно check1, type1 / check2, type2 и т.д.
Если нет ошибок то в ответе вы получаете id диспута
После получения этих данных они попадают операторам, которые могут сразу проверить и подтвердить либо отменить операцию по этой заявке.
При измнении статуса заявки у нас по ней будет сразу отправлен callback на disputeURL (если задан) или на statusURL из настроек мерчанта.
Пример данных callback:
{"mychanger.icu":"2.3","timeStamp":1720206230,"shopID":*,"type":"dispute","id":5237,"amount":"200.00","comment":"","currID":6,"curr":"RUB","status":1,"statusText":"Waiting","operationID":14736918,"operationAmount":"100.00","operationLabel":"vasya","operationStatus":4,"sign":"*"}
- id - ID диспута
- case - предмет диспута (число)
- amount - сумма диспута
- currID - плат. направление
- curr - валюта
- status - статус диспута (число)
- statusText - статус диспута (текст)
- statusTimeStamp - метка времени (UNIX timestamp) последнего изменения статуса диспута
- comment - комментарий мерчанта
- operationID - ID заявки
- operationAmount - сумма заявки
- operationLabel - label - метка заявки
- operationStatus - статус заявки (число)
Предмет диспута:
- 0 - Не указана
- 1 - Обычный
- 3 - Неверная сумма
- 5 - Cтарые реквизиты
- 6 - Cтарые реквизиты + новая сумма
- 8 - Оплата без заявки
Статусы диспута:
- 0 - New
- 1 - Waiting
- 3 - Processing
- 6 - Correcting
- 8 - Accepted
- 9 - Declined
Получение статуса диспута
Получение актуальной информации о диспуте
EP: https://mychanger.icu/api2/dispute/status
- shopID - ваш id, вы его видите в настройках апи
- sign - подпись = хеш данных (через API_KEY)
- id - ID диспута, полученный из предыдущего метода ИЛИ
- uniqID - уникальный id вызова/заявки (в системе клиента) использованный при создании диспута
Если нет ошибок, то в ответе вы получаете информацию о диспуте.
Структура ответа совпадает с данными из callback
Пример ответа:
{"result":{"id":5237,"amount":"200.00","comment":"","currID":6,"curr":"RUB","status":6,"statusText":"Correcting","operationID":14736918,"operationAmount":"100.00","operationLabel":"vasya","operationStatus":4}}
Перечень ошибок от нашего сервера при API запросах
Причины возникновения ошибок в основном ошибка в самом запросе, кроме того например, могут быть превышены лимиты, или какая то услуга от нашего сервера временно отключена.
Ниже приведены все ошибки в таких случаях с описанием.
Пополнение
Наименование операции | Вывод ошибки от сервера | Описание причины и рекомендации |
---|---|---|
Пополнение | 'param_wrong' | Неверный формат параметра или Параметр содержит пробел. Проверьте формат данных при отправке на наш сервер(формат данных должен быть правильным, например сумма -- только число в числовом формате, номер карты в формате 16 значений, ни один из параметров не должен содержать пробелы) |
Пополнение | 'data_wrong' | Неверный формат данных при отправке. Проверка данных -- содержит ли запрос данных массив, если нет то будет такой ответ |
Пополнение | 'shopID_wrong' | При проверки мерчанта в списках нет такого ID. Обратитесь в сапорт и уточните свой ID, или зайдите в свой личный кабинет и возьмите это значение оттуда |
Пополнение | 'sign_wrong' | Подпись не прошла проверку. Внимательно посмотрите способ формирования подписи описанный в этой документации здесь |
Пополнение | 'currID_wrong' | Не правильно указана платежная система. Причина либо такая платежная система не существует в проекте, либо Ваш мерчант не связан с этой платежной системой. Решение - посмотрите платежные системы здесь либо обратитесь в сапорт |
Пополнение | 'amount_small' | Сумма указанная в заявке ниже допустимой |
Пополнение | 'amount_big' | Сумма указанная в заявке выше допустимой |
Пополнение | 'statusURL_wrong' | Если урл страницы обработки не настроен в личном кабинете и не указан в запросе на пополнение в параметре 'url' . Решение настроить - этот параметр в личном кабинете или всегда отправлять это значение при создании заявки |
Пополнение | 'uniqID_empty' | При создании заявки отправлен ID заявки который уже есть в нашей системе |
Пополнение | 'no_attach_acc' | Обраттитесь в техподдержку |
Пополнение | 'wrong_psys' | Не правильно указана платежная система. Причина либо такая платежная система не существует в проекте, либо Ваш мерчант не связан с этой платежной системой. Решение - посмотрите платежные системы здесь либо обратитесь в сапорт |
Пополнение | 'no_cards' | Нет свободных карт для пополнения |
Пополнение | 'all_cards_busy' | Нет свободных карт для пополнения. Все реквизиты для выдачи на этой сумме заняты |
Пополнение | 'no_phonenumbers' или 'all_phonenumbers_busy' | При пополнении на плат систему СБП (id:8) может в ответ придти такая ошибка, что означает -- нет свободных номеров тел для выдачи. |
Пополнение/вывод | 'invalid_hash' | В личном кабинете у применяемого API KEY нет прав для этой операции. Решение - зайдите в личный кабинет и включите настройки API |
Пополнение/вывод | 'general_decline' | При осуществлении операций по каскаду, такая ошибка может означать невозможность проведения операций по разным причинам, например отказ всех посторонних применяемых сервисов. ТО есть все попытки проведения операций увенчались отказом. |
Пополнение/вывод | 'rate_limit' | Этот параметр настраивается на стороне аурис и означает максимальное возможное количество заявок по API в секунду. В случае его превышения можно получить эту ошибку. Параметры настроек можно узнать у наших тех специалистов. |
Вывод | 'data_wrong' | Неверный формат данных при отправке. Проверка данных -- содержит ли запрос данных массив, если нет то будет такой ответ |
Вывод | 'shopID_wrong' | При проверки мерчанта в списках нет такого ID. Обратитесь в сапорт и уточните свой ID, или зайдите в свой личный кабинет и возьмите это значение оттуда |
Вывод | 'sign_wrong' | Подпись не прошла проверку. Внимательно посмотрите способ формирования подписи описанный в этой документации здесь |
Вывод | 'Total amount per day limit' | Оборот всех выплат за сутки превысил суточный лимит |
Вывод | 'currID_wrong' | Не правильно указана платежная система. Причина либо такая платежная система не существует в проекте, либо Ваш мерчант не связан с этой платежной системой. Решение - посмотрите платежные системы здесь либо обратитесь в сапорт |
Вывод | 'amount_small' | Сумма указанная в заявке ниже допустимой |
Вывод | 'amount_big' | Сумма указанная в заявке выше допустимой |
Вывод | 'statusURL_wrong' | Если урл страницы обработки не настроен в личном кабинете и не указан в запросе на пополнение в параметре 'url' . Решение настроить - этот параметр в личном кабинете или всегда отправлять это значение при создании заявки |
Вывод | 'uniqID_empty' | При создании заявки не отправлен ID заявки |
Вывод | 'no_operators' | Нет, или не назначены, операторы для выполнения заявки. Обратитесь в техподдержку. |
Вывод | 'number_format_wrong' | Неправильно указан формат данных для вывода |
Вывод | 'number_wrong' | Количество знаков в данных для вывода не соответствует (например указан короткий номер телефона ниже 10 символов или номер карты не равен 16 символов, также номер карты может проверяться методом LUNA) |
Вывод | 'out_limit_exceeded' | Превышен суточный лимит на вывод |
Вывод | 'low_balance' | Нет денег для вывода на балансе |
Вывод | 'low_bal02' | Заявка не будет проведена, по причине низкого баланса. При проверке в этот момент нет баланса. Также для этой заявки надо проверить uniqID параметр и он должен быть уникальным |
Вывод | 'low_bal03' | Заявка не будет проведена, по причине низкого баланса. При проверке в этот момент нет баланса. Также для этой заявки надо проверить uniqID параметр и он должен быть уникальным |
Вывод | 'uniqID_used2' | При создании заявки отправлен ID заявки который уже есть в нашей системе |
Вывод | 'wrong_psys' | Не правильно указана платежная система. Причина либо такая платежная система не существует в проекте, либо Ваш мерчант не связан с этой платежной системой. Решение - посмотрите платежные системы здесь либо обратитесь в сапорт |
Получение статуса | 'id_empty' | Не задано значение ID заявки |
При получении ответов для API запросов баланса и статуса изначально проверяется подпись и правильность заполнения данных как при вводе и выводе.
Ниже представлены ошибки которые могут отличаться при запросах получения статуса. |
||
Получение статуса | 'id_wrong' | Указанный ID заявки не существует у нас |