/** * @param Product $product * @param bool $priceIncludesTax * @param int $quantity * @param int $shippingTaxRate * @return CartItem */ public function make(Product $product, $priceIncludesTax, $quantity = 1, $shippingTaxRate = 0) { $variations = $product->getVariations(); $productVariation = $variations[0]; /* @var $productVariation ProductVariation */ $params = ['productVariationId' => $productVariation->getId(), 'quantity' => $quantity, 'product' => $product, 'basePrice' => $productVariation->getPrice(), 'priceIncludesTax' => $priceIncludesTax, 'shippingType' => $this->shippingType, 'countryId' => $this->countryId, 'shippingTaxRate' => $shippingTaxRate]; return new CartItem($params); }
/** * @return ProductVariation */ private function getThisVariation() { $variations = $this->product->getVariations(); return $variations[0]; }