2014-03-12 3 views
1

Magento 1.7을 사용하고 있습니다. 누구에게도 도움이 필요합니까?/조언 하시겠습니까 ??Magento 주문 전자 메일

또한 EPDQ Barclaycard 모듈을 사용합니다.

모든 것이 결제를 캡처하는 것으로 보이지만 지불 정보로 모든 세부 정보를 입력하면 카드 유형을 선택하고 계속해서 조회 한 다음 주문을 새로 주문 이메일을 보냈지 만 아직 지불되지 않았습니다. !

Barclaycard를 통해 지불 할 때까지 방지 할 수 있습니까?

내가 놓친 것이 있습니까?

미리 감사드립니다.

답변

1

Magento는 주문이 접수되면 즉시 이메일 주문 확인서를 보냅니다. 주문을했으나 지불하지 않은 상태에서 사용자를 지불 게이트웨이로 리디렉션하는 경우 magento의 지불 리디렉션 설정을 사용하여 확인 이메일을 무시하도록 지불 모듈을 수정해야합니다 (Mage_Checkout_Model_Type_Onepage 클래스 saveOrder() 메소드 참조).

다음과 같은 코드가 표시되어야합니다.

/** 
* a flag to set that there will be redirect to third party after confirmation 
* eg: paypal standard ipn 
*/ 
$redirectUrl = $this->getQuote()->getPayment()->getOrderPlaceRedirectUrl(); 
/** 
* we only want to send to customer about new order when there is no redirect to third party 
*/ 
if (!$redirectUrl && $order->getCanSendNewEmailFlag()) { 
    try { 
     $order->sendNewOrderEmail(); 
    } catch (Exception $e) { 
     Mage::logException($e); 
    } 
} 

이렇게하면 몇 가지 옵션이 제공됩니다. 결제 모듈을 확장하여 주문 장소 리디렉션 URL을 설정하지만 코딩 방식에 따라 지불 모듈이 엉망이 될 수도 있고 위 모듈을 직접 모듈로 확장 할 수도 있습니다 (코어를 수정하지 마십시오) saveOrder()을 무시하십시오. 메서드를 호출하고 위의 if 문에서 지불 방법을 확인하십시오.

if (!$redirectUrl && $order->getPayment()->getMethod() != 'your_payment_method' && $order->getCanSendNewEmailFlag()) { 
    try { 
     $order->sendNewOrderEmail(); 
    } catch (Exception $e) { 
     Mage::logException($e); 
    } 
} 

그런 다음 나는 당신이 페이팔 표준 모듈을 살펴 제안, 성공적으로 지불 IPN가 수신 될 때 이메일을 보내 얻을 IPN 통지를 처리하는 것이라고이 같은 몇 가지 포인터에 대한 젠토와 함께 제공 정확히 작동하는 방법입니다. 나는 당신이 가지고있는 EPDQ 모듈이 이미 이렇게 작동하지 않는다는 것에 놀랐고, 그들에게 연락하고 문제를 강조할만한 가치가있을 것입니다.

관련 문제