вторник, 29 июля 2008 г.

Мерчант (LiqPAY)

Система Click&Buy(Нажми и Купи) версии 1.1

Замените значения параметров на нужные вам сумму и валюту (UAH,USD,EUR,RUR) и описание товара(он отображается у клиента как комментарий), максимальная длина описания - 127 символов.
Если вы хотите чтобы после покупки(или отказа от покупки) пользователь перешел на вашу страницу добавьте в форму необязательный параметр: http://your_site.com/liqpay_return.html. Если вы пишите скрипт, то на этот URL приходят все параметры покупки и подпись(signature) по которой вы сможете понять что человек действительно заплатил, а не хакер пытается обмануть вашу систему. О том что покупка совершена говорит status="success", покупка отклонена status="failure", а если status="wait_secure" то платеж находится на проверке. Проверка происходит когда человек первый раз оплачивает своей картой в системе, система пока молодая так что status="wait_secure" будет происходить часто, чтобы обрабатывать такие платежы вам поможет параметр server_url, об этом читайте ниже. Если вы не пользуетесь автоматикой, то вы должны дождаться когда транзакция пройдет проверку и вам поступят деньги от нее, это видно в аккаунте системы.
Для того чтобы автоматизировать покупку вы должны использовать необязательный параметр:

http://your_site.com/server_liqpay_return.cgi на этот URL будут приходить все параметры покупки и подпись(signature) от нашего сервера(т.е. в обход пользователя). Отличие от result_url только в том что result_url происходит при редиректе в браузере клиента, а server_url происходит от нашего сервера (пользователь его вообще не видит). server_url необходим вам потому что: а) если пользователь по какой-то причине не дошел до result_url хотя удачно оплатил или отменил оплату, то на server_url придет запрос от нашего сервера об удаче или отмене, и вы сможете закрыть операцию покупки все равно. б) если вам пришел status="wait_secure", это значит что платеж на проверке, и только server_url вам сообщит после проверки о том что платеж одобрен(status="success") или отклонен(status="failure"), result_url после проверки не приходит!
Будьте внимательны, если вы используете одновременно и result_url и server_url то вам приходит одновременно два успеха, смотрите два раза не отдайте товар покупателю! И может такое случится что server_url придет раньше result_url, смотрите чтобы в таком случае клиент не получил ошибку от вас!
Параметр order_id - это идентификатор покупки, максимальная длина - 127 символов. Параметр необязательный, но для автоматизированной системы продажи рекомендуется его использовать с настройкой "Требовать уникальность order_id" для того чтобы конкретную единицу товара могли купить только один раз и для того чтобы вас не обманули простыми повторными запросами на result_url! В order_id нельзя использовать символ ""! Можно не использовать уникальность order_id т.к. приходящий параметр transaction_id(читайте ниже) уникален для каждой оплаты вне зависимости от order_id.
Подпись считается следующим образом: signature_source = "" + version + "" + merchant_password + "" + action_name + "" + sender_phone + "" + merchant_id + "" + amount +"" + currency + "" + order_id + "" + transaction_id + "" + status + "" + code + "" signature = base64(sha1(signature_source)) Все параметры, кроме merchant_password, приходят на result_url и server_url по методу POST с соответствующими именами. merchant_password - это пароль вашего мерчанта, храните в секрете и нигде не передавайте его, он является залогом вашей безопасности при автоматической продаже!
Приходящие параметры: action_name - способ ответа, может быть "result_url" или "server_url" в зависимости от того каким способом был прислан ответ. sender_phone - номер телефона плательщика. transaction_id - номер транзакции в системе. status - код ответа, может быть "success", "failure", "wait_secure". code - уточняющий код ответа, пока не используется. Все остальные приходящие параметры равны входящим параметрам. response_code, reason_code, id - устаревшие параметры, не используйте их. Будьте внимательны, ответ от нас приходит в кодировке utf8 (особенно смотрите за параметрами order_id, description)!
Примерно через неделю выйдет Click&Buy версии 1.2 на основе XML, где будет входящая подпись. А также выйдет API версии 1.2, через которую можно будет осуществлять платежы с вашего аккаунта без мобилы в автоматическом режиме.


1 комментарий:

Unknown комментирует...

А вот этот так называемый мерчант аккаунт https://www.offagg.com/merchant/ можно подключить под любой банк или онлайн платежи типа PayPal?