2016-11-23 6 views
4

У меня проблема с PayPal Payment Pro, не отправив письмо с подтверждением после авторизации кредитной карты. PayPal Express Checkout работает просто отлично.Magento PayPal Payment Pro не отправляет подтверждение по электронной почте

Я не вижу возможности изменить это. Может ли кто-нибудь указать мне правильное направление на файл, который я должен изменить, чтобы заставить PayPal Payment Pro отправить электронное письмо с подтверждением заказа после оплаты?

(Изменение authorize к sale не будет работать для меня.)

Спасибо.

ответ

0

PayPal не отправит уведомление по электронной почте на авторизационный платеж. После того, как вы зафиксируете сумму для этого авторизации, вам будет отправлено уведомление по электронной почте. Если вы хотите получить уведомление для получения разрешения на вход, PLZ использовать Мгновенное оповещение об оплате (IPN). Проверьте настройки в бэкэнд-системе Magento, чтобы настроить ее.

2

PayPal Payment Pro не выслать подтверждение по электронной почте.
Но вы можете добиться этого, создав наблюдателя после получения оплаты.

  • Вы можете использовать событие checkout_onepage_controller_success_action. Этот можно использовать, если ваш заказ будет успешным.

  • Есть еще одно событие sales_order_payment_pay. Этот можно использовать, если ваш заказ будет успешным. Он также может использовать в вашем случае.

1) Сделайте пользовательские config.xml для файла вызова наблюдателя

Config.xml, определяет ваш модуль и объявляет прослушиватель события для данного события (checkout_onepage_controller_success_action посылается, когда OnePage процесс завершения проверки, sales_order_payment_pay является отправляется, когда платеж подтвержден).

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Namespace_Modulename> 
      <version>0.1.0</version> 
     </Namespace_Modulename> 
    </modules> 
    <frontend> 
     <events>    
      <sales_order_payment_pay> 
       <observers> 
        <Namespace_Modulename_Customevent> 
         <type>singleton</type> 
         <class>Namespace_Modulename_Model_Observer</class> 
         <method>customFunction</method> 
        </Namespace_Modulename_Customevent> 
       </observers> 
      </sales_order_payment_pay> 
     </events> 
    </frontend>  
</config> 

2) создать observer.php файл внутри модуля каталога/Model и вставьте этот код

<?php 
    class Namespace_Modulename_Model_Observer 
{ 
    public function customFunction(Varien_Event_Observer $observer) 
    { 

     $order_id = $observer->getData('order_ids'); 
     $order = Mage::getModel('sales/order')->load($order_id); 
     //your code here 


    }   

} 

Скажите мне, если дополнительная помощь нужна