Автоматизация выплат через API

Автоматизация выплат через API
API используется для генерации платежных поручений от имени пользователя Onpay на перевод денег на любой кошелек moybiz.
Для создания заявки на вывод в кошелек moybiz сайт пользователя выполняет POST запрос на адрес https://secure.onpay.ru/api/out_mbz со следующими параметрами:

Поле запроса Тип и возможные значение Назначение Комментарий
operation строка 'pay' Тип операции Обязательный параметр, выбирает тип операции
amount Число с плавающей запятой Сумма Обязательный параметр, сумма перечисления
pay_for строка Назначение платежа Обязательный параметр, назначение платежа, UTF8
recipient строка, e-mail Получатель платежа Обязательный параметр, email получателя платежа, служащий идентификатором в moybiz
merchant строка Плательщик Обязательный параметр, адрес платежной формы сайта в системе Onpay, с которого уйдут деньги
protection строка Код протекции Обязательный параметр - код протекции перевода в кошельке
days число Количество дней протекции Обязательный параметр - количество дней действия протекции
sign строка, SHA1 Подпись Приведенная к верхнему регистру контрольная сумма в шестнадцатиричном виде по алгоритму SHA1 от приведенной к верхнему регистру строки, полученной сложением строк operation, merchant, merchant_psk разделенных точкой с запятой. Пример строки - «balance;onpay;uXeito3jeihe»


Пример запроса на выплату:

POST https://secure.onpay.ru/api/out_mbz HTTP/1.0
operation: pay
amount: 123.0
pay_for: Заказ №170838
recipient: Vasily.Pupkin@mail.ru
merchant: onpay
protection: secret123
days: 30
sign: 402BE2A3753421510F327EFFA82333EEA66F08FE


Onpay отвечает строкой, содержащей код ошибки (0 - успех), результат операции в текстовом виде и подписью, образованной из приведенной к верхнему регистру контрольной суммы в шестнадцатиричном виде по алгоритму SHA1 от приведенной к верхнему регистру строки, полученной сложением кода результата, результата и merchant_psk. В ответе может отсутствовать подпись, если запрос не позволяет идентифицировать мерчанта и получить его PSK. Примеры ответов:

0;ОК;2D9E1AA59520BAC0D74D65ABED1A78A7502654EC
10;Signature wrong;B31599FC8287A4A21AC79B3F5C69BDC32422A4C4
5;Not enough money;949EE6AABC4E449B8D035F91C336747A36B37987



Для получения баланса сайт пользователя выполняет POST запрос на адрес https://secure.onpay.ru/api/out_mbz со следующими параметрами:

Поле запроса Тип и возможные значение Назначение Комментарий
operation строка 'pay' Тип операции Обязательный параметр, выбирает тип операции
merchant строка Плательщик Обязательный параметр, адрес платежной формы сайта в системе Onpay, с которого уйдут деньги
sign строка, SHA1 Подпись Приведенная к верхнему регистру контрольная сумма в шестнадцатиричном виде по алгоритму SHA1 от приведенной к верхнему регистру строки, полученной сложением параметров operation, amount, pay_for, recipient, merchant, protection, days, merchant_psk разделенных точкой с запятой. Здесь merchant_psk - секретный ключ мерчанта, который он вводит в зеленом кабинете. Пример строки - «pay;123.0;Заказ №170838;Vasily.Pupkin@mail.ru;onpay;secret123;30;uXeito3jeihe»


Пример запроса на баланс:

POST https://secure.onpay.ru/api/out_mbz HTTP/1.0
operation: balance
merchant: onpay
sign: CAFD1A5DD502758EF23851C05511C3AE61DBD3BC



Onpay отвечает строкой, содержащей код ошибки (0 - успех), результат операции в текстовом виде, баланс и подписью, образованной из приведенной к верхнему регистру контрольной суммы в шестнадцатиричном виде по алгоритму SHA1 от приведенной к верхнему регистру строки, полученной сложением кода результата, результата, баланса и merchant_psk. В ответе может отсутствовать подпись, если запрос не позволяет идентифицировать мерчанта и получить его PSK. Если операция не успешна, баланса не будет ни в ответе, ни в подписи. Примеры ответов:

0;ОК;10000.0;6949CC86621AC1A9D831C51E65AB3B350DF5EFE1
10;Signature wrong;B31599FC8287A4A21AC79B3F5C69BDC32422A4C4

Ограничения
1. API не будет работать, если у мерчанта не авторизован мобильный телефон. На странице настроек будет предложено авторизовать мобильный телефон, а все элементы управления будут серые.
2. Все изменения в настройках, касающиеся этого API в зеленом кабинете проходят процедуру подтверждения через мобильный телефон мерчанта.
3. Запрос пришел не с IP адреса, указанного в настройках API в Кабинете Продавца
4. Платеж через API подвержен такой же модерации, как и остальные, т.е. лимитам за сутки и лимитам по задержке
5. За 3 ошибки в контрольной сумме, аккаунт блокируется на 30 минут
6. Денег на счету должно быть достаточно
7. Не превышена сумма в 1018 рублей за последние сутки
8. Вывод в выбранную ПС должен быть разрешен мерчанту в синем кабинете