|
Построй свой бизнес за полчаса! Докучаев Дмитрий aka Forb Xakep, номер #054, стр. 054-064-3 <input type="hidden" name="LMI_PAYMENT_NO" value="1"> <input type="hidden" name="LMI_PAYEE_PURSE" value="Z145179295679"> <input type="hidden" name="LMI_SIM_MODE" value="0"> <input type="submit" value="submit"> </form> Это пример самой короткой формы с основными и обязательными параметрами. Коротко скажу, что они означают: LMI_PAYMENT_AMOUNT - сумма, которая должна быть перечислена на счет. Указывается с точностью до первого знака. LMI_PAYMENT_DESC - описание платежа, будет высвечиваться в самом верху формы Merchant'а. LMI_PAYEE_PURSE - кошелек, на который должен осуществиться перевод. Состоит из цифры (идентификатор валюты) и 12-значного кода. LMI_SIM_MODE - режим работы системы. При значении 0 - режим тестовый, то есть система эмулирует нормальный перевод денег, но на самом деле счета остаются без изменений. Устанавливать рабочее значение 1 следует только в случае полной уверенности в правильной работе системы! Теперь все готово. Осталось настроить Merchant для согласованной работы с твоей формой. Заходим на https://merchant.webmoney.ru, ползем в раздел "Настройка" и авторизуемся в WebMoney. Перед тобой появится форма, которую необходимо заполнить. Торговое имя - подставь в это поле название своего проекта, чтобы пользователь знал, за что же он платит. Secret Key - пароль для проведения оплаты. Поставь сюда любую последовательность символов. Result URL - ссылка, на которую будут передаваться параметры платежа. Напиши значение http://your.e-shop.ru/cgi-bin/check_pay.cgi. Success URL и Fail URL - соответственно ссылки на документы, которые ты составлял чуть выше. Метод формирования контрольной подписи - MD5. Тестовый/Рабочий режимы - тестовый (не изменяй, пока не убедишься в правильной работе системы!). Доверяй, но проверяй! Система платежей бесспорно надежна, но от лишней проверки хуже никому не станет. Как ты думаешь, почему я указал ссылку на несуществующий скрипт check_pay.cgi в параметре Result URL? Потому что сейчас мы займемся кодингом и составим этот скрипт, задачей которого будет доведение процесса до автоматизма - проверка MD5-подписи и отсылка оповещающего e-mail клиенту. Не буду тебе пересказывать изнуряющие мануалы Merchant'а, скажу только, что проверка ключа происходит путем сравнения параметров, заданных в скрипте и приходящих через QUERY_STRING. Для корректной работы, нам понадобится модуль Digest::MD5 (он поставляется с дистрибутивом Perl). Вот краткий код скрипта: use CGI qw(:standard); use Digest::MD5 qw(md5_hex); $LMI_PAYEE_PURSE=param('LMI_PAYEE_PURSE'); $LMI_PAYMENT_AMOUNT=param('LMI_PAYMENT_AMOUNT'); $LMI_PAYMENT_NO=param('LMI_PAYMENT_NO'); $LMI_MODE=param('LMI_MODE'); $LMI_SYS_INVS_NO=param('LMI_SYS_INVS_NO'); $LMI_SYS_TRANS_NO=param('LMI_SYS_TRANS_NO'); $LMI_SYS_TRANS_DATE=param('LMI_SYS_TRANS_DATE'); $LMI_SYS_TRANS_DATE=~s/\%3A/\:/g; $LMI_SYS_TRANS_DATE=~s/\%20/ /g; $LMI_PAYER_PURSE=param('LMI_PAYER_PURSE'); $LMI_PAYER_WM=param('LMI_PAYER_WM'); $lmihash=param('LMI_HASH'); ## Берем все параметры из QUERY_STRING. |