/**
  * 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;
 }
Beispiel #2
0
 /**
  *
  *
  * @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;
 }