Содержание
- Настройка формы оплаты
- Оповещение о платеже
- Формирование подписи
- Список доступных валют
- Интеграция
- Тестирование оплаты
- Экспорт заказов
- Получение баланса пользователя
- Вывод средств
- Проверка статуса заказа
Настройка формы оплаты [наверх]
Форма оплаты содержит все необходимые данные для оплаты заказа. Передается методом GET на адрес http://www.mykassa.org/api/merchant.php
Необходимые параметры
m |
ID Вашего магазина |
oa |
Сумма платежа |
o |
Номер заказа (также это может быть название товара или логин пользователя, для зачисления средств) |
s |
Подпись (методика формирования подписи) |
Необязательные параметры
i |
Предлагаемая валюта платежа. Плательщик сможет изменить ее в процессе оплаты. |
em |
Email плательщика |
lang |
Язык интерфейса (en/ru) |
us_* |
Так же Вы можете передавать свои параметры, которые наш сервер вернет на Ваш URL оповещения. Ключи параметров должны начинаться с us_ и содержать только латинские символы и цифры. Значения параметров могут содержать только латинские буквы, цифры. Например:
<input type="text" name="us_name" value="ivanov">
<input type="text" name="us_login" value="ivanov1971">
|
Пример формы оплаты
<?php
$merchant_id = '42'; // Номер магазина
$merchant_secret_1 = 'secret'; // Секретный ключ 1
$order_id = '154'; // Номер заказа
$order_amount = '100.11'; // Сумма платежа
$sign = md5($merchant_id.':'.$order_amount.':'.$merchant_secret_1.':'.$order_id); // Подпись
?>
<form method='get' action='http://www.mykassa.org/api/merchant.php'>
<input type='hidden' name='m' value='<?php echo $merchant_id; ?>'>
<input type='hidden' name='oa' value='<?php echo $order_amount; ?>'>
<input type='hidden' name='o' value='<?php echo $order_id; ?>'>
<input type='hidden' name='s' value='<?php echo $sign; ?>'>
<input type='hidden' name='lang' value='ru'>
<input type='hidden' name='us_login' value='<?php echo $user['login']; ?>'>
<input type='submit' name='pay' value='Оплатить'>
Оповещение о платеже [наверх]
При успешной оплате система оповещает магазин по URL оповещения указанным методом.
Параметры оповещения
MERCHANT_ID |
ID Вашего магазина |
AMOUNT |
Сумма платежа |
MERCHANT_ORDER_ID |
Номер заказа (также это может быть название товара или логин пользователя, для зачисления средств) |
SIGN |
Подпись (методика формирования подписи) |
P_EMAIL |
Email плательщика |
MYKASSA_ID |
Номер операции MyKassa.org |
us_* |
Дополнительные параметры с префиксом us_, переданные в форму оплаты |
Проверка оповещения
Следует проверять правильность подписи и соответствие суммы платежа и стоимости заказа.
Запрос на URL оповещения отправляется после получения денег, но перед тем как пользователь будет отправлен на URL возврата в случае успеха.
Рекомендуем так же проверять IP сервера отправляющего Вам информацию. Наши IP: '144.76.93.115', '144.76.93.119', '78.47.60.198', '136.243.38.108''
Если Вы хотите быть уверены, что подтверждение на URL оповещения дошло успешно и обработано верно, добавьте в скрипт URL оповещения вывод слова YES.
Пример обработчика платежа на языке PHP
$merchant_id = '42'; // Номер магазина
$merchant_secret_2 = 'supersecret'; // Секретный ключ 2
function getIP() {
if (isset($_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP'];
return $_SERVER['REMOTE_ADDR'];
}
if (!in_array(getIP(), array('144.76.93.115', '144.76.93.119', '78.47.60.198', '136.243.38.108'))) die('hacking attempt!');
$sign = md5($merchant_id.':'.$_REQUEST['AMOUNT'].':'.$merchant_secret_2.':'.$_REQUEST['MERCHANT_ORDER_ID']);
if ($sign != $_REQUEST['SIGN']) die('wrong sign');
// Так же, рекомендуется добавить проверку на сумму платежа и не была ли эта заявка уже оплачена или отменена.
// Оплата прошла успешно, можно проводить операцию.
die('YES');
Формирование подписи [наверх]
Подпись для платежной формы формируется путем нахождения MD5-хеша от строки "ID Вашего магазина:Сумма платежа:Секретное слово:Номер заказа".
Подпись для скрипта оповещения формируется путем нахождения MD5-хеша от строки "ID Вашего магазина:Сумма платежа:Секретное слово2:Номер заказа".
Важно: используется секретное слово2, указанное в настройках магазина.
Список доступных валют [наверх]
ID |
Название |
1 |
Яндекс.Деньги |
55 |
QIWI Кошелек RUB |
42 |
QIWI Кошелек USD |
47 |
Webmoney WMR |
46 |
Webmoney WMZ |
36 |
Webmoney WME |
38 |
Visa / MasterCard RUB |
48 |
Visa / MasterCard EUR |
43 |
Visa / MasterCard USD |
4 |
OOOPAY RUR |
3 |
OOOPAY USD |
5 |
OOOPAY EUR |
15 |
W1 RUR |
14 |
W1 USD |
6 |
PAYEER RUB |
7 |
PAYEER USD |
8 |
Perfect Money USD |
9 |
Perfect Money EUR |
10 |
OKPay RUB |
11 |
OKPay USD |
12 |
OKPay EUR |
13 |
ZPayment |
49 |
ТЕЛЕ2 |
20 |
МТС |
19 |
Мегафон |
44 |
Билайн |
45 |
Связной |
21 |
Тинькофф кредитные системы |
26 |
Промсвязьбанк |
27 |
Банк Авангард |
28 |
Русский стандарт |
25 |
ВТБ 24 |
24 |
Сбербанк |
23 |
Альфа банк |
33 |
Салоны связи |
30 |
Терминалы России |
31 |
Терминалы USD |
2 |
Bitcoin |
29 |
Денежные переводы |
22 |
WireTransfer |
Интеграция [наверх]
Если у Вас уже был настроен прием платежей через платежную систему Robokassa или Payeer, то Вы можете с минимальными усилиями переключить прием платежей на наш сервис.
Для этого при подключении или редактировании Вашего сайта выберите в поле "Режим интеграции" свою старую платежную систему и внесите несколько изменений в свои скрипты оплаты:
Robokassa:
URL перехода |
В платежной форме измените URL перехода, вместо - https://auth.robokassa.ru/Merchant/Index.aspx, надо использовать - http://www.mykassa.org/api/merchant.php |
MrchLogin |
ID Вашего магазина на сервисе Mykassa.org |
Пароль #1 |
Секретное слово на сервисе Mykassa.org |
Пароль #2 |
Секретное слово 2 на сервисе Mykassa.org |
Payeer:
URL перехода |
В платежной форме измените URL перехода, вместо - http://payeer.com/merchant/, надо использовать - http://www.mykassa.org/api/merchant.php |
m_shop |
ID Вашего магазина на сервисе Mykassa.org |
m_key |
Секретное слово на сервисе Mykassa.org. Секретное слово 1 и секретное слово 2 должны быть одинаковы. |
Тестирование оплаты [наверх]
Вы должны войти в личный кабинет, чтобы воспльзоваться данной функцией.
Экспорт заказов [наверх]
Для получения списка заказов, необходимо отправить запрос на URL http://www.mykassa.org/api.php методом GET со следующими параметрами:
Обязательные параметры
id |
ID магазина или ID товара |
key |
API-ключ, можно увидеть в личном кабинете |
action |
get_merchant_orders - экспорт заказов магазина get_catalog_orders - экспорт заказов каталога |
Дополнительные параметры
date_from |
С какой даты показать результаты, в формате гггг-мм-дд |
date_to |
До какой даты, в формате гггг-мм-дд |
limit |
Сколько результатов показать (максимум 100) |
offset |
С какой позиции показывать заявки |
status |
Статус заявки: complete - оплаченные, incomplete - неоплаченные, all - все |
Пример ответа
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<action>Get Merchant Orders</action>
<action_data>
<item>
<mykassa_id>472616</mykassa_id>
<order_id>16465466</order_id>
<status>comlete</status>
<date>2014-03-02 11:40:40</date>
<amount>5</amount>
<currency>Яндекс.Деньги</currency>
<email>[email protected]</email>
</item>
</action_data>
</root>
Получение баланса пользователя [наверх]
Для получения баланса пользователя, необходимо отправить запрос на URL http://www.mykassa.org/api.php со следующими параметрами:
id |
ID пользователя |
key |
API-ключ, можно увидеть в личном кабинете |
action |
get_balance |
Пример ответа
Ответ возвращается в json-формате.
{"status":"ok","action":"get_balance","user_id":1,"data":{"RUB":123.43,"USD":0,"EUR":555.55}}
или
{"status":"error","error":"Invalid Signature"}
Вывод средств [наверх]
Номер кошелька можно сохранить в личном кабинете.
Для вывода средств, необходимо отправить запрос на URL http://www.mykassa.org/api.php со следующими параметрами:
id |
ID пользователя |
key |
API-ключ, можно увидеть в личном кабинете |
system |
Система для вывода: fkwallet, ooopay, qiwi, yandex, wmr, wmz, card (VISA/MC) |
balance |
Тип баланса RUB, USD, EUR |
amount |
Сумма выплаты от 50 до 15000 рублей за один запрос |
action |
payment |
Пример ответа
Ответ возвращается в json-формате.
{"status":"ok","action":"payment}
или
{"status":"error","error":"Invalid Signature"}
Проверка статуса заказа [наверх]
Для проверки стаутса заказа, необходимо отправить запрос на URL http://www.mykassa.org/api.php со следующими параметрами:
id |
ID магазина |
key |
API-ключ, можно увидеть в личном кабинете |
order_id |
Номер заказа у вас на сайте |
mykassa_id |
Номер транзакиции на Mykassa |
action |
check_order |
Вы можеже использовать либо order_id, либо mykassa_id
Пример ответа
Ответ возвращается в json-формате.
{
"status":"ok",
"action":"check_order",
"merchant_id":42,
"data": [{
"status":"complete",
"mykassa_id":"123",
"order_id":"456",
"date":"2015-01-01 00:00:00",
"amount":12.34,
"email":"[email protected]"
}]
}