Чтобы использовать API, Вам необходимо связаться с нами и получить ID, пароль и ключ. А также согласовать финансы.
Далее необходимо делать HTTP-запросы на URL http://money2mobile.ru/api/, используя полученные ID и пароль (далее [ID] и [pass]) для прохождения HTTP-авторизации с реквизитами "api[ID]":"[pass]", а также полученный ключ (далее [key]) для подписи всех запросов.
{
"error" :"Код ошибки (Integer), 0 означает успешное выполнение операции",
"msg" :"Сообщение (String)", # по умолчанию строки JSON передаются в UTF-8, для получения строк в UNICODE передавайте параметр unicode=1
"data" :"Ответные данные, если есть (Object)"
}
<?php $operation = ''; $credits = ''; $expire = ''; $code = ''; $wallet = ''; $wallet_type = ''; $phone = ''; $change_wallet = ''; $customer_id = '[ID]'; $pass = '[pass]'; $hash = md5($operation.$credits.$expire.$code.$wallet.$wallet_type.$phone.$change_wallet.$customer_id.'[key]'); $request = "http://money2mobile.ru/api/?" ."&operation=".urlencode($operation) ."&credits=".urlencode($credits) ."&expire=".urlencode($expire) ."&code=".urlencode($code) ."&wallet=".urlencode($wallet) ."&wallet_type=".urlencode($wallet_type) ."&phone=".urlencode($phone) ."&change_wallet=".urlencode($change_wallet) ."&customer_id=".urlencode($customer_id) ."&hash=".urlencode($hash); # Пример на PHP $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERPWD, "api$customer_id:$pass"); curl_setopt($ch, CURLOPT_URL, $request); $json = curl_exec($ch); var_dump ( json_decode( $json) );
| Параметр | Описание | Пример |
|---|---|---|
| operation | установите значение issue | issue |
| credits | номинал карты/ЭС в копейках | 2000 |
| expire | дата в формате "дд.мм.гггг", до которой карта/ЭС действительна | 28.11.2017 |
| customer_id | выданный вам [ID] | 101 |
| hash | задается как MD5-хэш от строки, составленной из значений параметров [operation][credits][expire][customer_id][key] | b11e36cadfee38cf5c659f7503b311a8 |
http://money2mobile.ru/api/?operation=issue&credits=2000&expire=28.11.2017&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8
<?php # Пример на PHP $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERPWD, "api[ID]:[pass]"); curl_setopt($ch, CURLOPT_URL, "http://money2mobile.ru/api/?operation=issue&credits=2000&expire=28.11.2017&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8"); $json = curl_exec($ch); var_dump ( json_decode( $json) );
{
"error":0,
"msg":"Карта выпущена.",
"data": {
"id": 1010371,
"code": "A1000000000", # по этому коду карта может быть активирована на http://money2mobile.ru/activate_card.html
"key": "eef32d05b70a633563086f83597a8fed", # ЭС доступен по адресу http://money2mobile.ru/get_sert.php?key=eef32d05b70a633563086f83597a8fed
"credits": 10000, #номинал карты
"balance": {
"credits": 100000, # баланс в копейках
"credits_limit": 0, # минаимальный баланс в копейках
"cards_left": 0, # кол-во карт, доступных для операции issue
"daily_paylimit": 0 # объем средств в коп., доступный для операции pay сегодня
}
}
} | Параметр | Описание |
|---|---|
| id | номер карты/ЭС |
| code | секретный код, по которому можно активировать карту/ЭС через сайт money2mobile.ru, отправив его на короткий номер 2420 или через API. |
| key | номер электронного сертификата, для получения его по ссылке вида http://money2mobile.ru/get_sert.php?key=[key] |
Поиск одной из карт, которая была выпущена, но еще не была использована.
| Параметр | Описание | Пример |
|---|---|---|
| operation | установите значение find | find |
| customer_id | выданный вам [ID] | 101 |
| activated | (необязательный) была ли карта активированна через сайт | 0 |
| hash | задается как MD5-хэш от строки, составленной из значений параметров [operation][customer_id][key] | b11e36cadfee38cf5c659f7503b311a8 |
http://money2mobile.ru/api/?operation=find&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8
<?php # Пример на PHP $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERPWD, "api[ID]:[pass]"); curl_setopt($ch, CURLOPT_URL, "http://money2mobile.ru/api/?operation=find&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8"); $json = curl_exec($ch); var_dump ( json_decode( $json) );
{
"error": 0,
"msg": "Карта найдена.",
"data": {
"id": 1010371,
"code": "A1000000000", # по этому коду карта может быть активирована на http://money2mobile.ru/activate_card.html
"key": "eef32d05b70a633563086f83597a8fed", # ЭС доступен по адресу http://money2mobile.ru/get_sert.php?key=eef32d05b70a633563086f83597a8fed
"credits": 10000, #номинал карты
}
}
Отзыв карты, платеж по которой не удалось провести или он не проводился.
| Параметр | Описание | Пример |
|---|---|---|
| operation | установите значение unissue | unissue |
| code | секретный код | A1000000000 |
| customer_id | выданный вам [ID] | 101 |
| hash | задается как MD5-хэш от строки, составленной из значений параметров [operation][code][customer_id][key] | b11e36cadfee38cf5c659f7503b311a8 |
http://money2mobile.ru/api/?operation=unissue&code=A1000000000&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8
<?php # Пример на PHP $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERPWD, "api[ID]:[pass]"); curl_setopt($ch, CURLOPT_URL, "http://money2mobile.ru/api/?operation=unissue&code=A1000000000&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8"); $json = curl_exec($ch); var_dump ( json_decode( $json) );
{
"error": 0,
"msg": "Карта аннулирована, деньги возвращены на баланс."
}
Задание для карты реквизитов, по которым будет проводиться выплата.
| Параметр | Описание | Пример |
|---|---|---|
| operation | установите значение pay | pay |
| code | секретный код | A1000000000 |
| wallet | номер телефона (в межунароном формате) или электронного кошелька | +7 999 9876543 |
| wallet_type | тип кошелька. Может быть установлен в "PHONE" (мобильный телефон), "QIWI" (кошелек Qiwi), "YA" (кошелек Яндекс.Деньги), "WM" (кошелек Вебмани), "RBK" (кошелек РБК), "SBP" (перевод через СБП) | PHONE |
| phone | (необязательный) для пополнения Вебмани должен содеражать мобильный телефон владельца кошелька | - |
| bank_id | (необязательный) для переводов через СБП должен содеражать ID банка получателя | - |
| change_wallet | (необязательный) параметр, который должен быть установлен в 1, если Вы хотите сменить реквизиты непрошедшего платежа | - |
| customer_id | выданный вам [ID] | 101 |
| hash | задается как MD5-хэш от строки, составленной из значений параметров [operation][code][wallet][wallet_type][change_wallet][phone][bank_id][customer_id][key] | b11e36cadfee38cf5c659f7503b311a8 |
http://money2mobile.ru/api/?operation=pay&code=A1000000000&wallet=+7 999 9876543&wallet_type=PHONE&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8
<?php # Пример на PHP $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERPWD, "api[ID]:[pass]"); curl_setopt($ch, CURLOPT_URL, "http://money2mobile.ru/api/?operation=pay&code=A1000000000&wallet=+7%20999%209876543&wallet_type=PHONE&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8"); $json = curl_exec($ch); var_dump ( json_decode( $json) );
{
"error": 0,
"msg": "Платеж по коду A1000000000 на сумму 20.00 руб. поставлен в очередь, ожидайте прихода средств."
}
При проведение данной операции с баланса списывается соответствующая сумма только после проверки возможности его инициации.
| Параметр | Описание | Пример |
|---|---|---|
| operation | установите значение make_a_transaction | make_a_transaction |
| wallet_type | тип кошелька. Может быть установлен в "PHONE" (мобильный телефон), "QIWI" (кошелек Qiwi), "YA" (кошелек Яндекс.Деньги), "WM" (кошелек Вебмани), "RBK" (кошелек РБК), "SBP" (перевод через СБП) | PHONE |
| wallet | номер телефона (в межунароном формате) или электронного кошелька | +7 999 9876543 |
| credits | сумма платежа в копейках | 2000 |
| params | (необязательный) дополнительные параметры | - |
| bank_id | (необязательный) ID банка для платежа через СБП, полученный из метода get_SBP_bank_list | - |
| customer_id | выданный вам [ID] | 101 |
| hash | задается как MD5-хэш от строки, составленной из значений параметров [operation][wallet][wallet_type][credits][bank_id][customer_id][key] | b11e36cadfee38cf5c659f7503b311a8 |
https://money2mobile.ru/api/?operation=make_a_transaction&wallet_type=SBP&wallet=89009999999&credits=1000&bank_id=100000000004&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8
<?php # Пример на PHP $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERPWD, "api[ID]:[pass]"); curl_setopt($ch, CURLOPT_URL, "https://money2mobile.ru/api/?operation=make_a_transaction&wallet_type=SBP&wallet=89009999999&credits=1000&bank_id=100000000004&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8"); $json = curl_exec($ch); var_dump ( json_decode( $json) );
{
"error": 0,
"msg": "Транзакция на сумму 100 руб. инициирована.",
"data": {
"id": 100000010, # ID платежа для дальнейшей работы с ним
}
}
Проверка статуса платежа, которые был создан методом make_a_transaction.
| Параметр | Описание | Пример |
|---|---|---|
| operation | установите значение make_a_transaction | make_a_transaction |
| id | ID платежа | 100000010 |
| customer_id | выданный вам [ID] | 101 |
| hash | задается как MD5-хэш от строки, составленной из значений параметров [operation][id][customer_id][key] | b11e36cadfee38cf5c659f7503b311a8 |
http://money2mobile.ru/api/?operation=check_the_transaction&id=100000010&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8
<?php # Пример на PHP $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERPWD, "api[ID]:[pass]"); curl_setopt($ch, CURLOPT_URL, "http://money2mobile.ru/api/?operation=check_the_transaction&code=100000010&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8"); $json = curl_exec($ch); var_dump ( json_decode( $json) );
{
"error": 0,
"msg": "Транзакция проведена."
}
Чтобы провести платеж через СПБ кроме прочих параметров нужно указать bank_id, который надо определять по полученному данным методом списку.
| Параметр | Описание | Пример |
|---|---|---|
| operation | установите значение get_SBP_bank_list | get_SBP_bank_list |
| customer_id | выданный вам [ID] | 101 |
| hash | задается как MD5-хэш от строки, составленной из значений параметров [operation][customer_id][key] | b11e36cadfee38cf5c659f7503b311a8 |
http://money2mobile.ru/api/?operation=get_SBP_bank_list&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8
<?php # Пример на PHP $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERPWD, "api[ID]:[pass]"); curl_setopt($ch, CURLOPT_URL, "http://money2mobile.ru/api/?operation=get_SBP_bank_list&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8"); $json = curl_exec($ch); var_dump ( json_decode( $json) );
{
"error": 0,
"msg": "Список банков сформирован.",
"data": [
{"MemberId":"100000000001","MemberNameRus":"Газпромбанк"},
{"MemberId":"100000000002","MemberNameRus":"Золотая Корона – Korona (РНКО Платежный Центр)"},
...
]
}
Баланс, привязанный к аккаунту, меняется при выпуске (номинал карты списывается) или отзыве (номинал карты возвращается) карты.
| Параметр | Описание | Пример |
|---|---|---|
| operation | установите значение balance | balance |
| customer_id | выданный вам [ID] | 101 |
| hash | задается как MD5-хэш от строки, составленной из значений параметров [operation][customer_id][key] | b11e36cadfee38cf5c659f7503b311a8 |
http://money2mobile.ru/api/?operation=balance&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8
<?php # Пример на PHP $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERPWD, "api[ID]:[pass]"); curl_setopt($ch, CURLOPT_URL, "http://money2mobile.ru/api/?operation=balance&customer_id=101&hash=b11e36cadfee38cf5c659f7503b311a8"); $json = curl_exec($ch); var_dump ( json_decode( $json) );
{
"error": 0,
"msg": "Баланс определен.",
"data": {
"credits": 100000, # баланс в копейках
"credits_limit": 0, # минаимальный баланс в копейках
"cards_left": 0, # кол-во карт, доступных для операции issue
"daily_paylimit": 0 # объем средств в коп., доступный для операции pay сегодня
}
}
| Метод | Код ошибки | Расшифровка |
|---|---|---|
| issue, pay, check, balance | 0 | Ошибок нет. |
| issue, pay, check, balance | 1 | Общие ошибки. |
| issue, pay, check, balance | 2 | Пользователь не найден. |
| issue | 3 | Неверная подпись. |
| issue | 4 | Не найдено не занятых номеров карт/ЭС. |
| issue | 5 | Недостаточно средств для выпуска карты/ЭС или не найдено не занятых номеров карт/ЭС. |
| issue | 6 | Произошла ошибка при выпуске карты/ЭС. |
| pay, check | 7 | Формат параметра [code] неверный. |
| pay, check | 8 | Платеж проводится. |
| pay, check | 9 | Невозможно провести платеж. Причина указана в доп. параметре description. |
| pay, check | 10 | Невозможно провести платеж, возможно выбрать другой способ вывода средств. Причина указана в доп. параметре description. |
| pay, check | 11 | Карта/ЭС активирована, но способ вывода средств не указан. |
| pay, check | 12 | Срок действия карты/ЭС истек. |
| pay, check | 13 | Не удалось активировать карту/ЭС. |
| pay, check | 14 | Код [code] не найден. |
| pay | 15 | Не указан способ вывода денег. |
| pay | 16 | Данный код уже использован. |
| pay | 17 | Данный способ перевода денег закрыт. |
| pay | 18 | Номер кошелька не определен. |
| pay | 19 | Достигнуто ограничение для зачисления денег на один номер в течение месяца. |
| unissue | 20 | Карта выплачена и не может быть аннулирована. |
| unissue | 21 | Карта имеет неизвестный статус и она не может быть аннулирована, свяжитесь с нами. ВНИМАНИЕ! Это не означает, что статус карты финальный. |
| unissue | 22 | Не удалось пополнить баланс, свяжитесь с нами. |
| unissue | 24 | Карта не выпущена и не может быть аннулирована. |
| find | 23 | Карт не найдено. |
Copyright 2015. All Rights Reserved.