Tidak Ada Email Order Via Paypal Pada Magento – Solusi ke 2
Pada postingan sebelumnya saya telah menulis tentang solusi pertama tidak ada email order via Paypal pada Magento. Pada postingan kali ini, saya menemukan solusi kedua jika email tidak terkirim ketika melakukan order via Paypal website payment standard pada Magento.
Temukan file StandardController.php pada app/code/core/Mage/Paypal/controllers/StandardController.php kemudian edit file tersebut. Sekitar line 77, temukan kode dibawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 |
/**
* When a customer chooses Paypal on Checkout/Payment page
*
*/
public function redirectAction()
{
$session = Mage::getSingleton('checkout/session');
$session->setPaypalStandardQuoteId($session->getQuoteId());
$this->getResponse()->setBody($this->getLayout()->createBlock('paypal/standard_redirect')->toHtml());
$session->unsQuoteId();
$session->unsRedirectUrl();
}
|
Ubah kode diatas menjadi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
/**
* When a customer chooses Paypal on Checkout/Payment page
*
*/
public function redirectAction()
{
$session = Mage::getSingleton('checkout/session');
$session->setPaypalStandardQuoteId($session->getQuoteId());
$order = Mage::getModel('sales/order');
$order->load(Mage::getSingleton('checkout/session')->getLastOrderId());
$order->sendNewOrderEmail();
$order->save();
$this->getResponse()->setBody($this->getLayout()->createBlock('paypal/standard_redirect')->toHtml());
$session->unsQuoteId();
}
|
Seperti pada solusi pertama, dengan cara ini juga maka admin dan pembeli akan menerima email ketika pembeli mengklik Place Order. Jadi walaupun pembeli belum membayarnya, email konfirmasi order akan tetap terkirim.