hjkhghopjkertteerterterterertertrtoirh
bnmbertsurhetertertertertertertertpdf'tdfg
/
srv
/
www
/
virtual
/
wccweb.jp
/
web
/
htdocs
/
golfex2021
/
Upload FileeE
HOME
<?php // EPSILON クレジットカード認証完了、コンビニ受付番号発行完了 // クライアント側プログラム(PHP版) // // このプログラムの実行には、以下のモジュールが必要です。 // ・PHP(ver5,,,,, // ・PEAR: // ・PEAR:HTTP_Request2: // ・PEAR:Net_URL2: // ・PEAR:XML_Parser: // ・PEAR:XML_Serializer: // //各種設定はconfig.phpで行なっていますのでそちらを編集下さい。 require_once('./admin/include/config.php'); //送信時と受信時で異なるので注意(それぞれ別々に定義する) //$getsales_url = 'https://beta.epsilon.jp/client/getsales.cgi';//テスト用 $getsales_url = 'https://secure.epsilon.jp/client/getsales.cgi';//本番用 // 発行されたユーザーID(契約コード)を入力してください // CGI-1,2共通 $user_id = $contract_code; //ブラウザ更新時には送信しないようログを保存するためのファイルパス $log_file_path = 'admin/data/log.dat'; //include Libraly //PEAR拡張モジュールの読み込み。 require_once "xml/Unserializer.php"; require_once "HTTP/Request2.php"; // 変数の設定 // オーダー情報確認CGIのURL(試験用) // オーダー情報確認CGIについては2種類ありますのでご注意お願いいたします。 // 詳細はCGI設定マニュアルの「オーダー情報確認CGI-1,2」をご確認願います。 // 各CGIの説明 // CGI-1:認証にパスワード要/発信元IP無制限 // CGI-2:認証にパスワード不要/発信元IPの制限有 // 以下にはCGI-1と2で設定パラメータが相違しますので利用されるCGIによって変更してください。 // 接続先URLの設定 // CGI-1利用の場合 本番環境への接続の場合は契約後弊社からご連絡いたしますURLに変更してください //$getsales_url = 'https://beta.epsilon.jp/client/getsales.cgi'; // CGI-2利用の場合 本番環境への接続の場合は契約後弊社からご連絡いたしますURLに変更してください //my $getsales_url = 'https://beta.epsilon.jp/cgi-bin/order/getsales2.cgi'; // 発行されたパスワードを入力してください。 // CGI-1利用の場合 弊社からお知らせしたパスワードを設定してください。 // CGI-2利用の場合 当値は利用しませんので適当な値を設定してください。txZaDA9o,j6ralKCA //パスワード変更に伴い、テスト=zPKaYRga、本番=egn27463となっているので注意。 $passwd = 'BKwFA/NW'; // エラーが発生した場合のメッセージ $err_msg; // オーダー情報取得CGIを実行した結果を格納する連想配列 $response = array(); // 各支払い方法 $payment_name = array( 1 => "VISA/MASTER/DINERS", 2 => "JCB/AMEX", 3 => "コンビニエンスストア", 4 => "ジャパンネット銀行", 5 => "楽天銀行", 6 => "カンガルー代引", 7 => "ペイジー", 8 => "ウェブマネー", 9 => "Yahoo!ウォレット", 11 => "PayPal", 12 => "BitCash", 13 => "電子マネーちょコム", 14 => "ゆうパックコレクト", 15 => "スマートフォンキャリア決済", 16 => "JCB PREMO", 17 => "SBIネット銀行", 18 => "GMO後払い", 19 => "多通貨クレジットカード決済", ); // コンビニ支払の場合の支払い方法の簡単な説明 $setsumei = array( # セブンイレブン 11 => "以下の払込票ページをプリントアウトされるか、払込票番号をメモして<br>" . "最寄りのセブンイレブンのレジにてお支払いください。<br>" , # ファミリーマート 21 => "ファミリーマート店頭にございます Famiポート/ファミネットにて<br>" . "以下の2つの数字をご入力頂き、発行されるFamiポート申込券をレジまで<br>" . "お持ちになり代金をお支払いください。<br>", # ローソン 31 => "ローソンの店内に設置してあるLoppiのトップ画面の中から、「インターネット受付」<br>" . "をお選びください。次画面のジャンルの中から「インターネット受付」をお選び頂き、<br>" . "画面に従って以下の「お支払い受付番号」と、ご登録頂いた「電話番号」をご入力下さい。<br>" , # セイコーマート 32 => "セイコーマートの店内に設置してあるセイコーマートクラブステーション(情報端末)の<br>" . "トップ画面の中から、「インターネット受付」をお選び下さい。画面に従って以下の<br>" . "「お支払い受付番号」と、ご登録頂いた「電話番号」をご入力下さい。<br>" , # ミニストップ 33 => "ミニストップの店内に設置してあるLoppiのトップ画面の中から、「各種番号受付をお持ちの方」<br>" . "をお選びください。<br>画面に従って以下の「お支払い受付番号」と、ご登録頂いた「電話番号」をご入力下さい。<br>" , # サークルK 35 => "サークルKの店内に設置してあるKステーション(情報端末)の<br>" . "トップ画面の中から、「各種支払い」をお選び下さい。<br>" . "「6桁の番号をお持ちの方」をお選びください。<br>オンライン決済番号を入力してお支払いをお選びください<br> ". "画面にしたがって以下の「お支払い受付番号」と、ご登録頂いた「電話番号」をご入力下さい。<br>" , # サンクス 36 => "サンクスの店内に設置してあるKステーション(情報端末)の<br>". "トップ画面の中から、「各種支払い」をお選び下さい。<br>" . "「6桁の番号をお持ちの方」をお選びください。<br>オンライン決済番号を入力してお支払いをお選びください<br> ". "画面にしたがって以下の「お支払い受付番号」と、ご登録頂いた「電話番号」をご入力下さい。<br>" ); // パラメータとして渡される(GET)トランザクションコードを取得します。 $trans_code = $_REQUEST['trans_code']; // 結果問い合わせ用HTTPリクエスト送信 // CGI-1利用の場合 // ※オーダー情報確認CGIの実行にはベーシック認証が必要です。 $request = new HTTP_Request2($getsales_url, HTTP_Request2::METHOD_POST); $request->setConfig(array( 'ssl_verify_peer' => false, # 'ssl_verify_peer' => true, 'ssl_cafile' => '/etc/ssl/certs/ca-bundle.crt', //ルートCA証明書ファイルを指定 )); $request->setHeader("Content-Type","application/x-www-form-urlencoded"); $request->setBody("trans_code=" . $trans_code); $request->setAuth($user_id, $passwd,HTTP_Request2::AUTH_BASIC); $response = $request->send(); // CGI-2利用の場合 //$request = new HTTP_Request2($getsales_url, HTTP_Request2::METHOD_POST); //$request->setHeader("Content-Type","application/x-www-form-urlencoded"); //$request->setBody("trans_code=" . $trans_code . "&contract_code=" . $user_id); //$response = $request->send(); // 以降はCGI-1,2どちらも共通です。 if (PEAR::isError($response)) { // インターフェイスCGIの実行に失敗した場合 $err_msg = "データの送信に失敗しました<br><br>"; $err_msg .= "<br />res_statusCd=" . $response->getStatus(); $err_msg .= "<br />res_status=" . $response ->getHeader('Status'); echo $err_msg; exit; } // CGIの実行に成功した場合、応答内容(XML)を解析します // 応答内容(XML)の解析 $res_code = $response ->getStatus(); $res_content = $response ->getBody(); #fputs(STDERR, $res_content ); //xml unserializer $temp_xml_res = $res_content;#str_replace("x-sjis-cp932", "Shift-JIS", $res_content); $unserializer = new XML_Unserializer(); $unserializer->setOption('parseAttributes', TRUE); $unseriliz_st = $unserializer->unserialize($temp_xml_res); if ($unseriliz_st === true) { //xmlを解析 $res_array = $unserializer->getUnserializedData(); //error check if($res_array['result']['result'] == "0"){ echo "処理に失敗しました<br><br>"; exit(1); } $res_param_array = array(); //pram setting foreach($res_array['result'] as $uns_k => $uns_v){ list($result_atr_key, $result_atr_val) = each($uns_v); $res_param_array[$result_atr_key] = mb_convert_encoding(urldecode($result_atr_val), "UTF-8" ,"auto"); } $debug_printj .= "<br />xml_memo2_msg=" . $xml_memo2_msg; }else{ //xml parser error echo "xml parser error<br><br>"; var_dump($temp_xml_res); //var_dump($user_id); exit(1); } $result_html; if ($res_param_array['payment_code'] == 3){ // コンビニ支払の場合 if ($res_param_array['conveni_code'] == 11){ // セブンイレブンの場合 $result_html = $setsumei[11] . "<br><br>\n"; $result_html .= "払込票 : <a href=\"" . $res_param_array['haraikomi_url'] . "\">ここをクリック</a> <br>\n"; $result_html .= "払込票番号 : " . $res_param_array['receipt_no'] . "<br>\n"; } elseif ($res_param_array['conveni_code'] == 21){ // ファミリーマートの場合 $result_html = $setsumei[21] . "<br><br>\n"; $result_html .="企業コード: " . $res_param_array['kigyou_code'] . "<br>\n"; $result_html .= "注文番号 : " . $res_param_array['receipt_no'] . "<br>\n"; } elseif ( 31 <= $res_param_array['conveni_code'] && $res_param_array['conveni_code'] <= 36 ){ // ローソン、セイコーマートの場合 $result_html = $setsumei{$res_param_array{'conveni_code'}} . "<br><br>\n"; $result_html .= "お支払い受付番号 : " . $res_param_array['receipt_no'] . "<br>\n"; } else { // 不明(異常) print_html("支払情報の取得に失敗しました : " . $res_param_array{'conveni_code'}); exit(0); } $conveni_limit_date = split("-",$res_param_array['conveni_limit']); $result_html .= "<br>支払期限:" . $conveni_limit_date[0] . "年" . $conveni_limit_date[1] . "月" . $conveni_limit_date[2] . "日<br>\n"; print_html("",$payment_name[$res_param_array['payment_code']],$res_param_array['item_name'],$res_param_array['item_price'],$result_html); exit (0); } else { // それ以外の決済の場合 //print_html("",$payment_name[$res_param_array['payment_code']],$res_param_array['item_name'],$res_param_array['item_price'],"ご注文ありがとうございました。"); //exit(0); } function print_html($err_msg,$payment_name,$item_name,$item_price,$result_setsumei){ echo <<<EOM <br>${err_msg} </td></tr> </table> EOM; return(1); } // HTML出力 //print_r($res_param_array); //---------------------------------------------------------------------- // メール送信の実施(BEGIN) //---------------------------------------------------------------------- //ブラウザ更新時には送信しないようログをチェックする //ファイルがなければ生成する if(!file_exists($log_file_path)){ $fp = fopen($log_file_path, "a+b") or die("ファイルオープンエラー 再送信防止用のログファイルが開けませんでした。".$log_file_path.'があるかどうかご確認下さい。なければ作成して下さい。'); fclose($fp); } $existsFlag = 0; $lines = file($log_file_path); foreach($lines as $val){ $linesArr = explode(',',$val); if($linesArr[0] == $res_param_array['order_number']){ $existsFlag = 1; break; } } if($existsFlag == 0 && !empty($res_param_array['user_mail_add'])){//ブラウザ更新時には書き込みしない //カード決済が完了したらpaymentカラムを1にする。 if(!empty($res_param_array['user_id'])){ $query = "update log_tbl set payment = 1 where id = '".$res_param_array['user_id']."' and mail = '".$res_param_array['user_mail_add']."'";//更新用クエリ $res = mysqli_query($link,$query) or die(mysqli_error($link)); } //データベースからユーザーの入力内容を取得する $query = "select * from log_tbl where id = '".$res_param_array['user_id']."' and mail = '".$res_param_array['user_mail_add']."'"; $res = mysqli_query($link,$query) or die(mysqli_error($link)); $data = mysqli_fetch_assoc($res); //ブラウザ更新時には送信しないようログを保存する $write_data = $res_param_array['order_number'].",\n"; $fp = fopen($log_file_path, "a+b") or die("ファイルオープンエラー"); // 俳他的ロック if (flock($fp, LOCK_EX)) { fwrite($fp, $write_data);// 書き込み } fflush($fp); flock($fp, LOCK_UN); fclose($fp); //共通メール本文をセット $body.="━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"; $body.="お申し込み完了のお知らせ\n"; $body.="━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n"; $body.="この度は、「FRANCK MULLER GOLF Experience 2021」へのお申し込みをいただきまして誠にありがとうございました。\n\n"; $body.="クレジットカード決済が正常に完了いたしましたのでご報告致します。\n"; $body.="お申込み内容は、下記の通りでございますのでご確認ください。\n"; $body.="何卒よろしくお願い申し上げます。\n\n"; //$body .="━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"; if(!empty($data)){ $body.="▼申し込み内容\n"; $body.="【 代表者名 】".$data['name']." 様\n"; $body.="【 フリガナ 】".$data['kana']." 様\n"; $body.="【 郵便番号 】".$data['postal']."\n"; $body.="【 住所 】".$data['address']."\n"; $body.="【 電話番号 】".$data['tel']."\n"; $body.="【 メールアドレス 】".$data['mail']."\n"; $body.="【 パートナー名 】".$data['name2']." 様\n"; $body.="【 パートナーフリガナ 】".$data['kana2']." 様\n"; $body.="【 パートナーの郵便番号 】".$data['postal2']."\n"; $body.="【 パートナーの住所 】".$data['address2']."\n"; $body.="【 パートナーの電話番号 】".$data['tel2']."\n"; $body.="【 パートナーのメールアドレス 】".$data['mail2']."\n"; } $body.="\n▼決済内容\n"; //$body.="【 ID番号 】".$res_param_array['user_id']."\n"; //$body.="【 予約番号 】".$res_param_array['order_number']."\n"; $body.="【 決済日時 】".$res_param_array['credit_time']."\n"; $body.="【 オーダー番号 】".$res_param_array['order_number']."\n"; $body.="【 購入内容 】".$res_param_array['item_name']."\n"; $body.="【 決済方法 】クレジットカード\n"; $body.="【 合計金額(税込) 】".number_format($res_param_array['item_price'])." 円\n"; $body.="【 お申込者 】".$res_param_array['user_name']."\n"; $body.="【 メールアドレス 】".$res_param_array['user_mail_add']."\n"; //$body.="【 決済方法 】".$payment_name[$res_param_array['payment_code']]."\n";//JCBで決済してもVISA/MASTER/DINERSと表示されるため、非表示にした(表示する意味もないため) //$body.="【 金額(税込) 】".number_format($res_param_array['item_price'])." 円\n"; //$body.="【 数量 】1\n"; // $body.="送信された日時:".$up_ymd."\n"; // $body.="ダウンロードURL:".$currentURL."\n"; $body.="━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n"; //管理者メール $subject = "=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($mailconfig['subject'],"JIS",'utf-8'))."?="; $header="From: {$from}\n"; $header.="Reply-To: {$res_param_array['user_mail_add']}\n"; $header.="Content-Type:text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion(); $adminBody.= "\n「".$res_param_array['user_mail_add']."」のお客様によるクレジットカード決済が完了し、\n以下の内容でお客様にメールをお送りしました。\n\n"; $adminBody.=$body; $adminBody.="\n\n"; $adminBody.="送信者のIPアドレス:".@$_SERVER["REMOTE_ADDR"]."\n"; $adminBody.="送信者のホスト名:".getHostByAddr(getenv('REMOTE_ADDR'))."\n"; $adminBody = mb_convert_encoding($adminBody,"JIS",'UTF-8'); @mail($to,$subject,$adminBody,$header); //お客さん宛 $to = $res_param_array['user_mail_add']; $subject = "=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($mailconfig['re_subject'],"JIS",'utf-8'))."?="; $header="From: {$from}\n"; //$header.= (!empty($BccMail)) ? "Bcc: {$BccMail}\n" : ''; $header.="Reply-To: {$from}\n"; $header.="Content-Type:text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion(); $userBody.= $body; $userBody.= "\n──────────────────────\n"; $userBody.= "FRANCK MULLER GOLF Experience 2021\n"; $userBody.= "──────────────────────\n"; //$userBody.= $mailSignature; $userBody = mb_convert_encoding($userBody,"JIS",'UTF-8'); @mail($to,$subject,$userBody,$header); } //---------------------------------------------------------------------- // メール送信の実施(END) //---------------------------------------------------------------------- ?> <!doctype html> <html> <head> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PKCBDPJ');</script> <!-- End Google Tag Manager --> <meta charset="UTF-8"> <title>カード決済完了 | お申し込み | FRANCK MULLER GOLF Experience 2021 ヴァンガード バックスイング GOLF DAY</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="keywords" content="フランク ミュラー, FRANCK MULLER,腕時計,高級時計,機械式時計"> <meta name="description" content="この度、ゴールデンバレーゴルフ倶楽部にて、『FRANCK MULLER GOLF Experience 2021 ヴァンガード バックスイング GOLF DAY』を開催いたします。"> <meta property="og:title" content="お申し込み | FRANCK MULLER GOLF Experience 2021 ヴァンガード バックスイング GOLF DAY"> <meta property="og:type" content="article"> <meta property="og:url" content="https://franckmuller-japan.com/golfex2021/form.html"> <meta property="og:image" content="https://franckmuller-japan.com/golfex2021/assets/img/ogp.jpg"> <meta property="og:site_name" content="FRANCK MULLER GOLF Experience 2021 ヴァンガード バックスイング GOLF DAY"> <meta property="og:description" content="この度、ゴールデンバレーゴルフ倶楽部にて、『FRANCK MULLER GOLF Experience 2021 ヴァンガード バックスイング GOLF DAY』を開催いたします。"> <link rel="icon" href="assets/img/favicon.ico"> <link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-touch-icon.png"> <link rel="stylesheet" href="assets/css/style.css"> <link rel="stylesheet" href="assets/css/contact.css"> </head> <body> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PKCBDPJ" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <section id="wrapper"> <div id="header"></div> <section class="second contact form"> <div class="inner inviewfadeInUp"> <h4>カード決済完了</h4> <p> お申し込みいただき、誠にありがとうございました。<br> 以下の内容でクレジットカード決済が完了いたしました。<br> ご入力いただきましたメールアドレスに「お申し込み完了」の自動返信メールを送信いたしました。 </p> <table class="formTable"> <tr> <th>決済日時</th> <td><?php echo $res_param_array['credit_time'];?></td> </tr> <tr> <th>お申込者</th> <td><?php echo $res_param_array['user_name'];?></td> </tr> <tr> <th>メールアドレス</th> <td><?php echo $res_param_array['user_mail_add'];?></td> </tr> <tr> <th>決済方法</th> <td>クレジットカード<!--<?php echo $payment_name[$res_param_array['payment_code']];?>--></td> </tr> <tr> <th>購入内容</th> <td><?php echo $res_param_array['item_name'];?></td> </tr> <!--<tr> <th>金額(税込)</th> <td><?php echo number_format($res_param_array['item_price']);?> 円</td> </tr>--> <!--<tr> <th>数量</th> <td>1</td> </tr>--> <tr> <th>合計金額(税込)</th> <td><?php echo number_format($res_param_array['item_price']);?> 円</td> </tr> </table> <div class="btn"><a href="https://franckmuller-japan.com/golfex2021/">戻る</a></div> </div> </section> <div id="footer"></div> </section> <!-- /#wrapper --> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $(function() { $("#header").load("assets/tpl/header.html"); $("#footer").load("assets/tpl/footer.html"); }); </script> </body> </html>