クロネコwebコレクトに対応するには
-
投稿者投稿
-
2012年3月14日 7:20 AM #51400gabgab参加者
WordPress のバージョン:3.1.4
Welcart のバージョン:0.9.5
こちらのスレッド『雑談 クロネコWEBコレクトの導入について』を参考に、
リンク方式でのクロネコwebコレクトに対応しようとしています。
ダミーのモジュール kuroneko.php を作成し、purshase_button.phpに case’kuroneko.php’ を追加することで、購入前の最終確認画面に支払い手続画面へのリンクを設置する事ができたのですが、この状態ですと、welcart内で注文が完了しないまま支払い手続に行ってしまいます。
そこで、支払い方法でクロネコwebコレクトを選択した場合の注文完了画面に支払い手続きへのリンクを設置したいのです。
purchase_button.phpに acting_~_~ という文字が多数登場していますが、このactingにkuronekoを追加すれば、completion_settlement.phpで使えるようなものになるのでしょうか?
phpの知識も乏しくうまく説明できていないと思いますが、アドバイスいただけたら幸いです。
2012年3月14日 8:21 AM #64126uishi参加者}elseif( isset($_REQUEST['acting']) && 'kuroneko' == $_REQUEST['acting'] ){ //J-Payment<br />
require_once($usces->options['settlement_path'] . "kuroneko.php");<br />
$entry = $usces->cart->get_entry();これは受注番号を取得するために必要</p>
<p> $html .= '<form id="purchase_form" action="ここにクロネコのURL" method="post" onKeyDown="if (event.keyCode == 13) {return false;}"><br />
処理用のINPUT<br />
加盟店番号のINPUT<br />
受注番号のINPUT<br />
金額のINPUT<br />
※ここまでが必須<br />
商品名<br />
購入者漢字 これはシフトjisに変換する必要あり<br />
購入者電話<br />
購入者メール<br />
購入者カナ これはシフトjisに変換する必要あり<br />
';</p>
<p> $html .= '<br />
<div class="send"><input name="purchase" type="submit" id="purchase_button" class="checkout_button" value="クロネコWEBでお支払手続きをする"' . apply_filters('usces_filter_confirm_nextbutton', NULL) . ' /></div>';<br />
$html = apply_filters('usces_filter_confirm_inform', $html, $payments, $acting_flag, $rand);<br />
$html .= '</form>';<br />でローカルでは動きました。
ただダミーのkuroneko.phpに加盟店番号とクロネコの送信先を書いても読み込まなかったです。
それとテーマのcartのテンプレートも少し変える必要を感じました。
あと前回も騒がせしましたが、こちらも素人なのでご利用の際はご用心下さい。
それとこちらはネットで集めた情報なので、現在も同じ仕様かどうかわからないのと、クロネコの規約に守秘義務とかがあったらまたこのレスを削除しなくてはいけかないかもですね
ご批判ご指導をお待ちしています。
2012年3月14日 10:02 AM #64127gabgab参加者uishiさんありがとうございます。
completion_settlement.phpに上記コードを記入した場合、purchase_button.phpには変更が必要でしょうか?
今までは、
case 'kuroneko.php'://ここから追加 クロネコwebコレクト
require_once($this->options['settlement_path'] . "kuroneko.php");
$html .= '<form name="UserForm" action="クロネコのURL" method="post" target="_blank" accept-charset="Shift_JIS"></p>
<input クロネコに送信する情報>
<div>クロネコでお支払い</div>
<input type="submit" value="お支払手続きへ"></div>';
$html = apply_filters('usces_filter_confirm_inform', $html);
$html .= '</form>
<form action="' . USCES_CART_URL . '" method="post" onKeyDown="if (event.keyCode == 13) {return false;}">
<div class="send"><input name="backDelivery" type="submit" value="'.__('Back', 'usces').'"' . apply_filters('usces_filter_confirm_prebutton', NULL) . ' /></div>';
$html = apply_filters('usces_filter_confirm_inform', $html, $payments, $acting_flag, $rand);
$html .= '</form>';
break;
//ここまでこのようにcaseを追加していました。
2012年3月15日 2:06 AM #64128gabgab参加者自己解決しました。
単純にpurchase_button.phpに
<input type="hidden" name="acting" value="kuroneko" />
を追加してあげればよかったのですね。
2013年7月28日 2:16 AM #64130motomoto参加者WordPress 3.5.1
Version 1.3.3.
この記事を参考に、テスト環境で正常動作を確認できました。ありがとうございます。
completion_settlement.phpに<input クロネコに送信する情報>
を書き込んでいますが、商品名の取得でつまづいています。
商品名固定のままでも実務上は問題ないと思いますが、ほかの変数は取得できているので、気になっています。
完了画面で、注文商品名を取得するには、どうされていますか?
2013年7月29日 12:23 AM #64131gabgab参加者商品名の取得の問題についてですが、私が試したところ商品名の文字数が全角で20文字程度に収まっていないと、商品名の取得ができないという問題が発生していました。(正確に文字数を数えたわけではありません。)
それが原因で、決済画面に進もうとするとFatal Errorという画面がでてきて決済を終了することができませんでした。
そこで、商品名を短くすることで解決としました。
ご参考までに。
2013年7月29日 4:56 AM #64132motomoto参加者gabgabさん。ありがとうございます。
クロネコwebコレクトの仕様書では、商品名称に200バイト以下という記述があり、時間があれば注文商品名すべてをぶつけてみよと思っていました。助かりました。ほかの決済でも「商品名+ほか何点」など値を工夫しているのはこのためですね。
注文商品名の取得については、
completion_settlement.phpにて、<input クロネコに送信する情報>に
esc_attr($usces_entries)などで、ほかの情報は取得できているのですが、商品名を取得する変数がわからなかったです。
とりあえず、商品名を固定して、動作確認で「正常」が出ましたが、
本番前に、ほかのブラウザで試したところ、文字化けが確認され、
→解決しました。(追記)
まだ、運用には至っていません。
→運用開始時にご報告させていただきます。(追記)
→運用をはじめることができました。情報ありがとうございました。(追記)
-
投稿者投稿
- このトピックに返信するにはログインが必要です。