В общем необходимо сделать автоматическую оплату с помощью WebMoney. Который после покупки выдает рандомный логин и пасс юзеру. Есть URL https://merchant.webmoney.ru/conf/guide_simple.asp Но не очень понятно где в данном примере мне потом отдавать логин и пасс сгенерированный. Так понимаю в success.html но как определить что пользователь произвел оплату а не напрямую зашел на ту страницу подменив referer.
Туда скорее всего уходить что оплачено админское сообщение. А как мне юзеру то данные выдать после оплаты?
Работал с другой платежной системой, но принцип думаю остается тот же: 1) На твоем сайте изначально при покупке товара формируешь подпись из нужных данных, все это отправляется на мерчант для произведения оплаты. 2) Мерчант после получения оплаты от пользователя отправляет данные на ResultURL (пользователь при этом находится на мерчанте). 3) В ResultURL происходит проверка валидности присланных данных, и если все ок тут же можно произвести необходимое действие - в данном случае сгенерировать и дать пользователю пароль. Тут можно как угодно сделать - записать его в свою базу и отправить пользователю на мыло (мыло можно узнать в процессе оплаты). 4) Ну и последнее действие - мерчант после оплаты предлагает перейти на SuccessURL - тут уже просто уведомление об успешной покупке на твоем сайте, может выборка ранее сгенерированного пароля из базы и показ его пользователю.
Как-то так. Естественно поправишь под себя. PHP: <?php if (isset($_POST['LMI_PREREQUEST']) && $_POST['LMI_PREREQUEST'] == 1) { $query = mysql_query("SELECT `id`, `type`, `amount`, `sotki`, `status`, `to` FROM `payments` WHERE `id` = '" . intval($_POST['LMI_PAYMENT_NO']) . "' LIMIT 1"); if (mysql_num_rows($query)) { $row = mysql_fetch_array($query); if ($row['status'] != 'wait') { echo 'ERR: Заказ уже обработан'; mysql_query("UPDATE `payments` SET `status` = 'not paid' WHERE `id` = '" . intval($_POST['LMI_PAYMENT_NO']) . "'"); } else if ($row['to'] == 'order' && $_POST['userid'] == '0') { echo 'ERR: Вы не можете пополнить личный счет'; mysql_query("UPDATE `payments` SET `status` = 'not paid' WHERE `id` = '" . intval($_POST['LMI_PAYMENT_NO']) . "'"); } else if ($row['amount'] != trim($_POST['LMI_PAYMENT_AMOUNT'])) { echo 'ERR: НЕВЕРНАЯ СУММА'; mysql_query("UPDATE `payments` SET `status` = 'not paid' WHERE `id` = '" . intval($_POST['LMI_PAYMENT_NO']) . "'"); } else if ($row['sotki'] != trim($_POST['count'])) { echo 'ERR: НЕВЕРНОЕ КОЛИЧЕСТВО СОТОК'; mysql_query("UPDATE `payments` SET `status` = 'not paid' WHERE `id` = '" . intval($_POST['LMI_PAYMENT_NO']) . "'"); } else if (!in_array(trim($_POST['LMI_PAYEE_PURSE']), array($global['WMZ'], $global['WMU'], $global['WME'], $global['WMR']))) { echo 'ERR: НЕВЕРНЫЙ КОШЕЛЕК ПОЛУЧАТЕЛЯ ' . $_POST['LMI_PAYEE_PURSE']; mysql_query("UPDATE `payments` SET `status` = 'not paid' WHERE `id` = '" . intval($_POST['LMI_PAYMENT_NO']) . "'"); } else { echo "YES"; } } else { echo 'ERR: Заказ не найден'; } } else { error_reporting(0); $secret_key = $global['wmsecret']; $common_string = $_POST['LMI_PAYEE_PURSE'].$_POST['LMI_PAYMENT_AMOUNT'].$_POST['LMI_PAYMENT_NO']. $_POST['LMI_MODE'].$_POST['LMI_SYS_INVS_NO'].$_POST['LMI_SYS_TRANS_NO']. $_POST['LMI_SYS_TRANS_DATE'].$secret_key.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM']; $hash = strtoupper(md5($common_string)); if ($hash == $_POST['LMI_HASH']) { // ВСЕ ОК!!!!!!!! $query = mysql_query("UPDATE `payments` SET `status` = 'paid', `paidtime` = '" . mysql_real_escape_string($_POST['LMI_SYS_TRANS_DATE']) . "', `wmpurse` = '" . $_POST['LMI_PAYER_PURSE'] . "', `wmid` = '" . $_POST['LMI_PAYER_WM'] . "' WHERE `id` = '" . intval($_POST['LMI_PAYMENT_NO']) . "'"); $info = getInfoPayment($_POST['LMI_PAYMENT_NO']); order($info['userid'], $info['nickname'], $info['sotki']); } }
Обязательно надо иметь аттестат продавца? Я так и не понял. Вроде на сайте вм написано, что можно принимать "подарки" до 5.000 в день и до 30.000 в месяц и для этого не нужно иметь атт. продавца, но на нем же написано, что чтобы использовать интерфейс веб мани мерчанта, нужно сначала получить атт. продавца...
Для автоматического приема wm обязателен персональный аттестат. Без персонального аттестата как вариант использовать такой способ: статично выводить сформированную ссылку для платежа, при нажатии на этот линк у пользователя всплывает окно вм кипера (если он запущен) где уже заполнены реквизиты для перевода. В свою очередь после приема платежа вручную выполняешь нужную услугу, способ экзотический, но одно время помог PHP: echo"<center><a href=wmk:payto?Purse=R111111111111&Amount=$k_summ&Desc=Оплата%20PIN%20кода%20на%20сумму%20$k_summ%20рублей&BringToFront=Y><b> Оплатить PIN код на сумму <font color=red>$k_summ WMR</font></b></a></center>"; echo"<br>После оплаты Вам будет выслан PIN код активации баланса на сумму <font color=red>$k_summ </font>WMR, в течении 24 часов на ваш <b>WebMoney keeper</b> !"; ?>
Аттестат по деньгам обойдется в 600-700 рублей. Это не такие уж и большие деньги, если ты решил заработать, а не баловаться со скриптами в попытке кого-нить кинуть. С аттестатом можно и на Joomla поставить модуль и на Wordpress без головной боли, VirtueMart, SWMoney script наконец на сайт воткнуть и торгуй на здоровье! Ты представь что ты хочешь открыть магазин в реале без вклада! Не платить за аренду, не платить за оборудование и торговать воздухом, да еще и счет в банке без оплаты ежемесячной взять, чтобы с Юр. лицами по безналу работать... Себя послушайте ребята! Что за бред! Вложите денег хоть немного и ловите выхлоп от них, если конечно руки не из задних норманнов на джинсах растут.