/** * @param SyliusOrder $order * * @return Transaction */ public static function createFromOrder(SyliusOrder $order) { $totalAmount = $order->getTotal() / 100; $taxAmount = $order->getAdjustmentsTotal(AdjustmentInterface::TAX_ADJUSTMENT) / 100; $shippingAmount = $order->getAdjustmentsTotal(AdjustmentInterface::SHIPPING_ADJUSTMENT) / 100; // $coupon = $order->getPromotionCoupons()->current(); $coupon = null; $instance = new self(); $instance->setId($order->getId())->setRevenue($totalAmount)->setTax($taxAmount)->setShipping($shippingAmount)->setCoupon($coupon); return $instance; }
public function createInvoice(Order $order) { $invoice = array(); $inFaktClient = $this->createClient($order->getCustomer()->getFirstName()); $invoice['invoice']['client_id'] = $inFaktClient->id; //$invoice['invoice']['company_name'] = $client->company_name; $invoice['invoice']['bank_account'] = $this->bank_account; $invoice['invoice']['bank_name'] = $this->bank_name; /* @var $item OrderItem */ foreach ($order->getItems() as $item) { $invoice['invoice']['services'][] = array('name' => $item->getProduct()->getName(), 'gross_price' => $item->getTotal(), 'tax_symbol' => 23, 'quantity' => $item->getQuantity()); } return $this->executeCurl('invoices.json', 'post', $invoice); }
/** * @param SyliusOrder $order */ private function addProductsFromOrder(SyliusOrder $order) { /** @var \Sylius\Component\Core\Model\OrderItem $item */ foreach ($order->getItems() as $item) { /** @var \Sylius\Component\Core\Model\ProductVariant $variant */ $variant = $item->getVariant(); /** @var \Sylius\Component\Core\Model\Product $product */ $product = $variant->getProduct(); $this->addProduct($product, ['variant' => $variant->__toString(), 'quantity' => $item->getQuantity()]); } }