- 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/data/downloads/module/mdl_epsilon/card.php
r12157 r15078 12 12 class LC_Page { 13 13 function LC_Page() { 14 /** ɬ¤º»ØÄꤹ¤ë**/15 $this->tpl_mainpage = 'mdl_epsilon/card.tpl'; // ¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È14 /** 必ず指定する **/ 15 $this->tpl_mainpage = 'mdl_epsilon/card.tpl'; // メインテンプレート 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'); … … 29 29 $arrInfo = $objSiteInfo->data; 30 30 31 // ¥æ¡¼¥¶¥æ¥Ë¡¼¥¯ID¤Î¼èÆÀ¤È¹ØÆþ¾õÂÖ¤ÎÀµÅöÀ¤ò¥Á¥§¥Ã¥¯31 // ユーザユニークIDの取得と購入状態の正当性をチェック 32 32 $uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess); 33 33 34 // ¥«¡¼¥È½¸·×½èÍý34 // カート集計処理 35 35 $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); 36 36 37 // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆɹþ37 // 一時受注テーブルの読込 38 38 $arrData = sfGetOrderTemp($uniqid); 39 39 40 // ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»»40 // カート集計を元に最終計算 41 41 $arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo); 42 42 43 // Âåɽ¾¦ÉʾðÊó43 // 代表商品情報 44 44 $arrMainProduct = $objPage->arrProductsClass[0]; 45 45 46 // »Ùʧ¤¤¾ðÊó¤ò¼èÆÀ46 // 支払い情報を取得 47 47 $arrPayment = $objQuery->getall("SELECT module_id, memo01, memo02, memo03, memo04, memo05, memo06, memo07, memo08, memo09, memo10 FROM dtb_payment WHERE payment_id = ? ", array($arrData["payment_id"])); 48 48 49 // trans_code ¤ËÃͤ¬¤¢¤ê³î¤Ä¡¢Àµ¾ï½ªÎ»¤Î¤È¤¤Ï¥ª¡¼¥À¡¼³Îǧ¤ò¹Ô¤¦¡£49 // trans_codeに値があり且つ、正常終了のときはオーダー確認を行う。 50 50 if($_GET["result"] == "1"){ 51 51 52 // Àµ¾ï¤Ê¿ä°Ü¤Ç¤¢¤ë¤³¤È¤òµÏ¿¤·¤Æ¤ª¤¯52 // 正常な推移であることを記録しておく 53 53 $objSiteSess->setRegistFlag(); 54 54 55 // GET ¥Ç¡¼¥¿¤òÊݸ55 // GETデータを保存 56 56 $arrVal["credit_result"] = $_GET["result"]; 57 57 $arrVal["memo01"] = PAYMENT_CREDIT_ID; … … 59 59 $sqlval["memo04"] = sfGetXMLValue($arrXML,'RESULT','TRANS_CODE'); 60 60 61 // ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¥³¡¼¥É62 $arrMemo["trans_code"] = array("name"=>"Epsilon ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¥³¡¼¥É", "value" => $_GET["trans_code"]);61 // トランザクションコード 62 $arrMemo["trans_code"] = array("name"=>"Epsilonトランザクションコード", "value" => $_GET["trans_code"]); 63 63 $arrVal["memo02"] = serialize($arrMemo); 64 64 65 // ·èºÑÁ÷¿®¥Ç¡¼¥¿ºîÀ®65 // 決済送信データ作成 66 66 $arrModule['module_id'] = MDL_EPSILON_ID; 67 67 $arrModule['payment_total'] = $arrPayment[0]["payment_total"]; … … 69 69 $arrVal["memo05"] = serialize($arrModule); 70 70 71 // ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Ë¹¹¿·71 // 受注一時テーブルに更新 72 72 sfRegistTempOrder($uniqid, $arrVal); 73 73 74 // ´°Î»²èÌ̤Ø74 // 完了画面へ 75 75 if (is_callable(GC_MobileUserAgent) && GC_MobileUserAgent::isMobile()) { 76 76 header("Location: " . gfAddSessionId(URL_SHOP_COMPLETE)); … … 80 80 } 81 81 82 // ¥Ç¡¼¥¿Á÷¿®82 // データ送信 83 83 lfSendCredit($arrData, $arrPayment, $arrMainProduct); 84 84 85 85 //--------------------------------------------------------------------------------------------------------------------------------------------------------- 86 86 87 // ¥Ç¡¼¥¿Á÷¿®½èÍý87 // データ送信処理 88 88 function lfSendCredit($arrData, $arrPayment, $arrMainProduct, $again = true){ 89 89 global $objSiteSess; 90 90 global $objCampaignSess; 91 91 92 // ¥Ç¡¼¥¿Á÷¿®ÀèCGI92 // データ送信先CGI 93 93 $order_url = $arrPayment[0]["memo02"]; 94 94 95 // Èó²ñ°÷¤Î¤È¤¤Ï user_id ¤Ë not_member¤ÈÁ÷¤ë95 // 非会員のときは user_id に not_memberと送る 96 96 ($arrData["customer_id"] == 0) ? $user_id = "not_member" : $user_id = $arrData["customer_id"]; 97 97 98 // Á÷¿®¥Ç¡¼¥¿À¸À®99 $item_name = $arrMainProduct["name"] . " ¡ß" . $arrMainProduct["quantity"] . "¸Ä (Âåɽ)";98 // 送信データ生成 99 $item_name = $arrMainProduct["name"] . "×" . $arrMainProduct["quantity"] . "個 (代表)"; 100 100 $arrSendData = array( 101 'contract_code' => $arrPayment[0]["memo01"], // ·ÀÌ󥳡¼¥É102 'user_id' => $user_id , // ¥æ¡¼¥¶ID103 'user_name' => $arrData["order_name01"].$arrData["order_name02"], // ¥æ¡¼¥¶Ì¾104 'user_mail_add' => $arrData["order_email"], // ¥á¡¼¥ë¥¢¥É¥ì¥¹105 'order_number' => $arrData["order_id"], // ¥ª¡¼¥À¡¼ÈÖ¹æ106 'item_code' => $arrMainProduct["product_code"], // ¾¦ÉÊ¥³¡¼¥É(Âåɽ)107 'item_name' => $item_name, // ¾¦ÉÊ̾(Âåɽ)108 'item_price' => $arrData["payment_total"], // ¾¦ÉʲÁ³Ê(Àǹþ¤ßÁí³Û)109 'st_code' => $arrPayment[0]["memo04"], // ·èºÑ¶èʬ110 'mission_code' => '1', // ²Ý¶â¶èʬ(¸ÇÄê)111 'process_code' => '1', // ½èÍý¶èʬ(¸ÇÄê)112 'xml' => '1', // ±þÅú·Á¼°(¸ÇÄê)113 'memo1' => "", // ͽÈ÷01114 'memo2' => ECCUBE_PAYMENT . "_" . date("YmdHis"), // ͽÈ÷02101 'contract_code' => $arrPayment[0]["memo01"], // 契約コード 102 'user_id' => $user_id , // ユーザID 103 'user_name' => $arrData["order_name01"].$arrData["order_name02"], // ユーザ名 104 'user_mail_add' => $arrData["order_email"], // メールアドレス 105 'order_number' => $arrData["order_id"], // オーダー番号 106 'item_code' => $arrMainProduct["product_code"], // 商品コード(代表) 107 'item_name' => $item_name, // 商品名(代表) 108 'item_price' => $arrData["payment_total"], // 商品価格(税込み総額) 109 'st_code' => $arrPayment[0]["memo04"], // 決済区分 110 'mission_code' => '1', // 課金区分(固定) 111 'process_code' => '1', // 処理区分(固定) 112 'xml' => '1', // 応答形式(固定) 113 'memo1' => "", // 予備01 114 'memo2' => ECCUBE_PAYMENT . "_" . date("YmdHis"), // 予備02 115 115 ); 116 116 117 // ¥Ç¡¼¥¿Á÷¿®117 // データ送信 118 118 $arrXML = sfPostPaymentData($order_url, $arrSendData); 119 119 120 // ¥¨¥é¡¼¤¬¤¢¤ë¤«¥Á¥§¥Ã¥¯¤¹¤ë120 // エラーがあるかチェックする 121 121 $err_code = sfGetXMLValue($arrXML,'RESULT','ERR_CODE'); 122 122 … … 124 124 $err_detail = sfGetXMLValue($arrXML,'RESULT','ERR_DETAIL'); 125 125 126 // ·èºÑ¶èʬ¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤Ï VISA,MASTER ¤Î¤ß¤ÇºÆÁ÷¿®¤ò»î¤ß¤ë126 // 決済区分エラーの場合には VISA,MASTER のみで再送信を試みる 127 127 if($err_code == "909" and $again){ 128 128 $arrPayment[0]["memo04"] = "10000-0000-00000"; 129 129 lfSendCredit($arrData, $arrPayment, $arrMainProduct, false); 130 130 } 131 sfDispSiteError(FREE_ERROR_MSG, "", true, " ¹ØÆþ½èÍýÃæ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£<br /><br /><br />¡¦" . $err_detail . "<br /><br /><br />¤³¤Î¼ê³¤¤Ï̵¸ú¤È¤Ê¤ê¤Þ¤·¤¿¡£");131 sfDispSiteError(FREE_ERROR_MSG, "", true, "購入処理中に以下のエラーが発生しました。<br /><br /><br />・" . $err_detail . "<br /><br /><br />この手続きは無効となりました。"); 132 132 } else { 133 // Àµ¾ï¤Ê¿ä°Ü¤Ç¤¢¤ë¤³¤È¤òµÏ¿¤·¤Æ¤ª¤¯133 // 正常な推移であることを記録しておく 134 134 $objSiteSess->setRegistFlag(); 135 135 136 // ·ÈÂÓüËö¤Î¾ì¹ç¤Ï¡¢¥»¥Ã¥·¥ç¥óID¡¦¥ª¡¼¥À¡¼Èֹ桦Ìá¤Ã¤Æ¤¯¤ëURL¤òÊݸ¤·¤Æ¤ª¤¯¡£136 // 携帯端末の場合は、セッションID・オーダー番号・戻ってくるURLを保存しておく。 137 137 if (is_callable(GC_MobileUserAgent) && GC_MobileUserAgent::isMobile()) { 138 138 sfMobileSetExtSessionId('order_number', $arrData['order_id'], 'shopping/load_payment_module.php');
Note: See TracChangeset
for help on using the changeset viewer.