|
resident
Веб-группа «Дабл Ю»
Зарегистрирован: 2005-01-10
Сообщений: 336
|
создать компонент платежи
пользователь указывает сумму, добавляет объект в базу
в действии после добавления форма для оплаты на робокассе с параметрами платежа (Message_ID в вашем компоненте)
создаете, например, макет для обработки платежей, ставите его в какой-либо раздел
настраиваете в robox адреса куда отправлять запросы, напимер,
/robox/?act=Success
/robox/?act=Fail
/robox/?act=Result
Код:
получение информации об оплате
if($_GET[act]=='Result') {
if(strtolower($_POST[SignatureValue])==md5("$_POST[OutSum]:$_POST[InvId]:$roboxkey2")) {
$db->query("UPDATE Message111 SET Status=6 WHERE FinalCost='".mysql_real_escape_string($_POST[OutSum])."' AND Message_ID=".($_POST[InvId]+0)."");
if($db->rows_affected) {
echo "OK".($_POST[InvId]+0)."";
//отправка письма менеджеру
$mailer = new CMIMEMail();
$from = $system_env['SpamFromEmail'];
$fromname = $system_env['SpamFromName'];
$manager_email = $system_env['SpamFromEmail'];
$mailinfo[body]="Заказ #".($_POST[InvId]+0)." оплачен ";
$mailinfo[subject]="Заказ #".($_POST[InvId]+0)." оплачен ";
$mailer->mailbody( strip_tags($mailinfo['body']), $mailinfo['html'] ? $mailinfo['body'] : "");
$mailer->send($manager_email, $from, $from, $mailinfo['subject'], $fromname);
}
}
die();
}
// информация для пользователя что платеж прошел
if($_GET[act]=='Success') {
if(strtolower($_POST[SignatureValue])==md5("$_POST[OutSum]:$_POST[InvId]:$roboxkey1")) {
$Status=$db->get_var("SELECT Status FROM Message111 WHERE Message_ID=".($_POST[InvId]+0)." ");
if($Status==6) {
echo "<h3>Заказ #".($_POST[InvId]+0)." на сумму ".($_POST[OutSum]+0)." рублей оплачен</h3>";
echo $nc_minishop->get_afterorder_text($_POST[InvId]+0);
}
else echo "<h3>Заказ #".($_POST[InvId]+0)." не оплачен, обратитесь к администратору</h3>";
}
}
// пользователь отказался от оплаты
if($_GET[act]=='Fail') {
if(strtolower($_POST[SignatureValue])==md5("$_POST[OutSum]:$_POST[InvId]:$roboxkey1")) {
$db->get_var("UPDATE Message111 SET Status=4 WHERE Message_ID=".($_POST[InvId]+0)." ");
echo "<h3>Отказ от оплаты заказа #".($_POST[InvId]+0)."</h3>";
}
}
|