サイトカレンダをスキップ

«
2017年 10月
»
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

-

ログイン

ログイン

QRコード

QR code


 掲示板目次 > Magento全般 > インストール不具合 新規投稿 返信投稿
 クレジット決済実施後に完了画面に遷移しない
 
rebirth_t
 2011年11月 3日 16:09 JST (参照数 6488回)  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2011年11月 3日
投稿数: 3
お世話になります。

決済代行会社(ZEUS)のmoduleを入れた上で、実際にテスト用クレジットカード
にて決済を実施した画面でエラーが表示されるという問題が発生しています。

決済ボタン(PlaceOrder)を押すとデータは決済代行会社に対して送信されるの
ですが、「Invalid credit card authorization」というダイアログが表示され
完了ページなどに遷移しないという状態になってしまいます。


【環境】
PHPバージョン :5.3.3
MySQLバージョン :5.0.77
Magentバージョン:1.3.3.0
※PHP5.3におけるMagentoの関数エラーは手入力で全て修正済みです。 (split -> explode)

MagentoConnect:Zeus Payment Module for Magento
PackageName: PepMaq_Zeus 0.2.7


【ログ】
エラーとなるログが記載されていたので添付しておきます。
#/home/www/magento/var/log/exception.log

exception \’Mage_Core_Exception\’ with message \’Invalid credit card authorization.\’ in /home/www/magento/app/Mage.php:407
Stack trace:
#0 /home/www/magento/app/code/local/PepMaq/Zeus/Model/Cc/Paymentmethod.php(153): Mage::throwException(\’Invalid credit ...\’)
#1 /home/www/magento/app/code/core/Mage/Sales/Model/Order/Payment.php(211): PepMaq_Zeus_Model_Cc_Paymentmethod->capture(Object(Mage_Sales_Model_Order_Payment), \’1680.00\’)
#2 /home/www/magento/app/code/core/Mage/Sales/Model/Order/Invoice.php(236): Mage_Sales_Model_Order_Payment->capture(Object(Mage_Sales_Model_Order_Invoice))
#3 /home/www/magento/app/code/core/Mage/Sales/Model/Order/Payment.php(267): Mage_Sales_Model_Order_Invoice->capture()
#4 /home/www/magento/app/code/core/Mage/Sales/Model/Order/Payment.php(145): Mage_Sales_Model_Order_Payment->_invoice()
#5 /home/www/magento/app/code/core/Mage/Sales/Model/Order.php(434): Mage_Sales_Model_Order_Payment->place()
#6 /home/www/magento/app/code/core/Mage/Sales/Model/Order.php(573): Mage_Sales_Model_Order->_placePayment()
#7 /home/www/magento/app/code/core/Mage/Checkout/Model/Type/Onepage.php(520): Mage_Sales_Model_Order->place()
#8 /home/www/magento/app/code/core/Mage/Checkout/controllers/OnepageController.php(396): Mage_Checkout_Model_Type_Onepage->saveOrder()
#9 /home/www/magento/app/code/core/Mage/Core/Controller/Varien/Action.php(376): Mage_Checkout_OnepageController->saveOrderAction()
#10 /home/www/magento/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(248): Mage_Core_Controller_Varien_Action->dispatch(\’saveOrder\’)
#11 /home/www/magento/app/code/core/Mage/Core/Controller/Varien/Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#12 /home/www/magento/app/Mage.php(459): Mage_Core_Controller_Varien_Front->dispatch()
#13 /home/www/magento/index.php(65): Mage::run()
#14 {main}


決済代行会社からの戻り値が不正なのか、ペイメントモジュールに問題があるのか
など原因が特定する事ができないため、お知恵をお借りしたいと思います。

 
プロフィール メール
引用して書き込む
hirokazu_nishi
 2011年11月 3日 18:31 JST  
掲示板 管理者
管理者

状態: オフライン


登録日: 2008年2月 9日
投稿数: 470
これはですねPHP5.3で動かした際に

Pepmaq/Zeus/Model/Cc/Paymentmethod.phpの144行目で

$zeusResult = split("\r?\n", $this->getZeusExec($zeusUrl));

みたいなことが書いてあるんですが、Zeusのサーバから戻ってくる値をちゃんと処理できていないので、その後のif文でうまく処理できないのです。

$zeusResult = preg_split("/(\r|\n|\r\n)/", $this->getZeusExec($zeusUrl));

にしてやるとうまくいくと思います。
あるいは似たような処理で要は戻り値の中にある改行文字できちんと分割することが出来さえすればいいわけです。それがきちんとできてないというのが問題です。

Magento技術サポート・日本語化エクステンション・セキュリティ診断提供中です。日本語ガイドブックの販売・レンタルサーバサービス開始しました。 http://principle-works.jp/
 
プロフィール メール ホームページ
引用して書き込む
rebirth_t
 2011年11月 4日 10:37 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2011年11月 3日
投稿数: 3
ご返答有難う御座います。

ご指摘の箇所を変更する事で、問題が改善されました。
誠に有難う御座いました。

PHP5.3以降ではsplit関数は非推奨という事でしたが、
split関数を一律でexplodeに置換してしまっていたので見落としておりました。
分割して格納する際の動きを注視しろという事ですね。盲点でした。

 
プロフィール メール
引用して書き込む
内容生成: 3.48 秒
新規投稿 返信投稿


通常 通常
注目トピック 注目トピック
ロック済 ロック済
新着 新着
注目トピック 新着 注目トピック 新着
ロック済トピック 新着 ロック済トピック 新着
ゲストユーザの投稿を見る 
ゲストユーザ投稿可能 
HTML許可 
バッドワードをチェック