Здесь показаны различия между двумя версиями данной страницы.
| Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
|
api-bills [2014/09/26 10:14] admin [Параметры] |
api-bills [2015/09/24 08:30] (текущий) admin |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ======Выставление счета через API====== | ||
| + | |||
| Для того чтобы автоматически выставить счет за определенный товар на определенную сумму можно использовать механизм создания ссылок-счетов с использованием API Onpay. А можно просто вручную сделать ссылку через интерфейс Кабинета продавца https://secure.onpay.ru/payment_links - для этого не потребуется никаких специальных знаний.\\ | Для того чтобы автоматически выставить счет за определенный товар на определенную сумму можно использовать механизм создания ссылок-счетов с использованием API Onpay. А можно просто вручную сделать ссылку через интерфейс Кабинета продавца https://secure.onpay.ru/payment_links - для этого не потребуется никаких специальных знаний.\\ | ||
| \\ | \\ | ||
| ==== Параметры ==== | ==== Параметры ==== | ||
| Для получения ссылки (счета) необходимо отправить запрос (GET или POST) на адрес https://secure.onpay.ru/pay/make_payment_link со следующими параметрами:\\ | Для получения ссылки (счета) необходимо отправить запрос (GET или POST) на адрес https://secure.onpay.ru/pay/make_payment_link со следующими параметрами:\\ | ||
| - | **pay_amount** - сумма счета\\ | + | |
| - | **pay_for** - назначение платежа\\ | + | ^ Параметр ^ формат ^ Описание ^ |
| - | **one_way** - форма оплаты одним способом (тикер валюты) (не обязательно)\\ | + | | pay_amount | число, разделитель - точка, будет округлено до 2 знаков после разделителя | сумма счета | |
| - | **ticker**, он же **currency** - тикер валюты оплаты\\ | + | | pay_for | строка | назначение платежа | |
| - | **user_login** - адрес платежной формы (обычно тот же, что и логин пользователя)\\ | + | | one_way | строка | форма оплаты одним способом (тикер валюты) (не обязательно) | |
| - | user_email - адрес электронной почты плательщика (не обязательно)\\ | + | | ticker | строка | 3-символьное обозначение валюты оплаты(в верхнем регистре) | |
| - | **price_final** - комиссию платежной системы взымать с продавца (true или false)\\ | + | | user_login | строка | логин магазина в системе Onpay | |
| - | **pay_type** - конвертировать все платежи в выбранную валюту (1 - да, 2 - нет)\\ | + | | user_email | строка | адрес электронной почты плательщика (не обязательно) | |
| - | **notify_by_api** - проверять возможность оплаты через API мерчанта (Если True - при оплате мерчант получит запрос через указанный им в зеленом кабинете URL API IN. Если на запрос не будет ответа или ответ будет негативным, оплата не пройдет)\\ | + | | price_final | строка, "1" или "0"(по умолчанию "0") | если "1", комиссия платежной системы будет взыматься с продавца | |
| - | **md5** - строка, полученная вычислением MD5 от конкатенации pay_amount, pay_for, ticker, user_login, price_final, pay_type, notify_by_api, api_in_key, разделенных двоеточием (:) - после конкатенации через двоеточие строку перед вычислением MD5 надо перевести в верхний регистр.\\ | + | | pay_type | целое число, 1 или 2 | конвертировать все платежи в выбранную валюту (1 - да, 2 - нет) | |
| - | \\ | + | | notify_by_api | строка, "1" или "0" | проверять возможность оплаты через API мерчанта (Если "1" - при оплате мерчант получит запрос через указанный им в зеленом кабинете URL API IN. Если на запрос не будет ответа или ответ будет негативным, оплата не пройдет) | |
| + | | md5 | строка | строка, полученная вычислением MD5 от конкатенации pay_amount, pay_for, ticker, user_login, price_final, pay_type, notify_by_api, api_in_key, разделенных двоеточием (:) перед взятием мд5 надо привести к верхнему регистру| | ||
| Все параметры, содержащие символы не относящиеся к ASCII должны быть переданы в кодировке utf8.\\ | Все параметры, содержащие символы не относящиеся к ASCII должны быть переданы в кодировке utf8.\\ | ||
| + | **ВНИМАНИЕ!** НЕ применяйте функцию base64, CGI и CGI (UTF8), не пишите транслитом, не придумывайте отсебятину, делайте как написано.\\ | ||
| \\ | \\ | ||
| В случае успеха статус ответа будет 200 и в теле ответа будет сгенерированная ссылка.\\ | В случае успеха статус ответа будет 200 и в теле ответа будет сгенерированная ссылка.\\ | ||
| В случае неудачи статус ответа будет 400 и в теле ответа будет объяснение причины.\\ | В случае неудачи статус ответа будет 400 и в теле ответа будет объяснение причины.\\ | ||
| - | \\ | + | |
| - | Причины могут быть следующие: неправильный MD5 или ошибки при сохранении счета (зависит от валидации).\\ | + | |
| - | \\ | + | |
| - | ==== Форматы параметров ==== | + | |
| - | **pay_amount**: число, будет округлено до 2 знаков после запятой\\ | + | |
| - | **pay_for**: строка \\ | + | |
| - | **user_email**: строка\\ | + | |
| - | **ticker** он же **currency**: 3-символьное обозначение валюты оплаты (тикер), строка\\ | + | |
| - | **user_login**: строка, адрес платежной формы (обычно тот же, что и логин пользователя)\\ | + | |
| - | **one_way**: 3-символьное обозначение валюты для оплаты одним способом (тикер)\\ | + | |
| - | **price_final**: булевское значение, значения '1', 'true', 'TRUE', 't', 'T' будут интерпретированы как "да", любые другие - как "нет" (в том числе, к примеру 'True' дает false)\\ | + | |
| - | **pay_type**: 1 или 2, любое другое значение вызовет ошибку\\ | + | |
| - | **notify_by_ap**i: булевское значение, значения '1', 'true', 'TRUE', 't', 'T' будут интерпретированы как "да", любые другие - как "нет" (в том числе, к примеру 'True' дает false)\\ | + | |
| - | **md5 - строка**\\ | + | |
| - | \\ | + | |
| - | **Все параметры, содержащие символы не относящиеся к ASCII должны быть переданы в кодировке utf8.**\\ | + | |
| ==== Пример GET запроса ==== | ==== Пример GET запроса ==== | ||
| Строка 39: | Строка 29: | ||
| ==== Пример POST запроса ==== | ==== Пример POST запроса ==== | ||
| - | \\ | + | |
| POST https://secure.onpay.ru/pay/make_payment_link { | POST https://secure.onpay.ru/pay/make_payment_link { | ||
| "price_final"=>"true", | "price_final"=>"true", | ||