コード例 #1
0
 case 'echeck-cleared':
 case 'denied-address':
 case 'denied-multicurrency':
 case 'denied-echeck':
 case 'failed-echeck':
 case 'denied-intl':
 case 'denied':
 case 'voided':
 case 'express-checkout-cleared':
     ipn_debug_email('IPN NOTICE :: Storing order/update details for order #' . $ordersID . ' txn_id: ' . $_POST['txn_id'] . ' PP IPN ID: ' . $paypalipnID);
     if ($txn_type == 'parent') {
         $sql_data_array = ipn_create_order_array($ordersID, $txn_type);
         zen_db_perform(TABLE_PAYPAL, $sql_data_array);
         $paypalipnID = $db->Insert_ID();
     } else {
         $sql_data_array = ipn_create_order_update_array($txn_type);
         zen_db_perform(TABLE_PAYPAL, $sql_data_array, 'update', "txn_id='" . ($txn_type == 'cleared-authorization' ? $_POST['parent_txn_id'] : $_POST['txn_id']) . "'");
         $sql = "select paypal_ipn_id from " . TABLE_PAYPAL . " where txn_id='" . $_POST['txn_id'] . "'";
         $result = $db->Execute($sql);
         $paypalipnID = $result->fields['paypal_ipn_id'];
     }
     $sql_data_array = ipn_create_order_history_array($paypalipnID);
     zen_db_perform(TABLE_PAYPAL_PAYMENT_STATUS_HISTORY, $sql_data_array);
     ipn_debug_email('IPN NOTICE :: Added PP status-history record for order #' . $ordersID . ' txn_id: ' . $_POST['txn_id'] . ' (updated/child) PP IPN ID: ' . $paypalipnID);
     switch ($txn_type) {
         case 'voided':
         case $_POST['payment_status'] == 'Refunded' || $_POST['payment_status'] == 'Reversed' || $_POST['payment_status'] == 'Voided':
             //payment_status=Refunded or payment_status=Voided
             $new_status = MODULE_PAYMENT_PAYPALWPP_REFUNDED_STATUS_ID;
             if (defined('MODULE_PAYMENT_PAYPAL_REFUND_ORDER_STATUS_ID') && (int) MODULE_PAYMENT_PAYPAL_REFUND_ORDER_STATUS_ID > 0 && !$isECtransaction) {
                 $new_status = MODULE_PAYMENT_PAYPAL_REFUND_ORDER_STATUS_ID;
コード例 #2
0
     $order->send_order_email($new_order_id, 2);
     $_SESSION['cart']->reset(true);
     break;
 case 'parent':
 case 'echeck-denied':
 case 'echeck-cleared':
     if ($txn_type == 'parent') {
         $ipn_id = $db->Execute("select zen_order_id, paypal_ipn_id\r\n                              from " . TABLE_PAYPAL . "\r\n                              where txn_id = '" . $_POST['parent_txn_id'] . "'");
     } else {
         $ipn_id = $db->Execute("select zen_order_id, paypal_ipn_id\r\n                              from " . TABLE_PAYPAL . "\r\n                              where txn_id = '" . $_POST['txn_id'] . "'");
     }
     if ($txn_type == 'parent') {
         $paypal_order = ipn_create_order_array($ipn_id->fields['zen_order_id'], $txn_type);
         zen_db_perform(TABLE_PAYPAL, $paypal_order);
     } else {
         $paypal_order = ipn_create_order_update_array($txn_type);
         zen_db_perform(TABLE_PAYPAL, $paypal_order, 'update', "txn_id='" . $_POST['txn_id'] . "'");
     }
     $paypal_order_history = ipn_create_order_history_array($ipn_id->fields['paypal_ipn_id']);
     //payment_status=Refunded
     if ($_POST['payment_status'] == 'Refunded' || $_POST['payment_status'] == 'Denied') {
         $new_status = MODULE_PAYMENT_PAYPAL_REFUND_ORDER_STATUS_ID;
     } elseif ($txn_type == 'echeck-cleared') {
         $new_status = MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID;
     }
     ipn_debug_email('IPN NOTICE:set new status ' . $new_status . ' for reason_code = ' . $_POST['pending_reason'] . " order id = " . $ipn_id->fields['zen_order_id']);
     if ($_POST['payment_status'] == 'Refunded' || $_POST['payment_status'] == 'Denied' || $txn_type == 'echeck-cleared') {
         $db->Execute("update " . TABLE_ORDERS . "\r\n                    set orders_status = '" . $new_status . "'\r\n                    where orders_id = '" . $ipn_id->fields['zen_order_id'] . "'");
         $sql_data_array = array('orders_id' => $ipn_id->fields['zen_order_id'], 'orders_status_id' => $new_status, 'date_added' => 'now()', 'comments' => 'PayPal status: ' . $_POST['payment_status'] . ' ' . ' @ ' . $_POST['payment_date'] . ' Parent Trans ID:' . $_POST['parent_txn_id'] . ' Trans ID:' . $_POST['txn_id'] . ' Amount: ' . $_POST['mc_gross'], 'customer_notified' => false);
         zen_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array);
     }