2017-02-03 7 views
1

나는 최근에 페이팔 프로 서비스를 활성화했으며, 이제는 내 PrestaShop 버전 1.6.1.1에 맞게 설정하고 있습니다.PrestaShop. 페이팔에 대한 오류 URL 설정

나는 감사 페이지와 오류 페이지의 URL을 지적해야합니다.

고맙습니다 페이지에는 아무런 문제가 없었습니다. 구매를 시뮬레이션하고 자리 표시자를 넣어 URL을 복사했습니다.

module/paypal/submit?id_cart={id_cart}&id_module=97&id_order={id_order}&key={id_key} 

나는 오류 페이지 URL을 설정하여 어려움을 발견

나는이 사용된다.

템플릿/앞면에서 이미이 문제가 있음을 발견했습니다. 및 paypal.php에 나는이 기능을 찾을 수 :

public function displayPayPalAPIError($message, $log = false) 
{ 
    $send = true; 
    // Sanitize log 
    foreach ($log as $key => $string) { 
     if ($string == 'ACK -> Success') { 
      $send = false; 
     } elseif (Tools::substr($string, 0, 6) == 'METHOD') { 
      $values = explode('&', $string); 
      foreach ($values as $key2 => $value) { 
       $values2 = explode('=', $value); 
       foreach ($values2 as $key3 => $value2) { 
        if ($value2 == 'PWD' || $value2 == 'SIGNATURE') { 
         $values2[$key3 + 1] = '*********'; 
        } 
       } 

       $values[$key2] = implode('=', $values2); 
      } 
      $log[$key] = implode('&', $values); 
     } 
    } 

    $this->context->smarty->assign(array('message' => $message, 'logs' => $log)); 

    if ($send) { 
     $id_lang = (int) $this->context->language->id; 
     $iso_lang = Language::getIsoById($id_lang); 

     if (!is_dir(dirname(__FILE__).'/mails/'.Tools::strtolower($iso_lang))) { 
      $id_lang = Language::getIdByIso('en'); 
     } 

     Mail::Send(
      $id_lang, 
      'error_reporting', 
      Mail::l('Error reporting from your PayPal module', (int) $this->context->language->id), 
      array('{logs}' => implode('<br />', $log)), 
      Configuration::get('PS_SHOP_EMAIL'), 
      null, 
      null, 
      null, 
      null, 
      null, 
      _PS_MODULE_DIR_.$this->name.'/mails/' 
     ); 
    } 

    return $this->fetchTemplate('error.tpl'); 

후크 error.tpl와 순서의 템플릿을 호출하는 라우팅 규칙이 있습니까를?

답변

1

아니요 라우팅 규칙이 없습니다. 모듈 코드를 통해 이해할 수 있었던 것은 주문의 현재 상태가 payment_error (템플릿 Payment Error 상태)의 이메일 템플릿을 가지고있는 경우 오류 템플릿이 표시된다는 것입니다.

주문의 현재 상태를 Payment Error으로 설정하고 질문에서 작성한 것과 동일한 링크를 방문하면 오류 템플릿이 표시됩니다.