2017-06-29 13 views
0

私はMagentoでPayPal Payments Proを使用しています。お客様がPayPal Expressを使用して注文した場合、注文メールは受信されません。顧客がカードを支払った場合、問題は発生しません。Paypal payment pro PayPal特急はMagentoで確認メールを送信しません

私は喜んでこれを調査するのに多くの時間を費やしました。私は他の人が同じ問題を抱えているのか、そして誰かがそれを解決することができたのかどうか疑問に思います。私はmagentoコミュニティ1.9.2を実行しています。

IPNが正常に動作しているようですが、メールキューには注文はありません。

ご協力いただきありがとうございます。

答えて

0

PayPal Payment Proは確認メール機能を送信しません。支払い後にオブザーバーを作成することで達成できます。

あなたはイベントcheckout_onepage_controller_success_actionを使用することができます。これは、ご注文が成功した場合に使用できます。

sales_order_payment_payがあります。これは、ご注文が成功した場合に使用できます。あなたの場合でも使用することができます。

1)コールオブザーバファイルのカスタムconfig.xmlに

config.xmlのがあなたのモジュールを定義し、特定のイベント(checkout_onepage_controller_success_actionのためのイベントリスナーを宣言してくださいは、1ページのチェックアウト処理が完了したときに送信されます。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ファイルを作成し、

<?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 


    }   

} 

このコードを貼り付け。

関連する問題