welcart:ゼウス決済で2回払い/ボーナス払いを追加する
Tag: Welcart
welcartでゼウス決済を使ってるお客さんが2回払/ボーナス払いに対応させたいということでゼウスに申し込んだのでwelcart側の対処をしました。
っていうかゼウスって2回払い/ボーナス払いは別途料金取るらしい。いい商売してるな。
もともと分割は3回からなの全然知らなかった。
welcartの方もそれを元に作ってるので2回払い申し込んだあとのこととか考えてないみたいです。
対応させるにはプラグインファイルの書き換えが必要なのであまりおすすめはしないですね。
なんでこれから決済サービス決めるときは別のやつにしたほうがいいと思う。
更新もめんどくさいし有料だし。
プラグインファイルの書き換え
書き換えるファイルはこれ。
classes/paymentZeus.class.php
キーはそれぞれ
- 2回払い→02
- ボーナス払い→B1
とのこと。
セレクトボックス
購入時、クレジットの回数を選択するセレクトボックス部分です。
関数「delivery_secure_form_loop」内1514行目あたりです。
オプションを増やします。
<option value="01"'.( ( '01' === $div ) ? ' selected="selected"' : '' ).'>'.__( 'Single payment', 'usces' ).'</option> <option value="B1"'.( ( 'B1' === $div ) ? ' selected="selected"' : '' ).'>'.__( 'Bonus lump-sum payment', 'usces' ).'</option> <option value="99"'.( ( '99' === $div ) ? ' selected="selected"' : '' ).'>'.__( 'Libor Funding pay', 'usces' ).'</option> <option value="02"'.( ( '02' === $div ) ? ' selected="selected"' : '' ).'>2'.__( '-time payment', 'usces' ).'</option> <option value="03"'.( ( '03' === $div ) ? ' selected="selected"' : '' ).'>3'.__( '-time payment', 'usces' ).'</option> <option value="05"'.( ( '05' === $div ) ? ' selected="selected"' : '' ).'>5'.__( '-time payment', 'usces' ).'</option> <option value="06"'.( ( '06' === $div ) ? ' selected="selected"' : '' ).'>6'.__( '-time payment', 'usces' ).'</option> <option value="10"'.( ( '10' === $div ) ? ' selected="selected"' : '' ).'>10'.__( '-time payment', 'usces' ).'</option> <option value="12"'.( ( '12' === $div ) ? ' selected="selected"' : '' ).'>12'.__( '-time payment', 'usces' ).'</option> <option value="15"'.( ( '15' === $div ) ? ' selected="selected"' : '' ).'>15'.__( '-time payment', 'usces' ).'</option> <option value="18"'.( ( '18' === $div ) ? ' selected="selected"' : '' ).'>18'.__( '-time payment', 'usces' ).'</option> <option value="20"'.( ( '20' === $div ) ? ' selected="selected"' : '' ).'>20'.__( '-time payment', 'usces' ).'</option> <option value="24"'.( ( '24' === $div ) ? ' selected="selected"' : '' ).'>24'.__( '-time payment', 'usces' ).'</option> //↓吐き出されたhtml <option value="01">一括払い</option> <option value="B1">ボーナス一括払い</option> <option value="99">リボ払い</option> <option value="02">2回払い</option> <option value="03">3回払い</option> <option value="05">5回払い</option> <option value="06">6回払い</option> <option value="10">10回払い</option> <option value="12">12回払い</option> <option value="15">15回払い</option> <option value="18">18回払い</option> <option value="20">20回払い</option> <option value="24">24回払い</option>
これで選択肢に2回とボーナス払いが追加されます。
Bonus lump-sum paymentは翻訳ファイルでボーナス一括払いと表示されます。
普通に日本語で「ボーナス払い」と書いてもOK。
他の書き方と合わせてるだけです。
確認画面/メール/管理画面
その他、それぞれの表示も追加してやらないといけません。
- 確認画面
関数「payment_detail」内1313行目あたりです。 - メール
関数「order_confirm_mail_payment」内931行目あたりです。 - 管理画面
関数「settlement_info_field_value」内1153行目あたりです。
書き換える内容は全部同じで、switchのcaseを増やします。
変数が$div_nameだったり$valueだったり$strだったりしますが内容は同じです。
ここでは$valueを使ってるのでお間違えなく。
case '01': $value = '一括払い'; break; case 'B1': $value = 'ボーナス一括払い'; break; case '99': $value = '分割(リボ払い)'; break; case '02': $value = '分割(2回)'; break; case '03': $value = '分割(3回)'; break; case '05': $value = '分割(5回)'; break; case '06': $value = '分割(6回)'; break; case '10': $value = '分割(10回)'; break; case '12': $value = '分割(12回)'; break; case '15': $value = '分割(15回)'; break; case '18': $value = '分割(18回)'; break; case '20': $value = '分割(20回)'; break; case '24': $value = '分割(24回)'; break;
それぞれにちゃんと名称が表示されます。
これを書いておかないとキーがそのまま出力されたり、空欄だったりになってしまいます。
以上、こんな感じです。需要はないと思いますが一応備忘録として残しておこうかと思いまして。
面倒臭いですねぇ。なんかいい方法ないかなぁ。