- Timestamp:
- 2008/04/07 13:02:53 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-1/data/downloads/module/mdl_cybs/mdl_cybs_credit.php
r16991 r17224 8 8 require_once MODULE_PATH . "mdl_cybs/class/mdl_cybs_config.php"; 9 9 require_once MODULE_PATH . "mdl_cybs/class/mdl_cybs_request.php"; 10 dl(MDL_CYBS_EXT); 10 11 // extension¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¥¨¥é¡¼²èÌÌɽ¼¨ 12 if (!lfLoadModCybs()) { 13 sfDispSiteError(FREE_ERROR_MSG, '', false, 14 '¤³¤Î·èºÑ¤Ï»ÈÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£<br>¤ª¼ê¿ô¤Ç¤¹¤¬¤ª»Ùʧ¤¤ÊýË¡¤òÁªÂò¤·Ä¾¤·¤Æ²¼¤µ¤¤¡£'); 15 } 11 16 12 17 class LC_Page { 13 18 function LC_Page() { 14 19 $this->tpl_mainpage = MODULE_PATH . 'mdl_cybs/mdl_cybs_credit.tpl'; 20 // »Ùʧ¤¤ÊýË¡ 15 21 global $arrPayMethod; 16 22 $this->arrPayMethod = $arrPayMethod; 23 // ¥«¡¼¥É²ñ¼Ò¼ïÎà 24 global $arrCardCompany; 25 $this->arrCardCompany = $arrCardCompany; 17 26 /** 18 27 * session_start»þ¤Îno-cache¥Ø¥Ã¥À¡¼¤òÍÞÀ©¤¹¤ë¤³¤È¤Ç … … 31 40 $arrInfo = sf_getBasisData(); 32 41 42 $objCybs =& Mdl_Cybs_Config::getInstanse(); 43 $objPage->enable_ondemand = $objCybs->enableOndemand(); //¥ª¥ó¥Ç¥Þ¥ó¥É²Ý¶â¤Î»ÈÍѲÄÈÝ 44 $objPage->tpl_payment_method = '¥µ¥¤¥Ð¡¼¥½¡¼¥¹·èºÑ'; 45 33 46 $objDate = new SC_Date(); 34 47 $objDate->setStartYear(RELEASE_YEAR); … … 40 53 $uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess); 41 54 42 $objForm = lfInitParam( );55 $objForm = lfInitParam($_POST); 43 56 $objPage->arrForm = $objForm->getFormParamList(); 44 57 45 $mode = isset($_POST['mode']) ? $_POST['mode'] : ''; 46 switch($mode) { 58 switch(lfGetMode()) { 47 59 48 60 case 'register': 49 61 // ÆþÎϹàÌܤθ¡¾Ú 50 if ($arrErr = lfCheckError($objForm)) {62 if ($arrErr = $objForm->checkError()) { 51 63 $objPage->arrErr = $arrErr; 52 64 break; 53 65 } 66 54 67 // ¥«¡¼¥È½¸·×½èÍý 55 68 $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); … … 59 72 $arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo); 60 73 61 // ¥ê¥¯¥¨¥¹¥È¤ÎÁ÷¿® 62 gfPrintLog('#### cybs request start ###' , MDL_CYBS_LOG); 63 $arrResults = lfSendRequest($objForm->getHashArray(), $arrData); 64 // ·ë²Ì¤ÎȽÄê 65 $e = lfIsError($arrResults); 66 if (PEAR::isError($e)) { 67 gfPrintLog('#### cybs request error ###' , MDL_CYBS_LOG); 68 gfPrintLog('-> cybs request results' , MDL_CYBS_LOG); 74 /** 75 * ¥ª¥ó¥Ç¥Þ¥ó¥É²Ý¶â¤¬Í¸ú¤Ç¡¢¤«¤Ä¥«¡¼¥É¤òÅÐÏ¿¤¹¤ë¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤¿¾ì¹ç¤Ï¡¢ 76 * ¥µ¥Ö¥¹¥¯¥ê¥×¥·¥ç¥ó¤òºîÀ®¤¹¤ë 77 */ 78 if ($objCybs->enableOndemand() && $objForm->getValue('register_ondemand')) { 79 // ÅÐÏ¿·ï¿ô¤Î¥Á¥§¥Ã¥¯ 80 if (!$objCybs->canAddSubsId()) { 81 $objPage->tpl_error = 'ÅÐÏ¿½ÐÍè¤ë¥«¡¼¥É¤Î·ï¿ô¤Ï' . MDL_CYBS_SUBS_ID_MAX . "·ï¤Þ¤Ç¤Ç¤¹¡£\n"; 82 gfPrintLog(' -> ondemand error: over card max', MDL_CYBS_LOG); 83 break; 84 } 85 // ¥ª¥ó¥Ç¥Þ¥ó¥É²Ý¶â¤Î¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë 86 $arrResults = lfSendRequest(lfCreateOndemandParam($objForm->getHashArray(), $arrData)); 87 if (PEAR::isError($e = lfIsError($arrResults))) { 88 $objPage->tpl_error = $e->getMessage(); 89 gfPrintLog(' -> ondemand error: ' . $e->getMessage(), MDL_CYBS_LOG); 90 gfPrintLog(print_r($arrResults, true), MDL_CYBS_LOG); 91 break; 92 } 93 // ¥µ¥Ö¥¹¥¯¥ê¥×¥·¥ç¥óID¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ØÄɲ乤ë 94 $subsId = $arrResults['pay_subscription_create_subscription_id']; 95 $objCybs->addSubsId($subsId); 96 } 97 98 $authAddParam = null; // ¥Á¥ã¡¼¥¸¥Ð¥Ã¥¯ÍÑÄɲåѥé¥á¡¼¥¿ 99 100 // 3D¥»¥¥å¥¢»ÈÍÑÀßÄêȽÄê 101 if ($objCybs->use3D() && !$objCybs->enableOndemand()) { 102 // 3D¥»¥¥å¥¢¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë 103 $arrResults = lfSendRequest(lfCreateEnrollParam($objForm->getHashArray(), $arrData)); 104 // ¥¨¥é¡¼½èÍý 105 if (PEAR::isError($e = lfIsError($arrResults))) { 106 $objPage->tpl_error = $e->getMessage(); 107 gfPrintLog(' -> 3d(enroll) error: ' . $e->getMessage(), MDL_CYBS_LOG); 108 gfPrintLog(print_r($arrResults, true), MDL_CYBS_LOG); 109 break; 110 } 111 112 /** 113 * ÅÐϿͤê¤Î¾ì¹ç¤Ï¥ê¥À¥¤¥ì¥¯¥ÈHTML¤ò½ÐÎϤ¹¤ë. 114 * ÅÐϿ̵¤·¤Ç¤«¤ÄÍ¿¿®¤Ø¿Ê¤á¤ë¾ì¹ç(¾åµ¥¨¥é¡¼È½Äê¤ÇSOK¤Î¾ì¹ç)¤Ï, 115 * ¥Á¥ã¡¼¥¸¥Ð¥Ã¥¯ÍѤΥѥé¥á¡¼¥¿¤òÄɲä·¼¡¤ÎÍ¿¿®¥ê¥¯¥¨¥¹¥È¤Ø¿Ê¤à. 116 */ 117 if (isset($arrResults['pa_enroll_rflag']) && $arrResults['pa_enroll_rflag'] == 'DAUTHENTICATE') { 118 $objPage->AcsUrl = $arrResults['pa_enroll_acs_url']; 119 $objPage->TermUrl = SSL_URL . 'shopping/load_payment_module.php'; 120 $objPage->PaReq = $arrResults['pa_enroll_pareq']; 121 $objPage->MD = base64_encode(serialize($objForm->getHashArray())); // POST¥Ç¡¼¥¿¤òMD¤ËÊÝ»ý 122 $objPage->tpl_onload = 'OnLoadEvent()'; 123 $objPage->tpl_mainpage = MODULE_PATH . 'mdl_cybs/mdl_cybs_credit_3d.tpl'; // ¥ê¥À¥¤¥ì¥¯¥ÈHTML 124 $objSiteSess->setRegistFlag(); 125 break; 126 } 127 // ¥Á¥ã¡¼¥¸¥Ð¥Ã¥¯ÍÑÄɲåѥé¥á¡¼¥¿ 128 $authAddParam = array( 129 'e_commerce_indicator' => $arrResults['pa_enroll_e_commerce_indicator'], 130 'eci_raw' => '06', 131 ); 132 // ¥Þ¥¹¥¿¡¼¥«¡¼¥É¤Î¤ß¤Î¥Ñ¥é¥á¡¼¥¿ 133 if ($objForm->getValue('card_company') === '002') $authAddParam['ucaf_collection_indicator'] = '1'; 134 } 135 136 $arrSendParam = array(); 137 // ¥ª¥ó¥Ç¥Þ¥ó¥É·èºÑ»þ¤Î¥Ñ¥é¥á¡¼¥¿¹½ÃÛ 138 if ($objCybs->enableOndemand() && $objForm->getValue('register_ondemand')) { 139 $arrSendParam = lfCreateAuthParam($objForm->getHashArray(), $arrData); 140 $arrSendParam = lfCreateOndemandAuthParam($subsId, $arrSendParam); 141 142 // Ä̾ï·èºÑ¤Î¥Ñ¥é¥á¡¼¥¿¹½ÃÛ 143 } else { 144 $arrSendParam = lfCreateAuthParam($objForm->getHashArray(), $arrData, $authAddParam); 145 } 146 147 // Í¿¿®¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë 148 $arrResults = lfSendRequest($arrSendParam); 149 if (PEAR::isError($e = lfIsError($arrResults))) { 150 $objPage->tpl_error = $e->getMessage(); 151 gfPrintLog(' -> auth error: ' . $e->getMessage(), MDL_CYBS_LOG); 69 152 gfPrintLog(print_r($arrResults, true), MDL_CYBS_LOG); 70 $objPage->tpl_error = $e->getMessage();71 153 break; 72 154 } 73 155 74 gfPrintLog('#### cybs request successfull ###', MDL_CYBS_LOG);75 gfPrintLog('-> cybs request results', MDL_CYBS_LOG);76 gfPrintLog(print_r($arrResults, true), MDL_CYBS_LOG);77 gfPrintLog('#### cybs request end ###' , MDL_CYBS_LOG);78 79 // À®¸ù»þ¤Ï´°Î»²èÌ̤ØÁ«°Ü80 156 $objSiteSess->setRegistFlag(); 81 lfRegisterOrderTemp($uniqid, $objForm->getHashArray(), $arrResults);157 //lfRegisterOrderTemp($uniqid, $objForm->getHashArray(), $arrResults); 82 158 header("Location: " . URL_SHOP_COMPLETE); 83 159 exit; 160 161 // ¥Ñ¥¹¥ï¡¼¥ÉÆþÎϤ«¤é¤ÎÌá¤ê 162 case 'verify3d': 163 // ¥«¡¼¥È½¸·×½èÍý 164 $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); 165 // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆɹþ 166 $arrData = sfGetOrderTemp($uniqid); 167 // ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»» 168 $arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo); 169 170 // ¸¡¾Ú+Í¿¿®¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë 171 $obj3DForm = lfInit3DParam($_POST); 172 $arrResults = lfSendRequest(lfCreateValidateParam($obj3DForm->getHashArray(), $arrData)); 173 if (PEAR::isError($e = lfIsError($arrResults))) { 174 $objPage->tpl_error = $e->getMessage(); 175 gfPrintLog(' -> error: ' . $e->getMessage(), MDL_CYBS_LOG); 176 gfPrintLog(print_r($arrResults, true), MDL_CYBS_LOG); 177 break; 178 } 179 180 $objSiteSess->setRegistFlag(); 181 header("Location: " . URL_SHOP_COMPLETE); 182 break; 84 183 85 184 // Ìá¤ë¥Ü¥¿¥ó²¡²¼»þ … … 91 190 // Ä̾ïɽ¼¨ 92 191 default: 192 // TODO ¥ª¥ó¥Ç¥Þ¥ó¥É¼èÆÀ 193 93 194 } 94 195 95 196 $objView->assignobj($objPage); 96 197 $objView->display(SITE_FRAME); 97 198 sfPrintR($_POST, 'blue'); 199 sfPrintR($objPage, 'red'); 200 /** 201 * ¥â¡¼¥É¤ò¼èÆÀ¤¹¤ë 202 * 203 * @return string 204 */ 205 206 function lfGetMode() { 207 $mode = isset($_POST['mode']) ? $_POST['mode'] : ''; 208 209 // 3D¥»¥¥å¥¢¤ÎÌá¤êÍÑ¡£¥«¡¼¥É²ñ¼Ò¤Î¥Ñ¥¹¥ï¡¼¥ÉÆþÎϲèÌ̤«¤éÁ«°Ü¤¹¤ë 210 $obj3dForm = lfInit3DParam($_POST); 211 if (!$obj3dForm->checkError()) { 212 $mode = 'verify3d'; 213 } 214 215 return $mode; 216 } 217 218 /** 219 * 3D¥»¥¥å¥¢Ìá¤êÍѥѥé¥á¡¼¥¿¤Î½é´ü²½ 220 * 221 * @param array $arrParam 222 * @return SC_FormParam 223 */ 224 function lfInit3DParam($arrParam) { 225 $objForm = new SC_FormParam; 226 $objForm->addParam("PaRes", "PaRes", '', "", array("EXIST_CHECK")); 227 $objForm->addParam("MD", "MD", '', "", array("EXIST_CHECK")); 228 $objForm->setParam($arrParam); 229 return $objForm; 230 } 98 231 99 232 /** … … 102 235 * @return SC_FormParam 103 236 */ 104 function lfInitParam( ) {237 function lfInitParam($arrParam) { 105 238 $objForm = new SC_FormParam; 106 239 $objForm->addParam("¥«¡¼¥ÉÈÖ¹æ1", "card_no01", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); … … 108 241 $objForm->addParam("¥«¡¼¥ÉÈÖ¹æ3", "card_no03", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 109 242 $objForm->addParam("¥«¡¼¥ÉÈÖ¹æ4", "card_no04", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 243 $objForm->addParam("¥«¡¼¥É²ñ¼Ò", "card_company", 3, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 110 244 $objForm->addParam("¥«¡¼¥É´ü¸Âǯ", "card_year", 2, "n", array("EXIST_CHECK", "NUM_COUNT_CHECK", "NUM_CHECK")); 111 245 $objForm->addParam("¥«¡¼¥É´ü¸Â·î", "card_month", 2, "n", array("EXIST_CHECK", "NUM_COUNT_CHECK", "NUM_CHECK")); … … 113 247 $objForm->addParam("̾", "card_name02", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "ALPHA_CHECK")); 114 248 $objForm->addParam("»ÙʧÊýË¡", "paymethod", STEXT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 115 $objForm->setParam($_POST);; 249 $objForm->addParam("¥«¡¼¥É¾ðÊó¤ÎÅÐÏ¿", "register_ondemand", 1, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK")); 250 $objForm->setParam($arrParam); 251 $objForm->convParam(); 116 252 return $objForm; 117 253 } 118 254 119 255 /** 120 * ÆþÎϹàÌܤΥ¨¥é¡¼¥Á¥§¥Ã¥¯ 121 * 122 * @param SC_FormParam $objForm 123 * @return array|null 124 */ 125 function lfCheckError($objForm) { 126 if ($arrErr = $objForm->checkError()) { 127 return $arrErr; 128 } 129 return null; 130 } 131 132 /** 133 * ¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë 256 * ¥µ¥¤¥Ð¡¼¥½¡¼¥¹¤Ë¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë. 257 * °ú¿ô¤ÎÁ÷¿®¥Ñ¥é¥á¡¼¥¿¤ÏlfCreateParam***()¤ÇÀ¸À®¤¹¤ë. 258 * 259 * @param array $arrSendParam 260 * @return array 261 */ 262 function lfSendRequest($arrSendParam) { 263 $objRequest = new CYBS_REQ; 264 265 gfPrintLog('### send request param ###', MDL_CYBS_LOG); 266 gfPrintLog(print_r($arrSendParam, true), MDL_CYBS_LOG); 267 268 foreach ($arrSendParam as $key => $value) { 269 $objRequest->add_request($key, $value); 270 } 271 272 if ( ($result = cybs_send($objRequest->requests)) == false ) { 273 sfDispSiteError(''); 274 gfPrintLog(' -> error: cybs_send() function.' , MDL_CYBS_LOG); 275 } 276 277 return $result; 278 } 279 280 /** 281 * ics_auth¥Ñ¥é¥á¡¼¥¿¤ò¹½ÃÛ¤¹¤ë. 134 282 * 135 283 * @param array $arrForm 136 284 * @param array $arrData 137 * @return array 138 */ 139 function lfSendRequest($arrForm, $arrData) { 140 global $objCartSess; 285 */ 286 function lfCreateAuthParam($arrForm, $arrData, $addData = null) { 141 287 global $arrCybsRequestURL; 142 288 global $arrPref; 143 289 144 290 $objConfig =& Mdl_Cybs_Config::getInstanse(); 145 $objRequest = new CYBS_REQ;146 147 291 $arrConfig = $objConfig->getConfig(); 148 292 149 293 $cardNo = $arrForm['card_no01'] . $arrForm['card_no02'] . $arrForm['card_no03'] . $arrForm['card_no04']; 150 294 $expMo = $arrForm['card_month']; 151 $exp yr = '20' . $arrForm['card_year'];295 $expYr = '20' . $arrForm['card_year']; 152 296 $phoneNo = $arrData['order_tel01'] . $arrData['order_tel02'] . $arrData['order_tel03']; 153 297 154 $objRequest->add_request("server_host", $arrCybsRequestURL[$arrConfig['cybs_request_url']]); 155 $objRequest->add_request("server_port", "80"); 156 $objRequest->add_request("customer_cc_number", $cardNo); 157 $objRequest->add_request("customer_cc_expmo", $expMo); 158 $objRequest->add_request("customer_cc_expyr", $expyr); 159 $objRequest->add_request("customer_firstname", lfToSjis($arrData['order_name02'])); 160 $objRequest->add_request("customer_lastname", lfToSjis($arrData['order_name01'])); 161 $objRequest->add_request("customer_email", $arrData['order_email']); 162 $objRequest->add_request("customer_phone", $phoneNo); 163 $objRequest->add_request("bill_address1", lfToSjis($arrData['order_addr02'])); 164 $objRequest->add_request("bill_city", lfToSjis($arrData['order_addr01'])); 165 $objRequest->add_request("bill_state", lfToSjis($arrPref[$arrData['order_pref']])); 166 $objRequest->add_request("bill_zip", $arrData['order_zip01'] . $arrData['order_zip02']); 167 $objRequest->add_request("bill_country", "JP"); 168 $objRequest->add_request("merchant_id", $arrConfig['cybs_merchant_id']); 169 $objRequest->add_request("merchant_ref_number", $arrData['order_id']); 170 $objRequest->add_request("currency", "JPY"); 171 172 if ($arrConfig['cybs_subs_use']) { 173 lfAddSubsParam($objRequest, $arrConfig, $arrData); 174 } else { 175 lfAddAuthParam($objRequest, $arrForm, $arrData); 176 } 177 178 $request_array = $objRequest->requests; 179 gfPrintLog(print_r($request_array, true), MDL_CYBS_LOG); 180 gfPrintLog(print_r($arrConfig, true), MDL_CYBS_LOG); 181 if( ($result = cybs_send($request_array)) == false ) { 182 print("error"); 183 gfPrintLog('#### cybs_send() error ###' , MDL_CYBS_LOG); 184 exit; 185 } 186 187 return $result; 188 } 189 190 /** 191 * ¥ê¥¯¥¨¥¹¥È¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯ 298 $arrSendParam = array( 299 "ics_applications" => "ics_auth", 300 "server_host" => $arrCybsRequestURL[$arrConfig['cybs_request_url']], 301 "server_port" => "80", 302 "card_type" => $arrForm['card_company'], 303 "customer_cc_number" => $cardNo, 304 "customer_cc_expmo" => $expMo, 305 "customer_cc_expyr" => $expYr, 306 "customer_firstname" => lfToSjis($arrData['order_name02']), 307 "customer_lastname" => lfToSjis($arrData['order_name01']), 308 "customer_email" => $arrData['order_email'], 309 "customer_phone" => $phoneNo, 310 "bill_address1" => lfToSjis($arrData['order_addr02']), 311 "bill_city" => lfToSjis($arrData['order_addr01']), 312 "bill_state" => lfToSjis($arrPref[$arrData['order_pref']]), 313 "bill_zip" => $arrData['order_zip01'] . $arrData['order_zip02'], 314 "bill_country" => "JP", 315 "merchant_id" => $arrConfig['cybs_merchant_id'], 316 "merchant_ref_number" => $arrData['order_id'], 317 "currency" => "JPY", 318 /** 319 "ship_to_address1" => lfToSjis($arrData['deliv_addr02']), 320 "ship_to_city" => lfToSjis($arrData['deliv_addr01']), 321 "ship_to_country" => lfToSjis($arrPref[$arrData['deliv_pref']]), 322 "ship_to_state" => $arrData['deliv_zip01'] . $arrData['deliv_zip02'], 323 "ship_to_zip" => "JP", 324 */ 325 ); 326 327 // »Ùʧ¤¤ÊýË¡ 328 list($method, $paytimes) = split("-", $arrForm['paymethod']); 329 $arrSendParam["jpo_payment_method"] = $method; 330 331 // ʬ³ä²ó¿ô 332 if ($paytimes > 0) $arrSendParam["jpo_installments"] = $paytimes; 333 334 $arrSendParam["offer0"] = "amount:" . $arrData['payment_total']; 335 336 if (is_array($addData)) { 337 $arrSendParam = array_merge($arrSendParam, $addData); 338 } 339 return $arrSendParam; 340 } 341 342 /** 343 * ¥ª¥ó¥Ç¥Þ¥ó¥É²Ý¶â+Í¿¿®¥ê¥¯¥¨¥¹¥È¥Ñ¥é¥á¡¼¥¿¤ò¹½ÃÛ¤¹¤ë. 344 * 345 * @param string $subsId 346 * @param array $arrAuthParam 347 * @return array 348 */ 349 function lfCreateOndemandAuthParam($subsId, $arrAuthParam) { 350 return array( 351 'subscription_id' => $subsId, 352 "ics_applications" => "ics_auth", 353 "server_host" => $arrAuthParam['server_host'], 354 "server_port" => $arrAuthParam["server_port"], 355 'merchant_id' => $arrAuthParam['merchant_id'], 356 'merchant_ref_number' => $arrAuthParam['merchant_ref_number'], 357 'currency' => $arrAuthParam['currency'], 358 'offer0' => $arrAuthParam['offer0'] 359 ); 360 } 361 362 /** 363 * ics_pa_enroll¥Ñ¥é¥á¡¼¥¿¤ò¹½ÃÛ¤¹¤ë. 364 * 365 * @param array $arrForm 366 * @param array $arrData 367 */ 368 function lfCreateEnrollParam($arrForm, $arrData) { 369 global $arrInfo; 370 global $arrCybsRequestURL; 371 372 $objCustomer = new SC_Customer; 373 374 $cardNo = $arrForm['card_no01'] . $arrForm['card_no02'] . $arrForm['card_no03'] . $arrForm['card_no04']; 375 $expMo = $arrForm['card_month']; 376 $expYr = '20' . $arrForm['card_year']; 377 $phoneNo = $arrData['order_tel01'] . $arrData['order_tel02'] . $arrData['order_tel03']; 378 379 $objConfig =& Mdl_Cybs_Config::getInstanse(); 380 $arrConfig = $objConfig->getConfig(); 381 382 $arrSendParam = array( 383 "ics_applications" => "ics_pa_enroll", 384 "server_host" => $arrCybsRequestURL[$arrConfig['cybs_request_url']], 385 "server_port" => "80", 386 'card_type' => $arrForm['card_company'], 387 'customer_account_id' => $objCustomer->getValue('customer_id'), 388 "currency" => "JPY", 389 "customer_cc_expmo" => $expMo, 390 "customer_cc_expyr" => $expYr, 391 'customer_cc_number' => $cardNo, 392 "merchant_id" => $arrConfig['cybs_merchant_id'], 393 "merchant_ref_number" => $arrData['order_id'], 394 'pa_http_accept' => $_SERVER['HTTP_ACCEPT'], 395 'pa_http_user_agent' => $_SERVER['HTTP_USER_AGENT'], 396 'pa_merchant_country_code' => 'JP', 397 //'pa_merchant_id' => $arrConfig['cybs_merchant_id'], // ¥µ¥¤¥Ð¡¼¥½¡¼¥¹¤Î¥Þ¡¼¥Á¥ã¥ó¥ÈID¤È¤ÏÊÌ 398 'pa_merchant_name' => lfToSjis($arrInfo['shop_name']), 399 'pa_merchant_url' => SSL_URL, 400 'offer0' => "amount:" . $arrData['payment_total'] 401 ); 402 return $arrSendParam; 403 } 404 405 /** 406 * ics_pa_validate¥Ñ¥é¥á¡¼¥¿¤ò¹½ÃÛ¤¹¤ë 407 * ics_auth¥Ñ¥é¥á¡¼¥¿¤È¥Þ¡¼¥¸¤¹¤ë 408 * 409 * @param array $arrForm MDµÚ¤ÓPaReq¤¬´Þ¤Þ¤ì¤ëÇÛÎó 410 * @param array $arrData °ì»þ¼õÃí¥Ç¡¼¥¿ 411 * @return array 412 */ 413 function lfCreateValidateParam($arrForm, $arrData) { 414 global $arrCybsRequestURL; 415 $objCustomer = new SC_Customer; 416 417 $objConfig =& Mdl_Cybs_Config::getInstanse(); 418 $arrConfig = $objConfig->getConfig(); 419 420 $arrCardData = unserialize(base64_decode($arrForm['MD'])); 421 422 $arrSendParam = array( 423 "server_host" => $arrCybsRequestURL[$arrConfig['cybs_request_url']], 424 "server_port" => "80", 425 'card_type' => $arrCardData['card_company'], 426 'customer_account_id' => $objCustomer->getValue('customer_id'), 427 "currency" => "JPY", 428 "merchant_id" => $arrConfig['cybs_merchant_id'], 429 "merchant_ref_number" => $arrData['order_id'], 430 'pa_signedpares' => trim($arrForm['PaRes']), 431 'offer0' => "amount:" . $arrData['payment_total'] 432 ); 433 434 $arrSendParam = lfCreateAuthParam($arrCardData, $arrData, $arrSendParam); 435 $arrSendParam["ics_applications"] = "ics_pa_validate,ics_auth"; 436 437 return $arrSendParam; 438 } 439 440 /** 441 * ¥ª¥ó¥Ç¥Þ¥ó¥É²Ý¶â¤Î¥Ñ¥é¥á¡¼¥¿¤ò¹½ÃÛ¤¹¤ë 442 * 443 * @param array $arrForm ¥Õ¥©¡¼¥à¥Ñ¥é¥á¡¼¥¿(¥«¡¼¥É¾ðÊó¤Ê¤É) 444 * @param array $arrData °ì»þ¼õÃí¥Ç¡¼¥¿ 445 * @return array 446 */ 447 448 function lfCreateOndemandParam($arrForm, $arrData) { 449 global $arrCybsRequestURL; 450 global $arrPref; 451 $objCustomer = new SC_Customer; 452 453 $objConfig =& Mdl_Cybs_Config::getInstanse(); 454 $arrConfig = $objConfig->getConfig(); 455 456 $cardNo = $arrForm['card_no01'] . $arrForm['card_no02'] . $arrForm['card_no03'] . $arrForm['card_no04']; 457 $expMo = $arrForm['card_month']; 458 $expYr = '20' . $arrForm['card_year']; 459 $phoneNo = $arrData['order_tel01'] . $arrData['order_tel02'] . $arrData['order_tel03']; 460 461 $arrSendParam = array( 462 "ics_applications" => "ics_pay_subscription_create", 463 "server_host" => $arrCybsRequestURL[$arrConfig['cybs_request_url']], 464 "server_port" => "80", 465 "customer_account_id" => $objCustomer->getValue('customer_id'), 466 "customer_cc_number" => $cardNo, 467 "customer_cc_expmo" => $expMo, 468 "customer_cc_expyr" => $expYr, 469 "customer_firstname" => lfToSjis($arrData['order_name02']), 470 "customer_lastname" => lfToSjis($arrData['order_name01']), 471 "customer_email" => $arrData['order_email'], 472 "customer_phone" => $phoneNo, 473 "bill_address1" => lfToSjis($arrData['order_addr02']), 474 "bill_city" => lfToSjis($arrData['order_addr01']), 475 "bill_state" => lfToSjis($arrPref[$arrData['order_pref']]), 476 "bill_zip" => $arrData['order_zip01'] . $arrData['order_zip02'], 477 "bill_country" => "JP", 478 "merchant_id" => $arrConfig['cybs_merchant_id'], 479 "merchant_ref_number" => $arrData['order_id'], 480 "currency" => "JPY", 481 /** 482 "ship_to_address1" => lfToSjis($arrData['deliv_addr02']), 483 "ship_to_city" => lfToSjis($arrData['deliv_addr01']), 484 "ship_to_country" => lfToSjis($arrPref[$arrData['deliv_pref']]), 485 "ship_to_state" => $arrData['deliv_zip01'] . $arrData['deliv_zip02'], 486 "ship_to_zip" => "JP", 487 */ 488 "recurring_disable_auto_auth" => 'Y', 489 "recurring_frequency" => 'on-demand', 490 "card_type" => $arrForm['card_company'], 491 ); 492 493 return $arrSendParam; 494 } 495 496 497 /** 498 * ¥ì¥¹¥Ý¥ó¥¹¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯ 192 499 * 193 500 * @param array $arrResults … … 195 502 */ 196 503 function lfIsError($arrResults) { 197 global $arrIcs AuthErr;504 global $arrIcsErr; 198 505 $ret = null; 199 506 … … 204 511 break; 205 512 case '0': 206 $msg = "½èÍý¤¬µñÈݤµ¤ì¤Þ¤·¤¿¡£\n" . $arrIcsAuthErr[$arrResults['ics_rflag']]; 513 // 3D¥»¥¥å¥¢¤Î¾ì¹ç¡¢ics_rflag¤¬DAUTHENTICATE¤Ç¤¢¤ì¤ÐÅÐÏ¿¤¢¤ê 514 if (isset($arrResults['pa_enroll_rflag']) 515 && $arrResults['pa_enroll_rflag'] == 'DAUTHENTICATE') { 516 517 $ret = true; 518 break; 519 } 520 $msg = "½èÍý¤¬µñÈݤµ¤ì¤Þ¤·¤¿¡£\n¥¨¥é¡¼¥³¡¼¥É¡§${arrResults['ics_rflag']}\n"; 207 521 $ret = PEAR::raiseError($msg); 208 522 break; 209 523 case '-1': 210 $msg = "¥·¥¹¥Æ¥à¤Þ¤¿¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥¨¥é¡¼¤Ë¤è¤ê½èÍý¤¬¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤·¤¿¡£\n " . $arrIcsAuthErr[$arrResults['ics_rflag']];524 $msg = "¥·¥¹¥Æ¥à¤Þ¤¿¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥¨¥é¡¼¤Ë¤è¤ê½èÍý¤¬¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤·¤¿¡£\n¥¨¥é¡¼¥³¡¼¥É¡§${arrResults['ics_rflag']}\n"; 211 525 $ret = PEAR::raiseError($msg); 212 526 break; … … 242 556 $objQuery->update("dtb_order_temp", $sqlval, "order_temp_id = ?", array($uniqid)); 243 557 } 244 245 function lfAddSubsParam(&$objRequest, $arrConfig, $arrData) {246 global $arrSubsFrequency;247 $objCustomer = new SC_Customer;248 249 if ($objCustomer->isLoginSuccess()) {250 $customer_id = $objCustomer->getValue('customer_id');251 $objRequest->add_request("customer_account_id", $customer_id);252 gfPrintLog('-> cybs subs user=' . $customer_id);253 } else {254 gfPrintLog('-> cybs subs not customer');255 }256 257 $objRequest->add_request("ics_applications", "ics_pay_subscription_create");258 $objRequest->add_request('card_type', MDL_CYBS_SUBS_CARD); // XXX259 $objRequest->add_request('recurring_disable_auto_auth', 'N');260 $objRequest->add_request('recurring_frequency', $arrSubsFrequency[MDL_CYBS_SUBS_FREQ]); // XXX261 $objRequest->add_request('recurring_payment_amount', (string)$arrData['payment_total']);262 }263 264 function lfAddAuthParam(&$objRequest, $arrForm, $arrData) {265 $objRequest->add_request("ics_applications", "ics_auth");266 267 // »Ùʧ¤¤ÊýË¡268 list($method, $paytimes) = split("-", $arrForm['paymethod']);269 $objRequest->add_request("jpo_payment_method", $method);270 if ($paytimes > 0) $objRequest->add_request("jpo_installments", $paytimes);271 272 $objRequest->add_request("offer0", "offerid:0^amount:" . $arrData['payment_total']);273 }274 558 ?>
Note: See TracChangeset
for help on using the changeset viewer.