1

Datacash 3D セキュア支払いモジュールを備えた Magento Enterprise を使用しています。

支払いプロセス中にエラーが発生した場合、ユーザーがバスケットをそのままにして、1 ページのチェックアウトに戻ることを望みます。現在、ユーザーがチェックアウトに戻ると、バスケットは空で、アイテムがないため「チェックアウト/カート」に転送されます。

私のコードに問題があるのではないかと思ったので、最初の支払いアクションがすぐにリダイレクトされ、エラーが発生して 1 ページのチェックアウトに戻りました。

 public function redirectAction() {
  Mage::getSingleton('core/session')->addError("There was a problem with the payment gateway. Please try again");
  $session = Mage::getSingleton('checkout/session');
  return $this->_redirect('checkout/onepage/', array('_secure'=>true));
}

ただし、チェックアウト ページに戻ると、バスケットは空です。次のログを onepage チェックアウトの indexAction に追加すると、「Quote」が表示されます。データベースを見ると、見積書の有効ステータスが 0 に設定されています。

 error_log("Quote ".Mage::getSingleton('checkout/session')->getQuoteId());

Enterprise のみの標準の Magento でこの問題に遭遇したことはありません。誰かがこの問題に遭遇しましたか? 理想的には、お客様が再度商品をバスケットに追加する必要がないようにしたいと考えています。ある種の Magento Enterprise モジュールと競合しているようです。

助けてくれてありがとう!

4

1 に答える 1

4

基本的に、あなたはあなた自身の質問に答えました。見積もりをロードし (利用できない場合)、これを実行します。

$yourQuote()->setIsActive(true);
于 2010-12-20T12:32:35.130 に答える