Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
order_item_with_downloadable_and_options.php
Go to the documentation of this file.
1 <?php
7 require __DIR__ . '/product_downloadable.php';
8 
10 
11 $addressData = include __DIR__ . '/../../../Magento/Sales/_files/address_data.php';
12 
13 $billingAddress = $objectManager->create(\Magento\Sales\Model\Order\Address::class, ['data' => $addressData]);
14 $billingAddress->setAddressType('billing');
15 
17 $shippingAddress->setId(null)->setAddressType('shipping');
18 
19 $payment = $objectManager->create(\Magento\Sales\Model\Order\Payment::class);
20 $payment->setMethod('checkmo');
21 
23 $product = $objectManager->create(\Magento\Catalog\Model\Product::class);
24 $product->load(1);
25 
27  'links' => array_keys($product->getDownloadableLinks()),
28 ];
29 
31 $orderItem = $objectManager->create(\Magento\Sales\Model\Order\Item::class);
32 $orderItem->setProductId($product->getId());
33 $orderItem->setQtyOrdered(1);
34 $orderItem->setBasePrice($product->getPrice());
35 $orderItem->setPrice($product->getPrice());
36 $orderItem->setRowTotal($product->getPrice());
37 $orderItem->setProductType($product->getTypeId());
38 $orderItem->setProductOptions(['info_buyRequest' => $requestInfo]);
39 
41 $order = $objectManager->create(\Magento\Sales\Model\Order::class);
42 $order->setIncrementId('100000001');
43 $order->setState(\Magento\Sales\Model\Order::STATE_NEW);
44 $order->setStatus($order->getConfig()->getStateDefaultStatus(\Magento\Sales\Model\Order::STATE_NEW));
45 $order->setCustomerIsGuest(true);
46 $order->setCustomerEmail('[email protected]');
47 $order->setCustomerFirstname('firstname');
48 $order->setCustomerLastname('lastname');
49 $order->setBillingAddress($billingAddress);
50 $order->setShippingAddress($shippingAddress);
51 $order->setAddresses([$billingAddress, $shippingAddress]);
52 $order->setPayment($payment);
53 $order->addItem($orderItem);
54 $order->setStoreId($objectManager->get(\Magento\Store\Model\StoreManagerInterface::class)->getStore()->getId());
55 $order->setSubtotal(100);
56 $order->setBaseSubtotal(100);
57 $order->setBaseGrandTotal(100);
58 $order->save();
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60