понедельник, 7 июля 2008 г.

Формирование заказа. Начало платежа. (WM)

Чтобы инициировать платеж, в точке А (см. рис.1) нам нужно передать Мерчанту ряд параметров, для того чтобы Мерчант знал, какую сумму и в пользу какого продавца списывать с кошелька покупателя. Какие именно действия пользователя будут предшествовать точке А - решать вам. Но помните - к моменту, когда покупатель нажмет кнопку в точке А и перейдет на Мерчант для оплаты, вам обязательно нужно иметь информацию об этом пользователе и его покупке. Как правило, это решается одним из способов в зависимости от вашей конкретной ситуации:Покупатель формирует "корзину покупок" и заполняет информацию о себе, а ваш сайт подсчитывает и сохраняет стоимость его заказа. Такой подход обычно применяется в интернет-магазинах нецифровых товаров.Покупатель проходит регистрацию на сайте, входит в личный аккаунт и указывает сумму, на которую он собирается пополнить свой внутренний счет на вашем сайте. Чаще всего применяется на сайтах интернет-казино, хостинг-провайдеров.Покупатель просто выбирает один товар из каталога и указывает необходимую информацию о себе. Обычно такую схему можно встретить в магазинах цифровых товаров.
Так или иначе, мы не будем сейчас обсуждать описанные подходы и методы. Этой теме посвящена не одна книга по программированию и юзабилити. Однако, для того чтобы демонстрировать подключение сайта к Мерчанту на конкретном примере, условимся о задаче, которая перед нами стоит.
Пусть, нам требуется продавать покупателям некие электронные товары (скажем, коды пополнения мобильных операторов) и выслать их по email после оплаты. Также договоримся для простоты, что покупатель сможет выбирать из каталога и оплачивать за раз только один товар т.е. без формирования "корзины покупок".
Очевидно, что у нас в базе данных должна быть таблица с характеристиками товаров:

Покупатель выбирает товар из каталога, и попадает в точку А. Эта страница на вашем сайте (назовем ее order.php) должна содержать такую html-форму:

https://merchant.webmoney.ru/lmi/payment.asp">



Укажите email для отправки товара:




Будем называть это формой заказа платежа. Вот как выглядит такая страница в нашем примере. Рассмотрим форму детальнее:action - Атрибут action должен отправлять на https://merchant.webmoney.ru/lmi/payment.asp.

method - Должен использоваться метод посыла формы POST.LMI_PAYMENT_AMOUNT - Поле, которое содержит сумму платежа. Дробная часть отделяется точкой. В нашем примере значение LMI_PAYMENT_AMOUNT=0.05.LMI_PAYMENT_DESC - Поле, которое содержит примечание платежа. Должно содержать текст, желательно - наименование товара или услуги, которая продается. Максимальная длина - 255 символов. В нашем примере значение LMI_PAYMENT_DESC="код пополнения Super Mobile". LMI_PAYEE_PURSE - Ваш кошелек, только что подключенный к Мерчанту (см. главу "Предварительные настройки"). Должен состоять из буквы (Z-, R- и т.д.) и 12 цифр. По значению этого поля Мерчант распознает, в пользу какого продавца (иначе говоря, на чей кошелек) производится платеж. В нашем примере LMI_PAYMENT_PURSE="Z155771820786".

Обращаю ваше внимание, что поля LMI_PAYMENT_AMOUNT, LMI_PAYMENT_DESC, LMI_PAYEE_PURSE должны называться именно так, и никак иначе. При этом поля LMI_PAYMENT_AMOUNT и LMI_PAYEE_PURSE являются обязательными.
В той же форме можно передавать и свои произвольные параметры, если это необходимо. При чем, названы эти параметры могут быть как угодно, главное, чтобы они не начинались с префикса LMI_!). В нашем примере мы добавили в форму:Поле id - содержит id выбранного покупателем товара. Берется из таблицы goods.Поле email - покупатель указывает здесь свой email, на который он получит товар после оплаты.
После нажатия на кнопку покупатель попадает на https://merchant.webmoney.ru/lmi/payment.asp, то есть переходит на сайт Мерчанта. Одновременно с этим сайту Мерчанта, естественно, передаются и все параметры нашей формы.

Комментариев нет: