クロネコwebコレクトに対応するには

2012 年 3 月 14 日

ホーム フォーラム 使い方全般 クロネコwebコレクトに対応するには

このトピックには6件の返信が含まれ、3人の参加者がいます。4 年、 4 ヶ月前 motomoto さんが最後の更新を行いました。

7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #51400

    gabgab
    参加者

    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の知識も乏しくうまく説明できていないと思いますが、アドバイスいただけたら幸いです。

    #64126

    uishi
    参加者
    }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のテンプレートも少し変える必要を感じました。

    あと前回も騒がせしましたが、こちらも素人なのでご利用の際はご用心下さい。

    それとこちらはネットで集めた情報なので、現在も同じ仕様かどうかわからないのと、クロネコの規約に守秘義務とかがあったらまたこのレスを削除しなくてはいけかないかもですね

    ご批判ご指導をお待ちしています。

    #64127

    gabgab
    参加者

    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を追加していました。

    #64128

    gabgab
    参加者

    自己解決しました。

    単純にpurchase_button.phpに

    <input type="hidden" name="acting" value="kuroneko" />

    を追加してあげればよかったのですね。

    #64130

    motomoto
    参加者

    WordPress 3.5.1

    Version 1.3.3.

    この記事を参考に、テスト環境で正常動作を確認できました。ありがとうございます。

    completion_settlement.phpに<input クロネコに送信する情報>

    を書き込んでいますが、商品名の取得でつまづいています。

    商品名固定のままでも実務上は問題ないと思いますが、ほかの変数は取得できているので、気になっています。

    完了画面で、注文商品名を取得するには、どうされていますか?

    #64131

    gabgab
    参加者

    商品名の取得の問題についてですが、私が試したところ商品名の文字数が全角で20文字程度に収まっていないと、商品名の取得ができないという問題が発生していました。(正確に文字数を数えたわけではありません。)

    それが原因で、決済画面に進もうとするとFatal Errorという画面がでてきて決済を終了することができませんでした。

    そこで、商品名を短くすることで解決としました。

    ご参考までに。

    #64132

    motomoto
    参加者

    gabgabさん。ありがとうございます。

    クロネコwebコレクトの仕様書では、商品名称に200バイト以下という記述があり、時間があれば注文商品名すべてをぶつけてみよと思っていました。助かりました。ほかの決済でも「商品名+ほか何点」など値を工夫しているのはこのためですね。

    注文商品名の取得については、

    completion_settlement.phpにて、<input クロネコに送信する情報>に

    esc_attr($usces_entries)などで、ほかの情報は取得できているのですが、商品名を取得する変数がわからなかったです。

    とりあえず、商品名を固定して、動作確認で「正常」が出ましたが、

    本番前に、ほかのブラウザで試したところ、文字化けが確認され、

    →解決しました。(追記)

    まだ、運用には至っていません。

    →運用開始時にご報告させていただきます。(追記)

    →運用をはじめることができました。情報ありがとうございました。(追記)

7件の投稿を表示中 - 1 - 7件目 (全7件中)

このトピックに返信するにはログインが必要です。