プログラムで請求書を作成するときに顧客にメールを送信する


14

プログラムで請求書を作成しているときに、システムから請求書を顧客にメールで送信するにはどうすればよいですか?

$order=Mage::getModel('sales/order')->load($orderid); 
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
if (!$invoice->getTotalQty()) {
    Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
}
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
$invoice->register();
$transactionSave = Mage::getModel('core/resource_transaction')
                   ->addObject($invoice)
                   ->addObject($invoice->getOrder());
$transactionSave->save();

回答:


12

$transactionSave->save();

$invoice->getOrder()->setIsInProcess(true);
$history = $invoice->getOrder()->addStatusHistoryComment(
    'Programmatically created invoice', true
);
$invoice->sendEmail(true, '');
$order->save();

これにより、Magentoは請求書を顧客にメールで送信します。


メールを送信するために設定されたステータスが必要ですか?
カイザールサッティ

はい、これはMagentoの標準です。含まれていない場合、注文は処理中に設定されません(一度請求されます)。
ムース
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.