| 
   
    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>"; 
  } 
} 
  
    
   |