Changeset 16179 for branches/feature-module-gmo-pg/data/downloads/module/mdl_gmo-pg/gmo-pg_credit.php
- Timestamp:
- 2007/09/30 01:43:29 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-gmo-pg/data/downloads/module/mdl_gmo-pg/gmo-pg_credit.php
r16178 r16179 5 5 * http://www.lockon.co.jp/ 6 6 */ 7 require_once(MODULE_PATH . "mdl_zeus/mdl_zeus.inc"); 7 require_once(MODULE_PATH . "mdl_gmo-pg/mdl_gmo-pg.inc"); 8 9 /* 10 11 »ÙʧÊýË¡¤òɽ¤¹¥³¡¼¥É 12 13 1¡§ °ì³çʧ¤¤ 14 2¡§ ʬ³äʧ¤¤ 15 3¡§ ¥Ü¡¼¥Ê¥¹°ì³çʧ¤¤ 16 4¡§ ¥Ü¡¼¥Ê¥¹Ê¬³äʧ¤¤ 17 5¡§ ¥ê¥Üʧ¤¤ 18 19 */ 20 21 $arrPayMethod = array( 22 '1-0' => "°ì³çʧ¤¤", 23 '2-3' => "ʬ³ä3²óʧ¤¤", 24 '2-6' => "ʬ³ä6²óʧ¤¤", 25 '2-10'=> "ʬ³ä10²óʧ¤¤", 26 '2-15'=> "ʬ³ä15²óʧ¤¤", 27 '2-20'=> "ʬ³ä20²óʧ¤¤", 28 '5-0' => "¥ê¥Üʧ¤¤" 29 ); 8 30 9 31 class LC_Page { 10 32 function LC_Page() { 33 /** ɬ¤º»ØÄꤹ¤ë **/ 34 $this->tpl_css = '/css/layout/shopping/card.css'; // ¥á¥¤¥óCSS¥Ñ¥¹ 11 35 if (GC_MobileUserAgent::isMobile()) { 12 $this->tpl_mainpage = MODULE_PATH . "mdl_ zeus/zeus_credit_mobile.tpl";36 $this->tpl_mainpage = MODULE_PATH . "mdl_gmo-pg/gmo-pg_credit_mobile.tpl"; 13 37 } else { 14 $this->tpl_mainpage = MODULE_PATH . "mdl_zeus/zeus_credit.tpl"; 15 } 38 $this->tpl_mainpage = MODULE_PATH . "mdl_gmo-pg/gmo-pg_credit.tpl"; 39 } 40 global $arrPayMethod; 41 $this->arrPayMethod = $arrPayMethod; 16 42 /* 17 43 session_start»þ¤Îno-cache¥Ø¥Ã¥À¡¼¤òÍÞÀ©¤¹¤ë¤³¤È¤Ç … … 25 51 $objPage = new LC_Page(); 26 52 $objView = (GC_MobileUserAgent::isMobile()) ? new SC_MobileView() : new SC_SiteView(); 27 $objCampaignSess = new SC_CampaignSession(); 53 $objSiteSess = new SC_SiteSession(); 54 $objCartSess = new SC_CartSession(); 28 55 $objSiteInfo = $objView->objSiteInfo; 29 56 $arrInfo = $objSiteInfo->data; 30 31 57 32 58 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹ … … 37 63 $objFormParam->setParam($_POST); 38 64 39 // ¥«¡¼¥È½¸·×½èÍý 40 $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); 41 42 // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆÉ¹þ 43 $arrData = sfGetOrderTemp($uniqid); 44 45 // ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»» 46 $arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo); 65 // ¥¢¥¯¥»¥¹¤ÎÀµÅöÀ¤ÎȽÄê 66 $uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess); 47 67 48 68 switch($_POST['mode']) { 69 // ÅÐÏ¿ 70 case 'regist': 71 // ÆþÎÏÃͤÎÊÑ´¹ 72 $objFormParam->convParam(); 73 $objPage->arrErr = lfCheckError($arrRet); 74 75 // ÆþÎÏ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç 76 if(count($objPage->arrErr) == 0) { 77 // ¥¨¥é¡¼¥Õ¥é¥° 78 $err_flg = false; 79 80 // ¥«¡¼¥È½¸·×½èÍý 81 $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); 82 // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆÉ¹þ 83 $arrData = sfGetOrderTemp($uniqid); 84 // ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»» 85 $arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo); 86 // ¥«¡¼¥É¤Îǧ¾Ú¤ò¹Ô¤¦ 87 $arrVal = $objFormParam->getHashArray(); 88 89 // ÄÌ¿®¥¨¥é¡¼¤ÎȽÄê 90 $access_err = false; 91 // ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸ 92 $credit_err = false; 93 $gmo_err_msg = ""; 94 95 // ¥¢¥¯¥»¥¹ID¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç 96 if($_SESSION['GMO']['ACCESS_ID'] == "") { 97 // ŹÊÞ¾ðÊó¤ÎÁ÷¿® 98 $arrEntryRet = lfSendGMOEntry($arrData['order_id'], $arrData['payment_total']); 99 if($arrEntryRet == NULL) { 100 $access_err = true; 101 } 102 103 // ŹÊÞ¾ðÊ󥨥顼¤ÎȽÄê 104 if($arrEntryRet['ERR_CODE'] == '0' && $arrEntryRet['ERR_INFO'] == 'OK') { 105 $_SESSION['GMO']['ACCESS_ID'] = $arrEntryRet['ACCESS_ID']; 106 $_SESSION['GMO']['ACCESS_PASS'] = $arrEntryRet['ACCESS_PASS']; 107 } else { 108 $_SESSION['GMO']['ACCESS_ID'] = ""; 109 $_SESSION['GMO']['ACCESS_PASS'] = ""; 110 $credit_err = true; 111 $detail_code01 = substr($arrEntryRet['ERR_INFO'], 0, 5); 112 $detail_code02 = substr($arrEntryRet['ERR_INFO'], 5, 4); 113 $gmo_err_msg = $detail_code01 . "-" . $detail_code02; 114 } 115 } 116 117 // ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç 118 if(!$access_err && !$credit_err) { 119 // ŹÊÞ¾ðÊóÁ÷¿®·ë²Ì 120 $sqlval['memo04'] = $arrEntryRet['ERR_CODE']; 121 $sqlval['memo05'] = $arrEntryRet['ERR_INFO']; 122 123 // ŹÊÞ¾ðÊ󥨥顼¤ÎȽÄê 124 if($_SESSION['GMO']['ACCESS_ID'] != "" && $_SESSION['GMO']['ACCESS_PASS'] != "" ) { 125 // ·èºÑ¾ðÊó¤ÎÁ÷¿® 126 $arrExecRet = lfSendGMOExec($_SESSION['GMO']['ACCESS_ID'], $_SESSION['GMO']['ACCESS_PASS'], $arrData['order_id'], $arrVal['card_no01'], $arrVal['card_no02'], $arrVal['card_no03'], $arrVal['card_no04'], $arrVal['card_month'], $arrVal['card_year'], $arrVal['paymethod']); 127 if($arrExecRet == NULL) { 128 $access_err = true; 129 } 130 } 131 } 132 133 // ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç 134 if(!$access_err && !$credit_err) { 135 // ÄɲþðÊó¤Ï¤Ê¤¤¤¿¤á¥À¥ß¡¼¥Ç¡¼¥¿¤ò³ÊǼ 136 $sqlval['memo02'] = serialize(array()); 137 138 // ±þÅúÆâÍÆ¤ÎµÏ¿ 139 $sqlval['memo03'] = $arrVal['card_name01'] . " " . $arrVal['card_name02']; 140 141 // ·èºÑ¾ðÊóÁ÷¿®·ë²Ì 142 $sqlval['memo06'] = $arrExecRet['ErrType']; 143 $sqlval['memo07'] = $arrExecRet['ErrInfo']; 144 145 $objQuery = new SC_Query(); 146 $objQuery->update("dtb_order_temp", $sqlval, "order_temp_id = ?", array($uniqid)); 147 148 // Í¿¿®½èÍýÀ®¸ù¤Î¾ì¹ç 149 if($arrExecRet['Html'] == "Receipt" && $arrExecRet['ErrType'] == "" && $arrExecRet['ErrInfo'] == "") { 150 // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµÏ¿¤·¤Æ¤ª¤¯ 151 $objSiteSess->setRegistFlag(); 152 // ¥¢¥¯¥»¥¹ID¤ò¥¯¥ê¥¢¤¹¤ë¡£ 153 $_SESSION['GMO']['ACCESS_ID'] = ""; 154 $_SESSION['GMO']['ACCESS_PASS'] = ""; 155 // ½èÍý´°Î»¥Ú¡¼¥¸¤Ø 156 if (GC_MobileUserAgent::isMobile()) { 157 header("Location: " . gfAddSessionId(URL_SHOP_COMPLETE)); 158 } else { 159 header("Location: " . URL_SHOP_COMPLETE); 160 } 161 } else { 162 $credit_err = true; 163 $detail_code01 = substr($arrExecRet['ErrInfo'], 0, 5); 164 $detail_code02 = substr($arrExecRet['ErrInfo'], 5, 4); 165 $gmo_err_msg = $detail_code01 . "-" . $detail_code02; 166 } 167 } 168 169 if($access_err || $credit_err) { 170 if($access_err) { 171 $objPage->tpl_error = "¢¨ ¥¯¥ì¥¸¥Ã¥È¾µÇ§¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡§ÄÌ¿®¥¨¥é¡¼"; 172 } else { 173 if($gmo_err_msg != "") { 174 $objPage->tpl_error = "¢¨ ¥¯¥ì¥¸¥Ã¥È¾µÇ§¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡§".$gmo_err_msg; 175 } else { 176 $objPage->tpl_error = "¢¨ ¥¯¥ì¥¸¥Ã¥È¾µÇ§¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡§ÉÔÌÀ¤Ê¥¨¥é¡¼"; 177 } 178 } 179 } 180 } 181 break; 49 182 // Á°¤Î¥Ú¡¼¥¸¤ËÌá¤ë 50 183 case 'return': 51 184 // Àµ¾ï¤Ê¿ä°Ü¤Ç¤¢¤ë¤³¤È¤òµÏ¿¤·¤Æ¤ª¤¯ 52 185 $objSiteSess->setRegistFlag(); 53 if (GC_MobileUserAgent::isMobile()) { 54 header("Location: " . gfAddSessionId(URL_SHOP_CONFIRM)); 55 } else { 56 header("Location: " . URL_SHOP_CONFIRM); 57 } 186 header("Location: " . URL_SHOP_CONFIRM); 58 187 exit; 59 break;60 // ¼¡¤Ø61 case 'next':62 // ÆþÎÏÃͤÎÊÑ´¹63 $objFormParam->convParam();64 $objPage->arrErr = lfCheckError($arrRet);65 66 // ÆþÎÏ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç67 if(count($objPage->arrErr) == 0) {68 // ÆþÎϥǡ¼¥¿¤Î¼èÆÀ¤ò¹Ô¤¦69 $arrInput = $objFormParam->getHashArray();70 // ¥¯¥ì¥¸¥Ã¥ÈÅÅʸÁ÷¿®71 $ret = sfPostPaymentData($arrData, $arrInput);72 // À®¸ù73 if($ret) {74 // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµÏ¿¤·¤Æ¤ª¤¯75 $objSiteSess->setRegistFlag();76 if (GC_MobileUserAgent::isMobile()) {77 header("Location: " . gfAddSessionId(URL_SHOP_COMPLETE));78 } else {79 header("Location: " . URL_SHOP_COMPLETE);80 }81 } else {82 // ¼ºÇÔ83 $objPage->tpl_error = "ǧ¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£¤ª¼ê¿ô¤Ç¤¹¤¬ÆþÎÏÆâÍÆ¤ò¤´³Îǧ¤¯¤À¤µ¤¤¡£";84 }85 }86 break;87 case 'quick_charge':88 // ¥¯¥ì¥¸¥Ã¥ÈÅÅʸÁ÷¿®89 $ret = sfPostPaymentData($arrData, $arrInput, true);90 // À®¸ù91 if($ret) {92 // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµÏ¿¤·¤Æ¤ª¤¯93 $objSiteSess->setRegistFlag();94 if (GC_MobileUserAgent::isMobile()) {95 header("Location: " . gfAddSessionId(URL_SHOP_COMPLETE));96 } else {97 header("Location: " . URL_SHOP_COMPLETE);98 }99 } else {100 // ¼ºÇÔ101 $objPage->tpl_error = "ǧ¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£¤ª¼ê¿ô¤Ç¤¹¤¬ÆþÎÏÆâÍÆ¤ò¤´³Îǧ¤¯¤À¤µ¤¤¡£";102 }103 188 break; 104 189 } … … 110 195 $objPage->arrMonth = $objDate->getZeroMonth(); 111 196 197 $objPage->arrForm = $objFormParam->getFormParamList(); 198 112 199 // ¶¦Ä̤Îɽ¼¨½àÈ÷ 113 $objPage = sfZeusDisp($objPage, $payment_id); 114 115 // »Ùʧ²ó¿ô 116 $objPage->arrPaymentClass = $arrPaymentClass; 117 $objPage->arrForm = $objFormParam->getFormParamList(); 200 $objPage = sfGmoDisp($objPage, $payment_id); 201 118 202 $objView->assignobj($objPage); 119 // ¥Õ¥ì¡¼¥à¤òÁªÂò(¥¥ã¥ó¥Ú¡¼¥ó¥Ú¡¼¥¸¤«¤éÁ«°Ü¤Ê¤éÊѹ¹) 120 $objCampaignSess->pageView($objView); 121 //------------------------------------------------------------------------------------------------------- 203 $objView->display(SITE_FRAME); 204 //----------------------------------------------------------------------------------------------------------------------------------- 122 205 /* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */ 123 206 function lfInitParam() { 124 207 global $objFormParam; 125 $objFormParam->addParam("»Ùʧ²ó¿ô", "payment_class", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));126 208 $objFormParam->addParam("¥«¡¼¥ÉÈÖ¹æ1", "card_no01", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 127 209 $objFormParam->addParam("¥«¡¼¥ÉÈÖ¹æ2", "card_no02", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); … … 130 212 $objFormParam->addParam("¥«¡¼¥É´ü¸Âǯ", "card_year", 2, "n", array("EXIST_CHECK", "NUM_COUNT_CHECK", "NUM_CHECK")); 131 213 $objFormParam->addParam("¥«¡¼¥É´ü¸Â·î", "card_month", 2, "n", array("EXIST_CHECK", "NUM_COUNT_CHECK", "NUM_CHECK")); 132 $objFormParam->addParam(" ̾", "card_name01", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "ALPHA_CHECK"));133 $objFormParam->addParam(" À«", "card_name02", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "ALPHA_CHECK"));134 $objFormParam->addParam(" Á°²óÍøÍѤ·¤¿¥«¡¼¥É¤ò»ÈÍѤ¹¤ë", "quick_check", INT_LEN, "n", array("MAX_LENGTH_CHECK"));214 $objFormParam->addParam("À«", "card_name01", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "ALPHA_CHECK")); 215 $objFormParam->addParam("̾", "card_name02", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "ALPHA_CHECK")); 216 $objFormParam->addParam("»ÙʧÊýË¡", "paymethod", STEXT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 135 217 } 136 218 … … 145 227 return $objErr->arrErr; 146 228 } 229 230 // ŹÊÞ¾ðÊó¤ÎÁ÷¿® 231 function lfSendGMOEntry($order_id, $amount, $tax = 0) { 232 233 $arrRet = sfGetPaymentDB(); 234 235 $arrData = array( 236 'OrderId' => $order_id, // ŹÊÞ¤´¤È¤Ë°ì°Õ¤ÊÃíʸID¤òÁ÷¿®¤¹¤ë¡£ 237 'TdTenantName' => '', // 3Dǧ¾Ú»þɽ¼¨ÍÑŹÊÞ̾ 238 'TdFlag' => '', // 3D¥Õ¥é¥° 239 'ShopId' => $arrRet[0]['gmo_shopid'], // ¥·¥ç¥Ã¥×ID 240 'ShopPass' => $arrRet[0]['gmo_shoppass'], // ¥·¥ç¥Ã¥×¥Ñ¥¹¥ï¡¼¥É 241 'Currency' => 'JPN', // Ä̲ߥ³¡¼¥É 242 'Amount' => $amount, // ¶â³Û 243 'Tax' => $tax, // ¾ÃÈñÀÇ 244 'JobCd' => 'AUTH', // ½èÍý¶èʬ 245 'TenantNo' => $arrRet[0]['gmo_tenantno'], // ŹÊÞID¤òÁ÷¿®¤¹¤ë¡£ 246 ); 247 248 $req = new HTTP_Request(GMO_ENTRY_URL); 249 $req->setMethod(HTTP_REQUEST_METHOD_POST); 250 $req->addPostDataArray($arrData); 251 252 if (!PEAR::isError($req->sendRequest())) { 253 $response = $req->getResponseBody(); 254 } 255 $req->clearPostData(); 256 $arrRet = lfGetPostArray($response); 257 258 return $arrRet; 259 } 260 261 function lfSendGMOExec($access_id, $access_pass, $order_id, $cardno1, $cardno2, $cardno3, $cardno4, $ex_mm, $ex_yy, $paymethod) { 262 263 // »ÙʧÊýË¡¡¢²ó¿ô¤Î¼èÆÀ 264 list($method, $paytimes) = split("-", $paymethod); 265 266 if(!($paytimes > 0)) { 267 $paytimes = ""; 268 } 269 270 $arrData = array( 271 'AccessId' => $access_id, 272 'AccessPass' => $access_pass, 273 'OrderId' => $order_id, 274 'RetURL' => GMO_RETURL, 275 // ¥×¥í¥Ñ¡¼¥«¡¼¥É¤ò°·¤ï¤Ê¤¤¾ì¹ç¤ÏVISA¸ÇÄê¤ÇOK 276 'CardType' => 'VISA, 11111, 111111111111111111111111111111111111, 1111111111', 277 // »Ùʧ¤¤ÊýË¡ 278 /* 279 1:°ì³ç 280 2:ʬ³ä 281 3:¥Ü¡¼¥Ê¥¹°ì³ç 282 4:¥Ü¡¼¥Ê¥¹Ê¬³ä 283 5:¥ê¥Üʧ¤¤ 284 */ 285 'Method' => $method, 286 // »Ùʧ²ó¿ô 287 'PayTimes' => $paytimes, 288 // ¥«¡¼¥ÉÈÖ¹æ 289 /* 290 »î¸³ÍÑ¥«¡¼¥ÉÈÖ¹æ¤Ï¡¢4111-1111-1111-1111 291 */ 292 'CardNo1' => $cardno1, 293 'CardNo2' => $cardno2, 294 'CardNo3' => $cardno3, 295 'CardNo4' => $cardno4, 296 'ExpireMM' => $ex_mm, 297 'ExpireYY' => $ex_yy, 298 // ²ÃÌÁʼ«Í³¹àÌÜÊֵѥե饰 299 'ClientFieldFlag' => '1', 300 'ClientField1' => 'f1', 301 'ClientField2' => 'f2', 302 'ClientField3' => 'f3', 303 // ¥ê¥À¥¤¥ì¥¯¥È¥Ú¡¼¥¸¤Ç¤Î±þÅú¤ò¼õ¤±¼è¤é¤Ê¤¤ 304 /* 305 0: HTML ¥ê¥À¥¤¥ì¥¯¥È¥Ú¡¼¥¸¡ÊDefault ÃÍ¡Ë 306 1: ¥Æ¥¥¹¥È 307 */ 308 'ModiFlag' => '1', 309 ); 310 311 $req = new HTTP_Request(GMO_EXEC_URL); 312 $req->setMethod(HTTP_REQUEST_METHOD_POST); 313 314 $req->addPostDataArray($arrData); 315 316 if (!PEAR::isError($req->sendRequest())) { 317 $response = $req->getResponseBody(); 318 } 319 $req->clearPostData(); 320 321 $arrRet = lfGetPostArray($response); 322 323 return $arrRet; 324 } 325 326 function lfGetPostArray($text) { 327 $arrRet = array(); 328 if($text != "") { 329 $text = ereg_replace("[\n\r]", "", $text); 330 $arrTemp = split("&", $text); 331 foreach($arrTemp as $ret) { 332 list($key, $val) = split("=", $ret); 333 $arrRet[$key] = $val; 334 } 335 } 336 return $arrRet; 337 } 147 338 ?>
Note: See TracChangeset
for help on using the changeset viewer.
