PluginProbe
Welcart e-Commerce / 1.3.8
Welcart e-Commerce v1.3.8
2.12.4 2.12.3 2.11.35 2.12.2 2.12.1 2.11.34 2.11.33 2.11.32 2.11.31 2.11.30 1.3.16 1.3.17 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 All 292 releases
usc-e-shop / settlement / epsilon_sample_ja.php

epsilon_sample_ja.php in Welcart e-Commerce 1.3.8, at settlement/epsilon_sample_ja.php

137 lines 5.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 イプシロン決済モジュール(クレジットカードのみ)
4
5 【手順1】イプシロン・システム�
6 報登録(テスト環境)
7 ・オーダー�
8 報発信�
9 �ホスト�
10 報:ショップのドメイン若しくはIPアドレス
11 ・決済完了後のリダイレクト�
12 �:ショップトップページのURL
13 ・[戻る]ボタンの戻り�
14 �URL:ショップトップページのURL/index.php?page_id=カートページのID&confirm=0
15  SSLを利用している場合はhttp//をhttps://にする。また�
16 �用SSLの場合はそのURLを指定。
17 ・エラー発生時の戻り�
18 �URL:ショップトップページのURL/index.php?page_id=カートページのID&acting=epsilon&acting_return=0
19  SSLを利用している場合はhttp//をhttps://にする。また�
20 �用SSLの場合はそのURLを指定。
21 ・タイムアウト�
22 報送信�
23 �URL:ショップトップページのURL/index.php?page_id=カートページのID&acting=epsilon&acting_return=0
24  SSLを利用している場合はhttp//をhttps://にする。また�
25 �用SSLの場合はそのURLを指定。
26
27 ※本番環境ではテスト環境と同じものを設定します。
28
29
30 【手順2】このファイルを編集
31 ・$contract_code :契約番号を�
32 �力
33 ・$interface_url :本稼動の場合は本番環境用URLに変更
34 ・編集後はepsilon.php のファイル名で任意の場所(※)に保存
35
36 ※テストの時はepsilon_sample.php が有った場所に保存して構いません。そのまま使用できます。
37  しかし、この場所はプラグインのアップグレードの際に削除されてしまいます。
38  実際の設置場所はplugins フォルダの外にすることをお勧めします。
39  また、その際はWelcart管理画面・システム設定ページにてモジュールの設置場所を指定してください。
40
41
42 【手順3】Welcart 管理画面の基本設定ページにて新しい支払方法を追加
43 ・支払方法名:ショップに表示される支払方法名(�
44 須)
45 ・説明:ショップに表示される支払方法の説明
46 ・決済種別:「代行業�
47 決済」を選択
48 ・決済モジュール:「epsilon.php」と記�
49
50 ・「新しい支払方法を追加」ボタンを押して追加を確定
51
52 */
53 /*****************************************************************************************************/
54 // 契約番号(8桁) オンライン登録時に発行された契約番号を�
55 �力してください。
56 $contract_code = "00000000";
57
58 // 決済区分 (現在クレジットカード決済のみの対応となっています。それ以外の決済区分は選択できません。)
59 $st_code = '10000-0000-00000'; // 指定方法はCGI設定マニュアルの「決済区分について」を参�
60 �してください。
61
62 // 課金区分 (現在一回払いのみの対応となっています。それ以外の課金区分は選択できません。)
63 $mission_code = 1;
64
65 // 処理区分 (現在初回課金のみの対応となっています。それ以外の処理区分は選択できません。)
66 $process_code = 1;
67
68 // インターフェイスURL(初期値はテスト環境用URL。本稼動の際は本番環境用URLに変更が�
69 要。)
70 $interface_url = 'https://beta.epsilon.jp/cgi-bin/order/receive_order3.cgi';
71 /*******************************************************************************************************/
72
73 $order_number = rand(0,9999999999);
74 $memo1 = "";
75 $memo2 = "";
76 $redirect = urldecode($_GET['redirect_url']);
77 $url = parse_url($redirect);
78 $item_code = $_GET['item_code'];
79 $item_name = mb_convert_encoding(urldecode($_GET['item_name']), 'EUC-JP', 'UTF-8');
80 $item_price = $_GET['item_price'];
81 $user_id = $_GET['user_id'];
82 $user_name = mb_convert_encoding(urldecode($_GET['user_name']), 'EUC-JP', 'UTF-8');
83 $user_mail_add = urldecode($_GET['user_mail_add']);
84 $changeflag = 0;
85 $interface = parse_url($interface_url);
86
87 $vars ="contract_code=$contract_code&user_id=$user_id&user_name=$user_name&user_mail_add=$user_mail_add&item_code=$item_code&item_name=$item_name&order_number=$order_number&st_code=$st_code&mission_code=$mission_code&item_price=$item_price&process_code=$process_code&xml=1";
88 $header = "POST " . $interface_url . " HTTP/1.1\r\n";
89 $header .= "Host: " . $url['host'] . "\r\n";
90 $header .= "User-Agent: PHP Script\r\n";
91 $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
92 $header .= "Content-Length: " . strlen($vars) . "\r\n";
93 $header .= "Connection: close\r\n\r\n";
94 $header .= $vars;
95 $fp = fsockopen($interface['host'],80,$errno,$errstr,30);
96
97 if ($fp){
98 fwrite($fp, $header);
99 while ( !feof($fp) ) {
100 $scr = fgets($fp, 1024);
101 preg_match_all("/<result\s(.*)\s\/>/", $scr, $match, PREG_SET_ORDER);
102
103 if(!empty($match[0][1])){
104 list($key, $value) = explode('=', $match[0][1]);
105 $datas[$key] = mb_convert_encoding(urldecode(trim($value, '"')), "UTF-8", "SJIS");
106 }
107 }
108 fclose($fp);
109
110 if((int)$datas['result'] === 1){
111 $entry = $this->cart->get_entry();
112 settlement_log('epsilon module : ' . print_r($entry, true));
113 header("Location: " . $datas['redirect']);
114 exit;
115 }else{
116 $error = $datas['err_code'] . "'" . $datas['err_detail'] . "'";
117 header("Location: " . $redirect . "&acting=epsilon&acting_return=" . urlencode($error));
118 exit;
119 }
120 }else{
121 header("Location: " . $redirect . "&acting=epsilon&acting_return=0");
122 exit;
123 }
124
125 function settlement_log($log){
126 global $usces;
127 //if(!$usces->log_flg) return;
128
129 $log = date('[Y-m-d H:i:s]', current_time('timestamp')) . "\t" . $log . "\n";
130 $file = $usces->options['settlement_path'].'/epsilon.log';
131 $fp = fopen($file, 'a');
132 fwrite($fp, $log);
133 fclose($fp);
134 }
135
136 ?>
137