- Timestamp:
- 2007/07/20 15:58:59 (17 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 1 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update
-
Property
svn:ignore
set to
.cache
.settings
.projectOptions
-
Property
svn:ignore
set to
-
branches/feature-module-update/html/shopping/convenience.php
r12157 r15078 15 15 $this->arrCONVENIENCE = $arrCONVENIENCE; 16 16 /* 17 session_start »þ¤Îno-cache¥Ø¥Ã¥À¡¼¤òÍÞÀ©¤¹¤ë¤³¤È¤Ç18 ¡ÖÌá¤ë¡×¥Ü¥¿¥ó»ÈÍÑ»þ¤Î͸ú´ü¸ÂÀÚ¤ìɽ¼¨¤òÍÞÀ©¤¹¤ë¡£19 private-no-expire: ¥¯¥é¥¤¥¢¥ó¥È¤Î¥¥ã¥Ã¥·¥å¤òµö²Ä¤¹¤ë¡£17 session_start時のno-cacheヘッダーを抑制することで 18 「戻る」ボタン使用時の有効期限切れ表示を抑制する。 19 private-no-expire:クライアントのキャッシュを許可する。 20 20 */ 21 21 session_cache_limiter('private-no-expire'); … … 33 33 $arrInfo = $objSiteInfo->data; 34 34 35 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹35 // パラメータ管理クラス 36 36 $objFormParam = new SC_FormParam(); 37 // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½37 // パラメータ情報の初期化 38 38 lfInitParam(); 39 // POST ÃͤμèÆÀ39 // POST値の取得 40 40 $objFormParam->setParam($_POST); 41 41 42 // ¥¢¥¯¥»¥¹¤ÎÀµÅöÀ¤ÎȽÄê42 // アクセスの正当性の判定 43 43 $uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess); 44 44 45 // ¥³¥ó¥Ó¥Ë¤Î¼ïÎà¤Ç½èÍý¥Õ¥¡¥¤¥ë¤òÀÚ¤êÂؤ¨¤ë45 //コンビニの種類で処理ファイルを切り替える 46 46 switch($_POST['mode']) { 47 // ´°Î»47 //完了 48 48 case 'complete': 49 // ¥¨¥é¡¼¥Á¥§¥Ã¥¯49 //エラーチェック 50 50 $objPage->arrErr = lfCheckError(); 51 51 if($objPage->arrErr == "") { 52 // ¥Þ¡¼¥Á¥ã¥ó¥È¾ðÊóÀßÄê¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É52 // マーチャント情報設定ファイルをインクルード 53 53 //require("merchant.ini"); 54 // ·èºÑ½èÍý¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó¥¯¥ë¡¼¥É54 // 決済処理パッケージをインクルード 55 55 require_once(DATA_PATH . "vtcvsmdk/mdk/lib/BSCVS/Transaction.php"); 56 56 require_once(DATA_PATH . "vtcvsmdk/mdk/lib/BSCVS/Config.php"); 57 57 require_once(DATA_PATH . "vtcvsmdk/mdk/lib/BSCVS/Log.php"); 58 58 59 // ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®59 // トランザクションインスタンスを作成 60 60 $objTran = new Transaction; 61 61 62 // ÀßÄê¥Õ¥¡¥¤¥ë cvsgwlib.conf ¤Ë¤è¤ê¥¤¥ó¥¹¥¿¥ó¥¹¤ò½é´ü²½62 // 設定ファイル cvsgwlib.conf によりインスタンスを初期化 63 63 $objTran->setServer(DATA_PATH . "vtcvsmdk/mdk/conf/cvsgwlib.conf"); 64 64 65 // ¥«¡¼¥È½¸·×½èÍý65 // カート集計処理 66 66 $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); 67 // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆɹþ67 // 一時受注テーブルの読込 68 68 $arrData = sfGetOrderTemp($uniqid); 69 // ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»»69 // カート集計を元に最終計算 70 70 $arrPrice = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo, $objCustomer); 71 71 72 // ¥í¥°½ÐÎÏ¥¤¥ó¥¹¥¿¥ó¥¹¤ò¼èÆÀ72 // ログ出力インスタンスを取得 73 73 $logger = $objTran->getLogger(); 74 74 75 // ¥í¥°½ÐÎÏ(¤³¤³¤«¤é)76 $logger->logprint('DEBUG', '<<< »Ùʧ·ë²Ì²èÌ̽èÍý³«»Ï... >>>');77 78 // ¥³¥ó¥Ó¥Ë¤Î¼ïÎफ¤éCVS¥¿¥¤¥×¤ò·èÄꤹ¤ë75 // ログ出力(ここから) 76 $logger->logprint('DEBUG', '<<< 支払結果画面処理開始... >>>'); 77 78 //コンビニの種類からCVSタイプを決定する 79 79 switch($_POST['convenience']) { 80 // ¥»¥Ö¥ó¥¤¥ì¥Ö¥ó80 //セブンイレブン 81 81 case '1': 82 82 $cvs_type = '01'; 83 83 break; 84 // ¥Õ¥¡¥ß¥ê¡¼¥Þ¡¼¥È84 //ファミリーマート 85 85 case '2': 86 86 $cvs_type = '03'; 87 87 break; 88 // ¥µ¡¼¥¯¥ëK¥µ¥ó¥¯¥¹88 //サークルKサンクス 89 89 case '3': 90 90 $cvs_type = '04'; 91 91 break; 92 // ¤½¤Î¾92 //その他 93 93 case '4': 94 94 case '5': … … 100 100 } 101 101 102 // ¥ê¥¯¥¨¥¹¥ÈÅÅʸ102 //リクエスト電文 103 103 $arrRequest = array( 104 // ¼è°úID104 // 取引 ID 105 105 REQ_ORDER_ID => $uniqid, 106 // CVS ¥¿¥¤¥×106 // CVSタイプ 107 107 REQ_CVS_TYPE => $cvs_type, 108 // ¶â³Û108 // 金額 109 109 REQ_AMOUNT => $arrPrice['payment_total'], 110 // »Ùʧ´ü¸Â110 // 支払期限 111 111 REQ_PAY_LIMIT => lfGetPayLimit(), 112 // »á̾¡ÊÃí°Õ¡§¥Ù¥ê¥È¥é¥ó¥¹¥³¥ó¥Ó¥Ë¥²¡¼¥È¥¦¥§¥¤¤Ï UTF-8 ¤Îʸ»ú¤Î¤ß¤ò113 // ¼õ¤±ÉÕ¤±¤ë¤¿¤á¡¢¥²¡¼¥È¥¦¥§¥¤Àܳ¤ÎÁ°¤Ë UTF-8 ¥³¡¼¥É¤ØÊÑ´¹¡Ë112 // 氏名(注意:ベリトランスコンビニゲートウェイは UTF-8 の文字のみを 113 // 受け付けるため、ゲートウェイ接続の前に UTF-8 コードへ変換) 114 114 REQ_NAME1 => $objTran->jCode($arrData['order_name01'], ENCODE_UTF8), 115 115 REQ_NAME2 => $objTran->jCode($arrData['order_name02'], ENCODE_UTF8), 116 116 REQ_KANA => $objTran->jCode($arrData['order_kana01'].$arrData['order_kana02'], ENCODE_UTF8), 117 // ÅÅÏÃÈÖ¹æ117 // 電話番号 118 118 REQ_TEL_NO => $arrData['order_tel01']."-".$arrData['order_tel02']."-".$arrData['order_tel03'] 119 119 ); 120 120 121 // ¥Ù¥ê¥È¥é¥ó¥¹¥³¥ó¥Ó¥Ë¥²¡¼¥È¥¦¥§¥¤¤Ë¥ê¥¯¥¨¥¹¥ÈÅÅʸ¤òÅꤲ¡¢¼è°ú·ë²Ì¤ò³ÊǼ121 //ベリトランスコンビニゲートウェイにリクエスト電文を投げ、取引結果を格納 122 122 $arrResult = $objTran->doTransaction(CMD_ENTRY, $arrRequest); 123 // ¼è°úÀ®¸ù123 //取引成功 124 124 if($arrResult[RES_ACTION_CODE] = '010') { 125 // ¥³¥ó¥Ó¥Ë¤Î¼ïÎà125 //コンビニの種類 126 126 switch($_POST['convenience']) { 127 // ¥»¥Ö¥ó¥¤¥ì¥Ö¥ó127 //セブンイレブン 128 128 case '1': 129 $arrRet['cv_type'] = '1'; // ¥³¥ó¥Ó¥Ë¤Î¼ïÎà130 $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL]; // ʧ¹þɼURL(PC)131 $arrRet['cv_receipt_no'] = $arrResult[RES_RECEIPT_NO]; // ʧ¹þɼÈÖ¹æ132 break; 133 // ¥Õ¥¡¥ß¥ê¡¼¥Þ¡¼¥È129 $arrRet['cv_type'] = '1'; //コンビニの種類 130 $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL]; //払込票URL(PC) 131 $arrRet['cv_receipt_no'] = $arrResult[RES_RECEIPT_NO]; //払込票番号 132 break; 133 //ファミリーマート 134 134 case '2': 135 135 $company_code = substr($arrResult[RES_RECEIPT_NO], 0, 5); 136 136 $order_no = substr($arrResult[RES_RECEIPT_NO], 6, 12); 137 $arrRet['cv_type'] = '2'; // ¥³¥ó¥Ó¥Ë¤Î¼ïÎà138 $arrRet['cv_company_code'] = $company_code; // ´ë¶È¥³¡¼¥É139 $arrRet['cv_order_no'] = $order_no; // ¼õÉÕÈÖ¹æ140 break; 141 // ¥µ¡¼¥¯¥ëK¥µ¥ó¥¯¥¹137 $arrRet['cv_type'] = '2'; //コンビニの種類 138 $arrRet['cv_company_code'] = $company_code; //企業コード 139 $arrRet['cv_order_no'] = $order_no; //受付番号 140 break; 141 //サークルKサンクス 142 142 case '3': 143 143 $mobile_url = preg_replace("/https:\/\/.+?\/JLPcon/","https://w2.kessai.info/JLM/JLMcon", $arrResult[RES_HARAIKOMI_URL]); 144 $arrRet['cv_type'] = '3'; // ¥³¥ó¥Ó¥Ë¤Î¼ïÎà145 $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL]; // ʧ¹þɼURL146 $arrRet['cv_payment_mobile_url'] = $mobile_url; // ʧ¹þɼURL(¥â¥Ð¥¤¥ë)147 break; 148 // ¥í¡¼¥½¥ó¡¢¥»¥¤¥³¡¼¥Þ¡¼¥È144 $arrRet['cv_type'] = '3'; //コンビニの種類 145 $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL]; //払込票URL 146 $arrRet['cv_payment_mobile_url'] = $mobile_url; //払込票URL(モバイル) 147 break; 148 //ローソン、セイコーマート 149 149 case '4': 150 $arrRet['cv_type'] = '4'; // ¥³¥ó¥Ó¥Ë¤Î¼ïÎà151 $arrRet['cv_receipt_no'] = $arrResult[RES_RECEIPT_NO]; // ʧ¹þɼÈÖ¹æ152 break; 153 // ¥ß¥Ë¥¹¥È¥Ã¥×¡¢¥Ç¥¤¥ê¡¼¥ä¥Þ¥¶¥¡¢¥ä¥Þ¥¶¥¥Ç¥¤¥ê¡¼¥¹¥È¥¢150 $arrRet['cv_type'] = '4'; //コンビニの種類 151 $arrRet['cv_receipt_no'] = $arrResult[RES_RECEIPT_NO]; //払込票番号 152 break; 153 //ミニストップ、デイリーヤマザキ、ヤマザキデイリーストア 154 154 case '5': 155 $arrRet['cv_type'] = '5'; // ¥³¥ó¥Ó¥Ë¤Î¼ïÎà156 $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL]; // ʧ¹þɼURL(PC)155 $arrRet['cv_type'] = '5'; //コンビニの種類 156 $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL]; //払込票URL(PC) 157 157 break; 158 158 } 159 // »Ùʧ´ü¸Â159 //支払期限 160 160 $arrRet['cv_payment_limit'] = lfGetPayLimit(); 161 // ¥³¥ó¥Ó¥Ë·èºÑ¾ðÊó¤ò³ÊǼ161 //コンビニ決済情報を格納 162 162 $sqlval['conveni_data'] = serialize($arrRet); 163 163 $objQuery = new SC_Query; 164 164 $objQuery->update("dtb_order_temp", $sqlval, "order_temp_id = ? ", array($uniqid)); 165 // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµÏ¿¤·¤Æ¤ª¤¯165 // 正常に登録されたことを記録しておく 166 166 $objSiteSess->setRegistFlag(); 167 // ¹ØÆþ´°Î»¥Ú¡¼¥¸¤Ø167 //購入完了ページへ 168 168 header("Location: " . URL_SHOP_COMPLETE); 169 // ¼ºÇÔ169 //失敗 170 170 } else { 171 $objPage->arrErr = ' ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£';171 $objPage->arrErr = 'エラーが発生しました。'; 172 172 } 173 173 174 # ¥í¥°½ÐÎÏ(¤³¤³¤Þ¤Ç)175 $logger->logprint('DEBUG', '<<< »Ùʧ·ë²Ì²èÌ̽èÍý½ªÎ». >>>');174 # ログ出力(ここまで) 175 $logger->logprint('DEBUG', '<<< 支払結果画面処理終了. >>>'); 176 176 177 177 } 178 178 break; 179 // Ìá¤ë179 //戻る 180 180 case 'return': 181 // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµÏ¿¤·¤Æ¤ª¤¯181 // 正常に登録されたことを記録しておく 182 182 $objSiteSess->setRegistFlag(); 183 // ³Îǧ¥Ú¡¼¥¸¤Ø°ÜÆ°183 // 確認ページへ移動 184 184 header("Location: " . URL_SHOP_CONFIRM); 185 185 exit; … … 188 188 189 189 $objView->assignobj($objPage); 190 // ¥Õ¥ì¡¼¥à¤òÁªÂò(¥¥ã¥ó¥Ú¡¼¥ó¥Ú¡¼¥¸¤«¤éÁ«°Ü¤Ê¤éÊѹ¹)190 // フレームを選択(キャンペーンページから遷移なら変更) 191 191 $objCampaignSess->pageView($objView); 192 192 193 193 //------------------------------------------------------------------------------------------------------------- 194 194 195 // »Ùʧ´ü¸Â¤ÎÀ¸À®195 //支払期限の生成 196 196 function lfGetPayLimit() { 197 197 $date = sprintf("%10s", … … 201 201 } 202 202 203 // ¥Ñ¥é¥á¡¼¥¿¤Î½é´ü²½203 //パラメータの初期化 204 204 function lfInitParam() { 205 205 global $objFormParam; 206 $objFormParam->addParam(" ¥³¥ó¥Ó¥Ë¤Î¼ïÎà", "convenience", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));207 } 208 209 // ÆþÎÏÆâÍƤΥÁ¥§¥Ã¥¯206 $objFormParam->addParam("コンビニの種類", "convenience", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 207 } 208 209 // 入力内容のチェック 210 210 function lfCheckError() { 211 211 global $objFormParam; 212 // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£212 // 入力データを渡す。 213 213 $arrRet = $objFormParam->getHashArray(); 214 214 $objErr = new SC_CheckError($arrRet);
Note: See TracChangeset
for help on using the changeset viewer.