質問 > フロント機能 > 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 |
フロント機能
| 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
seasoft |
投稿日時: 2009/4/13 17:45
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 > これはこの文字列を作る側の問題でしょうか。。。
そうですね・・・ serialize で異常が発生しているか、serialize した文字列をDB投入する時点で、何か発生しているかですかね。
|
masumi |
投稿日時: 2009/4/13 17:58
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2008/10/22 居住地: 投稿: 25 |
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 お世話になります。
seasoft様 kishik様 ご返信ありがとうございます。 引用:
多分文字列を作る側の問題だと思います。 ご参考までにDBのdtb_order memo02には下記のように入っていました。 ------------------------------------------------------- a:13:{s:5:"title";a:2:{s:4:"name";s:21:"コンビニお支払";s:5:"value";b:1;}s:17:"pay_center_number";a:2:{s:4:"name";s:12:"受付番号";s:5:"value";s:4:"1748";}s:5:"help0";a:2:{s:4:"name";s:0:"";s:5:"value";s:0:"";}s:5:"help1";a:2:{s:4:"name";s:21:"【払込ご案内】";s:5:"value";s:24:"ローソンでお支払";}s:5:"help2";a:2:{s:4:"name";s:0:"";s:5:"value";s:92:" 1. ローソンの端末(Loppi)から「各種代金・料金お支払」を選択。";}s:5:"help3";a:2:{s:4:"name";s:0:"";s:5:"value";s:75:" 2. 次画面のジャンルの中から「インターネット受付」";}s:5:"help4";a:2:{s:4:"name";s:0:"";s:5:"value";s:69:" →「インターネット商品のお支払」を選択。";}s:5:"help5";a:2:{s:4:"name";s:0:"";s:5:"value";s:83:" 3. お支払受付番号に上記「受付番号(4桁?7桁)」を入力。";}s:5:"help6";a:2:{s:4:"name";s:0:"";s:5:"value";s:84:" 4. 「電話番号(ご注文いただいた際の電話番号)」を入力。";}s:5:"help7";a:2:{s:4:"name";s:0:"";s:5:"value";s:96:" 5. 画面に従い、各端末より発行される申込券をレジへご提示下さい。";}s:5:"help8";a:2:{s:4:"name";s:0:"";s:5:"value";s:15:"※ご注意※";}s:5:"help9";a:2:{s:4:"name";s:0:"";s:5:"value";s:105:" 受領書の払込先名には、決済代行会社の名称『エフレジ』と記載されます。";}s:6:"help10";a:2:{s:4:"name";s:0:"";s:5:"value";s:111:" お支払後のご不明点などは、受領書に記載の電話番号へお問い合わせください。";}} ------------------------------------------------------- 宜しくお願いします。 |
kishik |
投稿日時: 2009/4/13 18:22
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/4/3 居住地: 東京 投稿: 382 |
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 1つ前に書かれている文字列と同じですね。
このままではunserializeできません。 一度決済モジュール開発会社である F-REGI さんにここのフォーラムのリンクとともに 連絡されてみてはいかがでしょうか? 現時点では私は決済モジュール側かと思うのですが。。。 何か進展ありましたら、 ぜひここにご報告下さい。 ----- 〜〜〜〜〜〜〜〜〜〜〜〜 [PR] カスタマイズ承ります。 いつでもご連絡ください。 〜〜〜〜〜〜〜〜〜〜〜〜 |
masumi |
投稿日時: 2009/4/14 13:05
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2008/10/22 居住地: 投稿: 25 |
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 お世話になります。
kishik様 ご返信ありがとうございます。 引用:
フォーラムに質問をさせて頂く前に、決済会社への問い合わせを致しました。 その際には、 --------------------------------------------------- 下記のエラーにつきましては、やはりEC-CUBE側より返却されているエラーとなりますので、誠に申し訳ございませんが、弊社でのご案内は致しかねる状況となります。お力になれず申し訳ございません。EC-CUBE 開発コミュニティ( ⇒ http://xoops.ec-cube.net/ ) などをご活用いただけますでしょうか。 --------------------------------------------------- との返信を頂戴いたしまして、フォーラムへ質問させて頂きました。 再度問い合わせをしようと思いますが、大変恐縮ですが、その前に質問させて下さい。 コンビニ決済で、ローソン以外のコンビニを選択したときには正常に処理されています。 また、決済会社の管理画面上にはローソン選択時の決済情報も反映されています。 他のコンビニを選択したときのDBのdtb_order memo02の値と何が違うのかが分からないので、他のコンビニ選択時の値を見ていただけませんか? 下記はファミリーマート選択時のものです。 --------------------------------------------------- a:14:{s:5:"title";a:2:{s:4:"name";s:21:"コンビニお支払";s:5:"value";b:1;}s:15:"pay_center_code";a:2:{s:4:"name";s:15:"企業コード";s:5:"value";s:5:"20020";}s:17:"pay_center_number";a:2:{s:4:"name";s:12:"注文番号";s:5:"value";s:12:"801357056803";}s:5:"help0";a:2:{s:4:"name";s:0:"";s:5:"value";s:0:"";}s:5:"help1";a:2:{s:4:"name";s:21:"【払込ご案内】";s:5:"value";s:36:"ファミリーマートでお支払";}s:5:"help2";a:2:{s:4:"name";s:0:"";s:5:"value";s:53:" 1. 店頭のFami ポートの画面から選択。";}s:5:"help3";a:2:{s:4:"name";s:0:"";s:5:"value";s:71:" Fami ポート:『代金支払い』→『収納票発行』";}s:5:"help4";a:2:{s:4:"name";s:0:"";s:5:"value";s:57:" 2. 企業コードに『20020』を入力。";}s:5:"help5";a:2:{s:4:"name";s:0:"";s:5:"value";s:87:" ※ 2009年2月25日 AM 8:30までは『10020』となります。";}s:5:"help6";a:2:{s:4:"name";s:0:"";s:5:"value";s:84:" 3. 注文番号に上記の『注文番号(12桁の数字)』を入力。";}s:5:"help7";a:2:{s:4:"name";s:0:"";s:5:"value";s:101:" 4. 画面に従い、Fami ポートより発行される申込券をレジへご提示下さい。";}s:5:"help8";a:2:{s:4:"name";s:0:"";s:5:"value";s:15:"※ご注意※";}s:5:"help9";a:2:{s:4:"name";s:0:"";s:5:"value";s:120:" 取扱明細兼受領書の払込先名には、決済代行会社の名称『エフレジ』と記載されます。";}s:6:"help10";a:2:{s:4:"name";s:0:"";s:5:"value";s:120:" お支払後のご不明点などは、取扱明細兼受領書に記載の電話番号へお問い合せ下さい。";}} --------------------------------------------------- お手数をお掛けいたしますが、何卒宜しくお願い申し上げます。 |
seasoft |
投稿日時: 2009/4/14 14:18
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 文字コードのマッピングが関わっていそうです。
どの階層に原因があるか、特定はできていませんが、 > DBバージョン MySQL 4.1.22 の問題かも。 決済モジュールを書き換えれば回避できますが、決済関連だけに手を加えて良いか微妙ですね。
|
kishik |
投稿日時: 2009/4/14 14:36
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/4/3 居住地: 東京 投稿: 382 |
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 serializeとutf-8の相性ですね。
s:15:"企業コード" ってstring型で15バイトのことですが、 ここら辺の処理が安定していませんね。 私の環境だと s:71:" Fami ポート:『代金支払い』→『収納票発行』"; を s:72:" Fami ポート:『代金支払い』→『収納票発行』"; に変えてやるとunserializeが動作します。 原因1: 文字列の中に日本語(マルチバイト文字)が入っている。 (これ自体は悪くはないですが) 原因2: serializeが原因1の日本語を安定して処理できていない。 これだと思います。 サーバでPHPのインストールをする時に --enable-zend-multibyte のオプションは付けましたか? |
seasoft |
投稿日時: 2009/4/14 14:50
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 > s:15:"企業コード"
> ってstring型で15バイトのことですが、 > ここら辺の処理が安定していませんね。 UTF-8 なので、15バイトで正しいと思います。 > 私の環境だと > s:71:" Fami ポート:『代金支払い』→『収納票発行』"; > を > s:72:" Fami ポート:『代金支払い』→『収納票発行』"; > に変えてやるとunserializeが動作します。 これも、71バイトで正しいはずです。 しかし、72バイトで動作するとなると、安定していないというのは、確かに言えるのかもしれませんね。
|
masumi |
投稿日時: 2009/4/14 15:10
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2008/10/22 居住地: 投稿: 25 |
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 お世話になります。
kishik様 seasoft様 ご返信ありがとうございます。 引用: サーバでPHPのインストールをする時に レンタルサーバですので、インストールは私のほうではしていません。 見当違いのことを言っていたら申し訳ないのですが、.htaccessの方には、 php_value mbstring.internal_encoding UTF-8 php_value mbstring.script_encoding UTF-8 を記述しました。 引用: 原因1: 念のため、serialize部分(関係がありそうな部分)のソースを下記に記載いたします。 ------------------------------------------------------- ■data/downloads/module/mdl_fregi/LC_Page_Mdl_Fregi_Payment.php /** * コンビニ支払情報設定 * * @return text */ function setConveniPayment($response, $arrInput) { $arrMemo['title'] = array("name" => "コンビニお支払", "value" => true); // セブンイレブン if ($arrInput['conveni'] == "seveneleven") { $arrMemo['pay_center_number'] = array("name" => "払込票番号", "value" => $response[1]); if (!empty($response[3])) $arrMemo['receipt_print_url'] = array("name" => "払込票URL", "value" => $response[3]); require_once(realpath(dirname( __FILE__)). "/fregi_conveni_seveneleven.php"); // ファミリーマート } elseif ($arrInput['conveni'] == "famima") { $arrMemo['pay_center_code'] = array("name" => "企業コード", "value" => "20020"); $arrMemo['pay_center_number'] = array("name" => "注文番号", "value" => $response[1]); require_once(realpath(dirname( __FILE__)). "/fregi_conveni_famima.php"); // ローソン } elseif ($arrInput['conveni'] == "lawson") { $arrMemo['pay_center_number'] = array("name" => "受付番号", "value" => $response[1]); require_once(realpath(dirname( __FILE__)). "/fregi_conveni_lawson.php"); // セイコーマート } elseif ($arrInput['conveni'] == "seicomart") { $arrMemo['pay_center_number'] = array("name" => "受付番号", "value" => $response[1]); require_once(realpath(dirname( __FILE__)). "/fregi_conveni_seicomart.php"); } return serialize($arrMemo); } ■data/downloads/module/mdl_fregi/fregi_conveni_lawson.php $arrMemo['help0'] = array("name" => "", "value" => ""); $arrMemo['help1'] = array("name" => "【払込ご案内】", "value" => "ローソンでお支払"); $arrMemo['help2'] = array("name" => "", "value" => " 1. ローソンの端末(Loppi)から「各種代金・料金お支払」を選択。"); $arrMemo['help3'] = array("name" => "", "value" => " 2. 次画面のジャンルの中から「インターネット受付」"); $arrMemo['help4'] = array("name" => "", "value" => " →「インターネット商品のお支払」を選択。"); $arrMemo['help5'] = array("name" => "", "value" => " 3. お支払受付番号に上記「受付番号(4桁〜7桁)」を入力。"); $arrMemo['help6'] = array("name" => "", "value" => " 4. 「電話番号(ご注文いただいた際の電話番号)」を入力。"); $arrMemo['help7'] = array("name" => "", "value" => " 5. 画面に従い、各端末より発行される申込券をレジへご提示下さい。"); $arrMemo['help8'] = array("name" => "", "value" => "※ご注意※"); $arrMemo['help9'] = array("name" => "", "value" => " 受領書の払込先名には、決済代行会社の名称『エフレジ』と記載されます。"); $arrMemo['help10'] = array("name" => "", "value" => " お支払後のご不明点などは、受領書に記載の電話番号へお問い合わせください。"); ------------------------------------------------------- お手数ばかりお掛けして申し訳ありませんが、宜しくお願い致します。 |
kishik |
投稿日時: 2009/4/14 15:45
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/4/3 居住地: 東京 投稿: 382 |
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 --enable-zend-multibyte
を有効にしてコンパイルしていないと、 mbstring.script_encoding の設定は効かないそうです。 (違ったかもしれませんが。。) mbstring.internal_encoding に関してはEC-CUBEがかならず内部で設定するようになってます。 他のサーバで試してみてはいかがでしょう? ちょっと大変かもしれませんが、 一番問題の特定と解決に近いかもしれません。 検索もしてみましたが、 utf-8とserializeは相性が悪そうですね。 |
seasoft |
投稿日時: 2009/4/14 15:55
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 注文完了ページ・メールで特定の支払方法を選択すると支払い情報が抜けエラーが出てしまいます。 単純に UTF-8 マッピングの問題のような・・・
> 検索もしてみましたが、 > utf-8とserializeは相性が悪そうですね。 serialize は、特段文字コードに依存するロジックでは無いです。
PHP は色々ラップされている部分があるので、そっちで何かされていて、「うっ・・・」って事も多々あるので確信は無いですが。
|
« 1 (2) 3 4 5 6 » |
| 新しいものから | 前のトピック | 次のトピック | トップ |