Email khách hàng khi lập trình hóa đơn


14

Trong khi tạo hóa đơn theo chương trình, làm cách nào tôi có thể tạo hệ thống gửi email hóa đơn cho khách hàng?

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

Câu trả lời:


12

Sau $transactionSave->save();:

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

Điều này sẽ hướng dẫn Magento gửi email hóa đơn cho khách hàng.


trạng thái thiết lập là cần thiết để gửi email?
Qaisar Satti

Vâng, đây là một tiêu chuẩn Magento. Nếu không được bao gồm, đơn hàng sẽ không được đặt thành Đang xử lý (đơn hàng sẽ được lập hóa đơn một lần).
Moose
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.