Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия Следущая версия Both sides next revision | ||
api-bills [2011/09/13 09:38] admin |
api-bills [2014/01/10 09:08] admin |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
Для того чтобы выставить счет за определенный товар на определенную сумму следует использовать механизм создания ссылок-счетов с использованием API Onpay.\\ | Для того чтобы выставить счет за определенный товар на определенную сумму следует использовать механизм создания ссылок-счетов с использованием API Onpay.\\ | ||
\\ | \\ | ||
+ | ==== Параметры ==== | ||
Для получения ссылки (счета) необходимо отправить запрос (GET или POST) на адрес https://secure.onpay.ru/pay/make_payment_link со следующими параметрами:\\ | Для получения ссылки (счета) необходимо отправить запрос (GET или POST) на адрес https://secure.onpay.ru/pay/make_payment_link со следующими параметрами:\\ | ||
- | |||
**pay_amount** - сумма счета\\ | **pay_amount** - сумма счета\\ | ||
**pay_for** - назначение платежа\\ | **pay_for** - назначение платежа\\ | ||
- | **currency** - тикер валюты оплаты\\ | + | **one_way** - форма оплаты одним способом (тикер валюты) (не обязательно)\\ |
- | **user_login** - логин пользователя\\ | + | **ticker**, он же **currency** - тикер валюты оплаты\\ |
+ | **user_login** - адрес платежной формы (обычно тот же, что и логин пользователя)\\ | ||
user_email - адрес электронной почты плательщика (не обязательно)\\ | user_email - адрес электронной почты плательщика (не обязательно)\\ | ||
- | one_way - форма оплаты одним способом (тикер валюты) (не обязательно)\\ | ||
**price_final** - комиссию платежной системы взымать с продавца (true или false)\\ | **price_final** - комиссию платежной системы взымать с продавца (true или false)\\ | ||
**pay_type** - конвертировать все платежи в выбранную валюту (1 - да, 2 - нет)\\ | **pay_type** - конвертировать все платежи в выбранную валюту (1 - да, 2 - нет)\\ | ||
- | **notify_by_api** - проверять возможность оплаты через API мерчанта\\ | + | **notify_by_api** - проверять возможность оплаты через API мерчанта (Если True - при оплате мерчант получит запрос через указанный им в зеленом кабинете URL API IN. Если на запрос не будет ответа или ответ будет негативным, оплата не пройдет)\\ |
- | **md5** - строка, полученная вычислением MD5 от конкатенации pay_amount,pay_for,currency,user_login,one_way,price_final,pay_type,notify_by_api,api_in_key разделенных двоеточием (:)\\ | + | **md5** - строка, полученная вычислением MD5 от конкатенации pay_amount, pay_for, ticker, user_login, price_final, pay_type, notify_by_api, api_in_key, разделенных двоеточием (:) - после конкатенации через двоеточие строку перед вычислением MD5 надо перевести в верхний регистр.\\ |
\\ | \\ | ||
- | где api_in_key - пароль для API мерчанта\\ | + | !!! В запросе также обязательно должен присутствовать параметр **api_in_key** = Пароль для API (secret_key) со страницы "Настройки магазина" личного кабинета. \\ |
+ | Все параметры, содержащие символы не относящиеся к ASCII должны быть переданы в кодировке utf8.\\ | ||
\\ | \\ | ||
В случае успеха статус ответа будет 200 и в теле ответа будет сгенерированная ссылка.\\ | В случае успеха статус ответа будет 200 и в теле ответа будет сгенерированная ссылка.\\ | ||
В случае неудачи статус ответа будет 400 и в теле ответа будет объяснение причины.\\ | В случае неудачи статус ответа будет 400 и в теле ответа будет объяснение причины.\\ | ||
\\ | \\ | ||
- | Причины могут быть следующие: неправильный md5 или ошибки при сохранении счета (зависит от валидации).\\ | + | Причины могут быть следующие: неправильный 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 запроса ==== | ||
+ | |||
+ | 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 https://secure.onpay.ru/pay/make_payment_link { | ||
+ | "price_final"=>"true", | ||
+ | "user_login"=>"onpay", | ||
+ | "notify_by_api"=>"true", | ||
+ | "pay_type"=>"1", | ||
+ | "pay_amount"=>"100", | ||
+ | "ticker"=>"RUR", | ||
+ | "md5"=>"cf653b4c4a7861b2224bd31eb3e3f291", | ||
+ | "pay_for"=>"Order 342", | ||
+ | "user_email"=>"user@pochta.ru" | ||
+ | } |