Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
order_different_addresses.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
8 // @codingStandardsIgnoreFile
9 
10 require 'default_rollback.php';
11 require __DIR__ . '/../../../Magento/Catalog/_files/product_simple.php';
14 $addressData = include __DIR__ . '/address_data.php';
15 
17 
19 $billingAddress = $objectManager->create(\Magento\Sales\Model\Order\Address::class, ['data' => $addressData]);
20 $billingAddress->setAddressType('billing');
21 
25  ->setId(null)
26  ->setAddressType('shipping')
27  ->setCity('San Francisco');
28 
30 $payment = $objectManager->create(\Magento\Sales\Model\Order\Payment::class);
31 $payment->setMethod('checkmo');
32 $payment->setAdditionalInformation('last_trans_id', '11122');
33 $payment->setAdditionalInformation('metadata', [
34  'type' => 'free',
35  'fraudulent' => false,
36 ]);
37 
39 $orderItem = $objectManager->create(\Magento\Sales\Model\Order\Item::class);
40 $orderItem->setProductId($product->getId())->setQtyOrdered(2);
41 $orderItem->setBasePrice($product->getPrice());
42 $orderItem->setPrice($product->getPrice());
43 $orderItem->setRowTotal($product->getPrice());
44 $orderItem->setProductType('simple');
45 
47 $order = $objectManager->create(\Magento\Sales\Model\Order::class);
48 $order->setIncrementId('100000001')
49  ->setState(\Magento\Sales\Model\Order::STATE_PROCESSING)
50  ->setStatus($order->getConfig()->getStateDefaultStatus(\Magento\Sales\Model\Order::STATE_PROCESSING))
51  ->setSubtotal(100)
52  ->setGrandTotal(100)
53  ->setBaseSubtotal(100)
54  ->setBaseGrandTotal(100)
55  ->setCustomerIsGuest(true)
56  ->setCustomerEmail('[email protected]')
57  ->setBillingAddress($billingAddress)
58  ->setShippingAddress($shippingAddress)
59  ->setStoreId($objectManager->get(\Magento\Store\Model\StoreManagerInterface::class)->getStore()->getId())
60  ->addItem($orderItem)
61  ->setPayment($payment);
62 
63 $order->save();
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60