/** * * * @param unknown $order * @param unknown $author_email * @param unknown $setPaymentOptionsRequest * @param unknown $is_admin (optional) * * @return unknown */ public function set_vendor_items($order, $setPaymentOptionsRequest) { $receivers = PV_Vendors::get_vendor_dues_from_order($order, false); foreach ($receivers as $products) { $invoice_items = array(); $shipping_given = $tax_given = 0; foreach ($products as $key => $product) { $product_id = $product['product_id']; $shipping_given += $product['shipping']; $tax_given += $product['tax']; if (!empty($product['commission'])) { $item = new InvoiceItem(); $item->name = get_the_title($product_id); $item->identifier = $product_id; $item->price = $product['commission']; $item->itemPrice = round($product['commission'] / $product['qty'], 2); $item->itemCount = $product['qty']; $invoice_items[] = $item; } } if (empty($invoice_items)) { continue; } $receiverOptions = new ReceiverOptions(); $setPaymentOptionsRequest->receiverOptions[] = $receiverOptions; // Set the current vendor $receiverId = new ReceiverIdentifier(); $receiverId->email = $product['vendor_id'] == 1 ? $this->main_paypal : PV_Vendors::get_vendor_paypal($product['vendor_id']); $receiverOptions->receiver = $receiverId; $receiverOptions->invoiceData = new InvoiceData(); $receiverOptions->invoiceData->item = $invoice_items; $receiverOptions->invoiceData->totalTax = $tax_given; $receiverOptions->invoiceData->totalShipping = $shipping_given; } return $setPaymentOptionsRequest; }