4 時間ごとに出荷を生成するプロセスがあります。出荷されるアイテムのみが請求される必要があるため、請求書の作成はこのプロセスの一部です。
このプロセスは、Magento 環境をロードして未決注文を処理する外部 PHP スクリプトで実行されます。
請求書が作成されると、作成時刻が 4 時間ずれているため、店舗の時刻を使用していないように見えます。Magento コードを確認し、Web を検索しましたが、請求書の作成時に正しい店舗時間を設定する必要があるという兆候は見当たりません。
スクリプトの先頭で、タイムゾーンをストアのタイムゾーンに -
date_default_timezone_set('America/Boston');
注文のストア ID に基づく magento 環境 -
//Start environment emulation of the specified store
$storeId = $order->getStoreId();
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($storeId);
後で、その出荷の注文に対して、請求書が作成されます -
// create an invoice for the invoiceable items
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice($toInvoice);
if (!$invoice->getTotalQty()) {
Mage::throwException(Mage::helper('core')->__('Invoice generation failed - no items to invoice.'));
}
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
$invoice->register();
$transactionSave = Mage::getModel('core/resource_transaction')
->addObject($invoice)
->addObject($invoice->getOrder());
$transactionSave->save();
$invoiceID = $invoice->getIncrementId();
別の方法で何をすべきか提案はありますか?
ありがとう!