/** * Update cart item meta * @access public * * @deprecated since 3.8.13 */ function wpsc_update_cartmeta($cart_item_id, $meta_key, $meta_value) { _wpsc_deprecated_function(__FUNCTION__, '3.8.13', 'wpsc_update_cart_item_meta'); return wpsc_update_cart_item_meta($cart_item_id, $meta_key, $meta_value); }
/** * process_gateway_notification method, receives data from the payment gateway * @access public */ function process_gateway_notification() { $status = false; switch (strtolower($this->paypal_ipn_values['payment_status'])) { case 'pending': $status = 2; break; case 'completed': $status = 3; break; case 'denied': $status = 6; break; } do_action('wpsc_paypal_pro_ipn', $this->paypal_ipn_values, $this); // Compare the received store owner email address to the set one if (strtolower($this->paypal_ipn_values['receiver_email']) == strtolower(get_option('paypal_multiple_business'))) { switch ($this->paypal_ipn_values['txn_type']) { case 'cart': case 'express_checkout': if ($status) { $this->set_transaction_details($this->paypal_ipn_values['txn_id'], $status); } if (in_array($status, array(2, 3))) { transaction_results($this->cart_data['session_id'], false); } break; case 'subscr_signup': case 'subscr_payment': if (in_array($status, array(2, 3))) { $this->set_transaction_details($this->paypal_ipn_values['subscr_id'], $status); transaction_results($this->cart_data['session_id'], false); } foreach ($this->cart_items as $cart_row) { if ($cart_row['is_recurring'] == true) { do_action('wpsc_activate_subscription', $cart_row['cart_item_id'], $this->paypal_ipn_values['subscr_id']); do_action('wpsc_activated_subscription', $cart_row['cart_item_id'], $this); } } break; case 'subscr_cancel': case 'subscr_eot': case 'subscr_failed': foreach ($this->cart_items as $cart_row) { $altered_count = 0; if ((bool) $cart_row['is_recurring'] == true) { $altered_count++; wpsc_update_cart_item_meta($cart_row['cart_item_id'], 'is_subscribed', 0); } } break; default: break; } } $message = "\n\t\t{$this->paypal_ipn_values['receiver_email']} => " . get_option('paypal_multiple_business') . "\n\t\t{$this->paypal_ipn_values['txn_type']}\n\t\t{$this->paypal_ipn_values['mc_gross']} => {$this->cart_data['total_price']}\n\t\t{$this->paypal_ipn_values['txn_id']}\n\n\t\t" . print_r($this->cart_items, true) . "\n\t\t{$altered_count}\n\t\t"; }
/** * process_gateway_notification method, receives data from the payment gateway * @access public */ function process_gateway_notification() { global $wpdb; $status = 1; switch (strtolower($this->paypal_ipn_values['payment_status'])) { case 'pending': $status = 2; break; case 'completed': $status = 3; break; case 'denied': $status = 6; break; } do_action('wpsc_paypal_standard_ipn', $this->paypal_ipn_values, $this); $paypal_email = strtolower(get_option('paypal_multiple_business')); if (!$this->is_valid_ipn_response()) { return; } // Compare the received store owner email address to the set one if (strtolower($this->paypal_ipn_values['receiver_email']) == $paypal_email || strtolower($this->paypal_ipn_values['business']) == $paypal_email) { switch ($this->paypal_ipn_values['txn_type']) { case 'cart': case 'express_checkout': case 'web_accept': // import shipping & billing details if this is from "Buy Now" button if (isset($this->paypal_ipn_values['custom']) && $this->paypal_ipn_values['custom'] == 'buy_now') { $this->import_ipn_data(); } if ($status > 1) { $this->set_transaction_details($this->paypal_ipn_values['txn_id'], $status); } if (in_array($status, array(2, 3))) { transaction_results($this->cart_data['session_id'], false); } break; case 'subscr_signup': case 'subscr_payment': if (in_array($status, array(2, 3))) { $this->set_transaction_details($this->paypal_ipn_values['subscr_id'], $status); transaction_results($this->cart_data['session_id'], false); } foreach ($this->cart_items as $cart_row) { if ($cart_row['is_recurring'] == true) { do_action('wpsc_activate_subscription', $cart_row['cart_item_id'], $this->paypal_ipn_values['subscr_id']); do_action('wpsc_activated_subscription', $cart_row['cart_item_id'], $this); } } break; case 'subscr_cancel': do_action('wpsc_paypal_standard_deactivate_subscription', $this->paypal_ipn_values['subscr_id'], $this); break; case 'subscr_eot': case 'subscr_failed': foreach ($this->cart_items as $cart_row) { $altered_count = 0; if ((bool) $cart_row['is_recurring'] == true) { $altered_count++; wpsc_update_cart_item_meta($cart_row['cart_item_id'], 'is_subscribed', 0); } } break; default: break; } } }