Документация по API

Содержание

  1. Настройка формы оплаты
  2. Оповещение о платеже
  3. Формирование подписи
  4. Список доступных валют
  5. Интеграция
  6. Тестирование оплаты
  7. Экспорт заказов
  8. Получение баланса пользователя
  9. Вывод средств
  10. Проверка статуса заказа

Настройка формы оплаты [наверх]

Форма оплаты содержит все необходимые данные для оплаты заказа. Передается методом 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'

Если Вы хотите быть уверены, что подтверждение на 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'))) 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@yandex.ru</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 Система для вывода: 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@yandex.ru"
  }]
}