M1 から M2.2.0 インストールの新規インストールにデータをエクスポートするために、トークン認証で REST API を使用しています。
顧客と製品はすべて正常に機能しますが、カートを作成せずに注文を作成する方法を理解できません。
つまり、私が見つけたすべてのソリューションで提案されているように (公式の magentoガイドでも)、注文から必要なすべてのデータが既にあります。以前にカートを作成する必要はありません。
上記のガイドと同じ手順に従っていますが、注文に関するデータを投稿しようとすると、エラーが発生し続けます。
"Fatal Error: 'Uncaught Error: Call to a member function getMethodInstance() on null in \/var\/www\/html\/app\/code\/Magento\/Payment\/Observer\/SalesOrderBeforeSaveObserver.php:24\nStack trace:\n#0 \/var\/www\/html\/lib\/internal\/Magento\/Framework\/Event\/Invoker\/InvokerDefault.php(72): Magento\\Payment\\Observer\\SalesOrderBeforeSaveObserver->execute(Object(Magento\\Framework\\Event\\Observer))\n#1 \/var\/www\/html\/lib\/internal\/Magento\/Framework\/Event\/Invoker\/InvokerDefault.php(60): Magento\\Framework\\Event\\Invoker\\InvokerDefault->_callObserverMethod(Object(Magento\\Payment\\Observer\\SalesOrderBeforeSaveObserver), Object(Magento\\Framework\\Event\\Observer))\n#2 \/var\/www\/html\/lib\/internal\/Magento\/Framework\/Event\/Manager.php(66): Magento\\Framework\\Event\\Invoker\\InvokerDefault->dispatch(Array, Object(Magento\\Framework\\Event\\Observer))\n#3 \/var\/www\/html\/generated\/code\/Magento\/Framework\/Event\/Manager\/Proxy.php(95): Magento\\Framework\\Event\\Manager->dispatch('sales_order_sav...', Array)\n#4 \/var\/www\/html\/lib\/internal\/Magento\/Framework\/Model\/AbstractModel.php(694):' in '\/var\/www\/html\/app\/code\/Magento\/Payment\/Observer\/SalesOrderBeforeSaveObserver.php' on line 24"
これは、私が試してみるために使用しているサンプル JSON です。
{
"entity": {
"customer_email": "provacustomer@mail.com",
"customer_firstname": "mario",
"customer_lastname": "rossi",
"base_grand_total": 120,
"discount_amount": 0,
"grand_total": 120,
"increment_id": "200001414155",
"shipping_amount": 7,
"status": "processing",
"store_id": 1,
"subtotal": 100,
"tax_amount": 20,
"items": {
"description": "prodotto mio",
"item_id": 3,
"price": 10,
"product_id": 3,
"product_type": "simple",
"qty_ordered": 2,
"sku": "002",
"tax_amount": 2,
"weight": 1
}
},
"billing_address": {
"firstname": "giuseppa",
"lastname": "rossi",
"company": "mycompany",
"city": "rome",
"region": "california",
"region_id": 12,
"postcode": "12312",
"telephone": "1234556677",
"country_id": "US",
"street": ["via prima", "via seconda"]
},
"payment": {
"amount_paid": 120,
"method": "checkmo"
},
"status_histories": [{
"comment": "new order",
"status": "processing"
}],
"extension_attributes": {
"shipping_assignments": [{
"shipping": {
"address": [{
"firstname": "franca",
"lastname": "vardididi",
"company": "mycompany",
"city": "rome",
"region": "california",
"region_id": 12,
"postcode": "12312",
"telephone": "1234556677",
"country_id": "US",
"street": ["via prima", "via seconda"]
}],
"method": "checkmo",
"total": {
"base_shipping_amount": 7
}
},
"items": [{
"description": "prodotto mio",
"item_id": 3,
"price": 10,
"product_id": 3,
"product_type": "simple",
"qty_ordered": 2,
"sku": "002",
"tax_amount": 2,
"weight": 1
}]
}]
}
}
編集
この質問のjsonを使用して、注文を作成できました。