Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
api-bills [2011/10/11 12:58] admin |
api-bills [2015/09/24 08:30] (текущий) admin |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | Для того чтобы выставить счет за определенный товар на определенную сумму следует использовать механизм создания ссылок-счетов с использованием API Onpay.\\ | + | ======Выставление счета через API====== |
+ | |||
+ | Для того чтобы автоматически выставить счет за определенный товар на определенную сумму можно использовать механизм создания ссылок-счетов с использованием 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** - назначение платежа\\ | + | ^ Параметр ^ формат ^ Описание ^ |
- | **currency** - тикер валюты оплаты\\ | + | | pay_amount | число, разделитель - точка, будет округлено до 2 знаков после разделителя | сумма счета | |
- | **user_login** - логин пользователя\\ | + | | pay_for | строка | назначение платежа | |
- | user_email - адрес электронной почты плательщика (не обязательно)\\ | + | | one_way | строка | форма оплаты одним способом (тикер валюты) (не обязательно) | |
- | **price_final** - комиссию платежной системы взымать с продавца (true или false)\\ | + | | ticker | строка | 3-символьное обозначение валюты оплаты(в верхнем регистре) | |
- | **pay_type** - конвертировать все платежи в выбранную валюту (1 - да, 2 - нет)\\ | + | | user_login | строка | логин магазина в системе Onpay | |
- | **notify_by_api** - проверять возможность оплаты через API мерчанта\\ | + | | user_email | строка | адрес электронной почты плательщика (не обязательно) | |
- | **md5** - строка, полученная вычислением MD5 от конкатенации pay_amount, pay_for, currency, user_login, price_final, pay_type, notify_by_api, api_in_key, разделенных двоеточием (:) - после конкатенации через двоеточие строку перед вычислением MD5 надо перевести в верхний регистр.\\ | + | | price_final | строка, "1" или "0"(по умолчанию "0") | если "1", комиссия платежной системы будет взыматься с продавца | |
- | \\ | + | | pay_type | целое число, 1 или 2 | конвертировать все платежи в выбранную валюту (1 - да, 2 - нет) | |
- | !!! В запросе также обязательно должен присутствовать параметр **api_in_key** - пароль для API [[http://wiki.onpay.ru/doku.php?id=merchant|Мерчанта]]\\ | + | | 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.\\ | ||
+ | **ВНИМАНИЕ!** НЕ применяйте функцию base64, CGI и CGI (UTF8), не пишите транслитом, не придумывайте отсебятину, делайте как написано.\\ | ||
\\ | \\ | ||
В случае успеха статус ответа будет 200 и в теле ответа будет сгенерированная ссылка.\\ | В случае успеха статус ответа будет 200 и в теле ответа будет сгенерированная ссылка.\\ | ||
В случае неудачи статус ответа будет 400 и в теле ответа будет объяснение причины.\\ | В случае неудачи статус ответа будет 400 и в теле ответа будет объяснение причины.\\ | ||
- | \\ | + | |
- | Причины могут быть следующие: неправильный MD5 или ошибки при сохранении счета (зависит от валидации).\\ | + | |
- | \\ | + | |
- | ==== Форматы параметров ==== | + | |
- | **pay_amount**: число, будет округлено до 2 знаков после запятой\\ | + | |
- | **pay_for**: строка \\ | + | |
- | **user_email**: строка\\ | + | |
- | **currency**: 3-символьное обозначение валюты оплаты (тикер), строка\\ | + | |
- | **user_login**: строка, логин мерчанта в системе Onpay\\ | + | |
- | **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 - строка**\\ | + | |
- | \\ | + | |
==== Пример GET запроса ==== | ==== Пример GET запроса ==== | ||
- | https://secure.onpay.ru/pay/make_payment_link?pay_amount=100&pay_for=Order%20342&user_email=user@pochta.ru¤cy=RUR&user_login=onpay&price_final=true&md5=cf653b4c4a7861b2224bd31eb3e3f291&pay_type=1¬ify_by_api=true \\ | + | https://secure.onpay.ru/pay/make_payment_link?pay_amount=100&pay_for=Order%20342&user_email=user@pochta.ru&ticker=RUR&user_login=onpay&price_final=true&md5=cf653b4c4a7861b2224bd31eb3e3f291&pay_type=1¬ify_by_api=true \\ |
==== Пример 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", | ||
Строка 43: | Строка 36: | ||
"pay_type"=>"1", | "pay_type"=>"1", | ||
"pay_amount"=>"100", | "pay_amount"=>"100", | ||
- | "currency"=>"RUR", | + | "ticker"=>"RUR", |
"md5"=>"cf653b4c4a7861b2224bd31eb3e3f291", | "md5"=>"cf653b4c4a7861b2224bd31eb3e3f291", | ||
"pay_for"=>"Order 342", | "pay_for"=>"Order 342", | ||
"user_email"=>"user@pochta.ru" | "user_email"=>"user@pochta.ru" | ||
} | } |