Автоматизация выплат через 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. Вывод в выбранную ПС должен быть разрешен мерчанту в синем кабинете