Esempio n. 1
0
 /**
  * description 
  * @param snippet
  * @since snippet.
  * @author Duocnv
  */
 public function successful_request($posted)
 {
     // Insert the post into the database
     $posted = stripslashes_deep($posted);
     if (!empty($posted['invoice'])) {
         $order_pay = new AE_Order($posted['invoice']);
         $order_pay->set_payment_code($_POST['txn_id']);
         $order_pay->set_payer_id($_POST['payer_id']);
         $posted['payment_status'] = strtolower($posted['payment_status']);
         $posted['txn_type'] = strtolower($posted['txn_type']);
         if (1 == $posted['test_ipn'] && 'pending' == $posted['payment_status']) {
             $posted['payment_status'] = 'completed';
         }
         switch ($posted['payment_status']) {
             case 'completed':
                 $order_pay->set_status('publish');
                 break;
             case 'pending':
                 $order_pay->set_status('pending');
                 break;
             case 'denied':
             case 'expired':
             case 'failed':
             case 'voided':
                 $order_pay->set_status('draft');
                 break;
         }
         $order_pay->update_order();
         exit;
     }
 }