1 у каждой оплаты своя схема работы но принцеп действия один и тотже вернуть скрипту резалт ОК или 1
Расмотрим вебмани! у вас должен быть файл для обработки ответа от сервера....
например webmoney_web_result.php это резалт путь скрипта нужно прописывать в merchant.webmoney.ru кабинете
| Код |
include_once $_SERVER['DOCUMENT_ROOT'] . "/config.php"; // конфиг
$WM_PAYEE_PURSE = "R28438*******"; // НОМЕР КАШЕЛЬКА куда принемать деньги используется чтобы не подменили в форме. $order_id = (!empty($_POST['order_id'])) ? intval($_POST['order_id']) : 0; $CNST_SECRET_KEY ="1221"; // секретный код должен настраиваться в платежном кабинете...
if($_POST['LMI_PREREQUEST']==1 ) { $sql="SELECT * FROM `server_order` WHERE `id`={$order_id} LIMIT 1;"; // таблица заказов $res = $db->query($sql); if($res->num_rows == 0) { echo "ERR: НЕТ ТАКОГО ТОВАРА"; exit; } $row = $res->fetch_assoc(); if(trim($row['price'])!=trim($_POST['LMI_PAYMENT_AMOUNT'])) { echo "ERR: НЕВЕРНАЯ СУММА ".$_POST['LMI_PAYMENT_AMOUNT']; exit; }
if(trim($_POST['LMI_PAYEE_PURSE'])!=$WM_PAYEE_PURSE) { echo "ERR: НЕВЕРНЫЙ КОШЕЛЕК ПОЛУЧАТЕЛЯ ".$_POST['LMI_PAYEE_PURSE']; exit; } echo "YES"; }// Если нет LMI_PREREQUEST, следовательно это форма оповещения о платеже... else{ $msg = "Пусто";
// проверка кода. $strCheck = md5($_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"].$CNST_SECRET_KEY.$_POST["LMI_PAYER_PURSE"].$_POST["LMI_PAYER_WM"]); if ($bCorrectPayment && strtoupper($_POST["LMI_HASH"]) != strtoupper($strCheck)) $bCorrectPayment = False; // если код верный и оплата есть то дальше. if ($bCorrectPayment){ $strPS_STATUS_DESCRIPTION = ""; if ($_POST["LMI_MODE"] != 0) $strPS_STATUS_DESCRIPTION .= "тестовый режим, реально деньги не переводились; "; $strPS_STATUS_DESCRIPTION .= "кошелек продавца - ".$_POST["LMI_PAYEE_PURSE"]."; "; $strPS_STATUS_DESCRIPTION .= "номер счета - ".$_POST["LMI_SYS_INVS_NO"]."; "; $strPS_STATUS_DESCRIPTION .= "номер платежа - ".$_POST["LMI_SYS_TRANS_NO"]."; "; $strPS_STATUS_DESCRIPTION .= "дата платежа - ".$_POST["LMI_SYS_TRANS_DATE"]."";
$strPS_STATUS_MESSAGE = ""; $strPS_STATUS_MESSAGE .= "кошелек покупателя - ".$_POST["LMI_PAYER_PURSE"]."; "; $strPS_STATUS_MESSAGE .= "WMId покупателя - ".$_POST["LMI_PAYER_WM"]."; "; if (isset($_POST["LMI_PAYMER_NUMBER"]) && strlen($_POST["LMI_PAYMER_NUMBER"])>0) $strPS_STATUS_MESSAGE .= "номер ВМ-карты - ".$_POST["LMI_PAYMER_NUMBER"]."; "; if (isset($_POST["LMI_PAYMER_EMAIL"]) && strlen($_POST["LMI_PAYMER_EMAIL"])>0) $strPS_STATUS_MESSAGE .= "paymer.com e-mail покупателя - ".$_POST["LMI_PAYMER_EMAIL"]."; "; if (isset($_POST["LMI_TELEPAT_PHONENUMBER"]) && strlen($_POST["LMI_TELEPAT_PHONENUMBER"])>0) $strPS_STATUS_MESSAGE .= "телефон покупателя - ".$_POST["LMI_TELEPAT_PHONENUMBER"]."; "; if (isset($_POST["LMI_TELEPAT_ORDERID"]) && strlen($_POST["LMI_TELEPAT_ORDERID"])>0) $strPS_STATUS_MESSAGE .= "платеж в Телепате - ".$_POST["LMI_TELEPAT_ORDERID"]."";
$msg =$strPS_STATUS_DESCRIPTION . " " . $strPS_STATUS_MESSAGE; // делаем чтото с оплатой открываем доступ узеру например... // у меня это выдача лицензионного ключа.
} $to = '[email protected]'; // себе отчет на мыло... $subject = 'WM PAY'; $message = $msg; $headers = 'From: [email protected]' . "\r\n" . 'Reply-To: [email protected]' . "\r\n" . 'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers); }
|
Форма оплаты
| Код | <? $price= 2000; //цена $order_id = 1; // ID заказа можно передовать от болды клиенту... ?> <form action="https://merchant.webmoney.ru/lmi/payment.asp" method="POST"> <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="<?=$price?>"> <input type="hidden" name="LMI_PAYMENT_DESC" value="Лицензионный ключ к продукту **** CMS standart"> <input type="hidden" name="LMI_PAYMENT_DESC_BASE64" value="<?=base64_encode('Лицензионный ключ к продукту **** CMS standart')?>">
<input type="hidden" name="LMI_PAYMENT_NO" value="<?=$order_id?>"> <input type="hidden" name="LMI_PAYEE_PURSE" value="НОМЕР КОШЕЛЬКА КУДА ОТПРАВИТЬ ДЕНЬГИ"> <input type="hidden" name="LMI_SIM_MODE" value="0"> <input type="hidden" name="order_id" value="<?=$order_id?>"> <input type="submit" name="submit" value="Оплатить"> </form>
|
Для полноценной работы увас должен быть атестат продавца иначе нечего не получется это стоит всего 20-40$ долоров WMZ
Вся нужная дока есть https://merchant.webmoney.ru/conf/guide_simple.asp
|