Kirim email kepada pelanggan saat membuat faktur secara terprogram

14

Saat membuat faktur secara terprogram, bagaimana saya bisa membuat sistem mengirimkan faktur kepada pelanggan?

$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();
Qaisar Satti
sumber

Jawaban:

12

Setelah $transactionSave->save();:

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

Ini akan menginstruksikan Magento untuk mengirim email faktur kepada pelanggan.

Moose
sumber
apakah status yang ditetapkan diperlukan untuk mengirim email?
Qaisar Satti
Ya, ini adalah norma Magento. Jika tidak termasuk, pesanan tidak akan diatur ke Pemrosesan (yang harus ditagih satu kali).
Moose