/** * Delete due commission for a vendor. * * @param array $users * * @return unknown */ private function purge_user_meta($users) { global $wpdb; $paid = PV_Commission::set_order_commission_paid($this->orders_paid, true); if ($paid) { foreach ($users as $user) { delete_user_meta($user['user_id'], 'pv_total_due'); } return true; } return false; }
/** * * * @return unknown */ public function paypal_ap_ipn() { if (empty($_GET['paypal_chain_ipn']) || empty($_GET['order_id'])) { return false; } $order_id = (int) $_GET['order_id']; $order = new WC_Order($order_id); if (!$order) { return false; } if ($_POST['status'] !== 'COMPLETED') { $order->update_status('failed', sprintf(__('Something went wrong. Response from PayPal invalidated this order. Status: %s.', 'wc_product_vendor'), $_POST['status'])); exit; } $order->payment_complete(); $order->add_order_note(__('IPN payment completed', 'wc_product_vendor')); if ($this->instapay) { PV_Commission::set_order_commission_paid($order_id); } exit; }