バージョン選択

フォーラム

メニュー

オンライン状況

58 人のユーザが現在オンラインです。 (47 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 58
もっと...

サイト内検索

質問 > 管理機能 > ペイジェントモジュール銀行ネット決済の型エラー

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2009/8/19 21:11
対応状況: −−−
ペイジェントモジュール銀行ネット決済の型エラー
EC-CUBEバージョン 2.3.0
PHPバージョン PHP 5.2.5
DBバージョン MySQL 4.1.21-Max-log
サーバー アイル Infinito
-------------------------------------
現在、ペイジェント決済モジュールをインストールし、
試験環境ツールにてテストをしている段階です。

クレジットカード決済・コンビに決済(番号方式)
はうまく注文が出来るのですが、
銀行ネット決済は銀行一覧画面に遷移しようと「次へ」ボタンを押すとエラーが表示され遷移しません。

エラーメッセージは「決済に失敗しました。(P008)」と出ます。
マニュアルによると型エラーと言うことだったので、
data/logs/paygent_eccube.logを見たところ

[/shopping/load_payment_module.php] detail->"claim_kanji"パラメータの値はタイプが不正です。

というログでした。
マニュアルによれば「該当のパラメータの属性・サイズをご確認のうえ、それに合わせた形でEC-CUBE側の登録を変更してください。」とのことですが、claim_kanjiのパラメータの属性とサイズはどこで変更すればよいのでしょうか?

claim_kanjiの属性とサイズは次の通りです。
属性:全角(JISコード)
サイズ:24バイト

よろしくお願いします。

pantacle
投稿日時: 2009/8/20 6:30
対応状況: −−−
長老
登録日: 2009/6/29
居住地: 富山
投稿: 242
Re: ペイジェントモジュール銀行ネット決済の型エラー
ソースをちょっと見ただけなので外している可能性大ですが、claim_kanjiというのは店舗名の事みたいです。
24バイトということですので、店舗名は最大で12文字ということなのだと思われます。


----------------
pantacle
http://pantacle.net/

ゲスト
投稿日時: 2009/8/20 9:03
対応状況: −−−
Re: ペイジェントモジュール銀行ネット決済の型エラー
mahalo_cさんアドバイスありがとうございます。

店舗名を全角8文字にしてみたのですが、
やはり同じエラーが出ます。

他のネットショップでもペイジェントを利用していまして、
そちらは全角40文字ほどあるのですが、問題なく利用できています・・・

もし他に原因が分かられる方おられましたら、よろしくお願いします。
ramrun
投稿日時: 2009/8/20 10:53
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: ペイジェントモジュール銀行ネット決済の型エラー
引用:
そちらは全角40文字ほどあるのですが

ペイジェントの設定で新規に入力する場合はmaxlengthで12文字に設定してあるみたいですけど、SHOPマスタ登録の方の「店名(カナ)」があればそれを読み込むので50文字までいけちゃうみたいですね。

それはさておき。

data/downloads/module/mdl_paygent/include.php
のfunction sfSendPaygentBANK()で
// 請求内容カナ
$arrSend['claim_kana'] = mb_convert_kana($arrOtherParam['claim_kana'],'k');
$arrSend['claim_kana'] = preg_replace("/ー/", "-", $arrSend['claim_kana']);

mb_convert_kana()にエンコードが指定されていないのが気になります。

ここのフォーラムを「Infinito」とかで検索すると、文字化けとかの質問がヒットするので、php.ini等の設定がされていないのではないでしょうか?

とりあえずmb_convert_kanaのところでエンコードを指定してみたらどうでしょう?
mb_convert_kana($arrOtherParam['claim_kana'],'k','UTF-8');

ゲスト
投稿日時: 2009/8/20 15:01
対応状況: −−−
Re: ペイジェントモジュール銀行ネット決済の型エラー
ramrunさんありがとうございます。

引用:

とりあえずmb_convert_kanaのところでエンコードを指定してみたらどうでしょう?
mb_convert_kana($arrOtherParam['claim_kana'],'k','UTF-8');


上記の通りエンコードを指定したのですが、状況は変わりませんでした。ログを見ると
2009/08/20 14:54:26 [/shopping/load_payment_module.php] code->P008
2009/08/20 14:54:26 [/shopping/load_payment_module.php] detail->"claim_kanji"パラメータの値はタイプが不正です。

とあり、claim_kanaというよりclaim_kanjiが問題のようです。
claim_kanjiは店舗名をさしているようですが、店舗名に半角スペースなどもいれていません。

引用:

ここのフォーラムを「Infinito」とかで検索すると、文字化けとかの質問がヒットするので、php.ini等の設定がされていないのではないでしょうか?

確かにphp.iniは設定していませんでした。
php.iniファイルの中で文字コード等を設定するのでしょうか?

ramrun
投稿日時: 2009/8/20 16:28
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: ペイジェントモジュール銀行ネット決済の型エラー
最初から claim_kanji ってなってますね。 なにを間違ったのか... 失礼しました(汗)。

実際にエラーをテンプレートに組み込んでいるところは
LC_Page_Mdl_Paygent_Helper.php
のfunction sendData_Bank()と思われます。

そこから逆に追っかけていくと
LC_Page_Mdl_Paygent_Helper.php
sendData_Bank()
 ↓
include.php
sfSendPaygentBANK()

の中で
 $p = new PaygentB2BModule();
 $p->init();
 
 // 銀行NET用パラメータの取得
 $arrPaymentDB = sfGetPaymentDB(MDL_PAYGENT_CODE, "AND memo03 = '". PAY_PAYGENT_BANK . "'");
 $arrOtherParam = unserialize($arrPaymentDB[0]['other_param']);

  :
 $arrSend['claim_kanji'] = $arrOtherParam['claim_kanji'];
  :
 // 電文の送付
 foreach($arrSend as $key => $val) {
  // Shift-JISにエンコードする必要あり
  $enc_val = mb_convert_encoding($val, "Shift-JIS", CHAR_CODE);
  $p->reqPut($key, $enc_val);
 }
 $p->post();
 $arrRet = sfPaygentResponse(PAYGENT_BANK, $p, $uniqid, $arrInput);

sfPaygentResponse()では
 $responseDetail = $objPaygent->getResponseDetail(); # 異常終了時、レスポンス詳細が取得できる
 $responseDetail = mb_convert_encoding($responseDetail, CHAR_CODE, "Shift-JIS");
  :
 return $arrRes[0];
みたいに結果を取得して返すだけなので、赤字時点の$arrOtherParam['claim_kanji']がPaygentB2BModuleで受け付けられないようなデータ?になっているのではないかと思います。

すると怪しいのは青字のあたりでしょうか。

アイルはIISですよね?
そうするとEC-CUBEにもともと用意されている.htaccessではPHPの設定がされないので別途php.iniを用意する必要がありますが、これは最初に私が勘違いしていたところでもあるので、この件とは関係ないかもしれません。

追記:
F-REGI決済モジュールのエラー文言文字化け
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=3814&forum=10
ゲスト
投稿日時: 2009/8/20 17:17
対応状況: 解決済
Re: ペイジェントモジュール銀行ネット決済の型エラー
ramrunさんありがとうございます。
申し上げにくいのですが、認識・設定ミスでした。

[/shopping/load_payment_module.php] detail->"claim_kanji"パラメータの値はタイプが不正です。

というログがあったので、grepをかけて検索したら

data/downloads/module/mdl_paygent\LC_Page_Mdl_Paygent_Config.php内に
>> 'claim_kanji' => $arrSiteInfo['shop_name'],

とあったのを、なぜかSHOPマスタ登録の店舗名だと思い込んでいました。
data/downloads/module/mdl_paygent\LC_Page_Mdl_Paygent_Config.phpと書いてあるのに…

claim_kanjiが指しているのは、ペイジェント決済モジュールの設定画面での店舗名のことでした。
こちらを12文字以内の全角に修正すると正常に注文することが出来ました。

お騒がせして申し訳ありませんでした。
そして、ご指導いただいたramrunさん、mahalo_cさんありがとうございました。お手数をおかけしました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,274名です
総投稿数は110,068件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1301
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.