Changeset 17012


Ignore:
Timestamp:
2008/01/28 18:33:43 (14 years ago)
Author:
satou
Message:

[ペイジェント決済モジュール]3Dセキュア対応

Location:
branches/beta/data/downloads/module/mdl_paygent
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/beta/data/downloads/module/mdl_paygent/mdl_paygent.inc

    r16951 r17012  
    4242    090¡§·èºÑ¾ðÊó¾È²ñ 
    4343    091¡§º¹Ê¬¾È²ñ 
    44 */  
    45 define("PAYGENT_BANK", '060'); 
     44*/ 
    4645define("PAYGENT_ATM", '010'); 
    47 define("PAYGENT_CONVENI", '030'); 
    4846define("PAYGENT_CREDIT", '020'); 
    49 // ¥Ð¥Ã¥Á¤Ç»ÈÍѤ¹¤ë¡£ 
    50 define("PAYGENT_REF", '091'); 
    51  
    5247define("PAYGENT_AUTH_CANCEL", '021'); 
    5348define("PAYGENT_CARD_COMMIT", '022'); 
    5449define("PAYGENT_CARD_COMMIT_CANCEL", '023'); 
     50define("PAYGENT_CARD_3D", '024'); 
     51define("PAYGENT_CONVENI", '030'); 
     52define("PAYGENT_BANK", '060'); 
     53// ¥Ð¥Ã¥Á¤Ç»ÈÍѤ¹¤ë¡£ 
     54define("PAYGENT_REF", '091'); 
    5555 
    5656// ̵¸Â¥ë¡¼¥×¤òÈò¤±¤ë 
     
    171171    $p->init(); 
    172172     
    173     //¡¡¥¯¥ì¥¸¥Ã¥ÈÍѥѥé¥á¡¼¥¿¤Î¼èÆÀ 
     173    // ¥¯¥ì¥¸¥Ã¥ÈÍѥѥé¥á¡¼¥¿¤Î¼èÆÀ 
    174174    $arrPaymentDB = sfGetPaymentDB(MDL_PAYGENT_ID, "AND memo03 = 1"); 
    175175    $arrOtherParam = unserialize($arrPaymentDB[0]['other_param']); 
     
    196196    $arrSend['payment_class'] = $payment_class; 
    197197    // ʬ³ä²ó¿ô 
    198     $arrSend['split_count'] = $split_count;  
    199     // 3D¥»¥­¥å¥¢ÉÞÍܶèʬ 
    200     $arrSend['3dsecure_ryaku'] = '1'; 
     198    $arrSend['split_count'] = $split_count; 
     199    /** 3D¥»¥­¥å¥¢´ØÏ¢ **/ 
     200    if ($arrOtherParam['credit_3d'] != 1 || GC_MobileUserAgent::isMobile()) { 
     201        // 3D¥»¥­¥å¥¢ÉÔÍ׶èʬ 
     202        $arrSend['3dsecure_ryaku'] = '1'; 
     203    } else { 
     204        // HttpAccept 
     205        $arrSend['http_accept'] = $_SERVER['HTTP_ACCEPT']; 
     206        // HttpUserAgent 
     207        $arrSend['http_user_agent'] = $_SERVER['HTTP_USER_AGENT']; 
     208        // 3D¥»¥­¥å¥¢Ìá¤êURL 
     209        $arrSend['term_url'] = SSL_URL. "shopping/load_payment_module.php?mode=credit_3d&uniqid=". $uniqid; 
     210    } 
    201211     
    202212    // ÅÅʸ¤ÎÁ÷ÉÕ 
     
    204214        $p->reqPut($key, $val); 
    205215    } 
    206      
    207216    // ÅÅʸ¤ÎÁ÷¿® 
    208217    $p->post(); 
    209  
     218    // ±þÅú¤ò½èÍý 
     219    $arrRet = sfPaygentResponse(PAYGENT_CREDIT, $p, $uniqid, $arrInput); 
     220     
     221    return $arrRet; 
     222} 
     223 
     224/************************************************************************************************************** 
     225 * ´Ø¿ô̾   ¡§sfSendPaygentCredit3d 
     226 * ½èÍýÆâÍÆ ¡§3D¥»¥­¥å¥¢¾ðÊó¤ÎÁ÷¿® 
     227 * °ú¿ô1    ¡§ 
     228 * °ú¿ô2    ¡§ 
     229 * °ú¿ô3    ¡§ 
     230 * Ìá¤êÃÍ   ¡§¼èÆÀ·ë²Ì 
     231 **************************************************************************************************************/ 
     232function sfSendPaygetnCredit3d($arrData, $arrInput, $uniqid) { 
     233    // Àܳ¥â¥¸¥å¡¼¥ë¤Î¥¤¥ó¥¹¥¿¥ó¥¹¼èÆÀ (¥³¥ó¥¹¥È¥é¥¯¥¿)¤È½é´ü²½ 
     234    $p = new PaygentB2BModule(); 
     235    $p->init(); 
     236     
     237    // ¥¯¥ì¥¸¥Ã¥ÈÍѥѥé¥á¡¼¥¿¤Î¼èÆÀ 
     238    $arrPaymentDB = sfGetPaymentDB(MDL_PAYGENT_ID, "AND memo03 = 1"); 
     239    $arrOtherParam = unserialize($arrPaymentDB[0]['other_param']); 
     240     
     241    // ¶¦Ḁ̈ǡ¼¥¿¤Î¼èÆÀ 
     242    $arrSend = sfGetPaygentShare(PAYGENT_CARD_3D, $arrData['order_id'], $arrPaymentDB[0], $arrData['memo06']); 
     243     
     244    /** ¸ÄÊÌÅÅʸ **/ 
     245    // ACS±þÅú 
     246    $arrSend['PaRes'] = $arrInput['PaRes']; 
     247    // ¥Þ¡¼¥Á¥ã¥ó¥È¥Ç¡¼¥¿ 
     248    $arrSend['MD'] = $arrInput['MD']; 
     249     
     250    // ÅÅʸ¤ÎÁ÷ÉÕ 
     251    foreach($arrSend as $key => $val) { 
     252        $p->reqPut($key, $val); 
     253    } 
     254    // ÅÅʸ¤ÎÁ÷¿® 
     255    $p->post(); 
    210256    // ±þÅú¤ò½èÍý 
    211257    $arrRet = sfPaygentResponse(PAYGENT_CREDIT, $p, $uniqid, $arrInput); 
     
    227273    $p->init(); 
    228274     
    229     //¡¡¥³¥ó¥Ó¥ËÍѥѥé¥á¡¼¥¿¤Î¼èÆÀ 
     275    // ¥³¥ó¥Ó¥ËÍѥѥé¥á¡¼¥¿¤Î¼èÆÀ 
    230276    $arrPaymentDB = sfGetPaymentDB(MDL_PAYGENT_ID, "AND memo03 = 2"); 
    231277    $arrOtherParam = unserialize($arrPaymentDB[0]['other_param']); 
     
    262308        $p->reqPut($key, $enc_val); 
    263309    } 
    264      
    265310    // ÅÅʸ¤ÎÁ÷¿® 
    266311    $p->post(); 
    267  
    268312    // ±þÅú¤ò½èÍý 
    269313    $arrRet = sfPaygentResponse(PAYGENT_CONVENI, $p, $uniqid, $arrInput); 
     
    285329    $p->init(); 
    286330     
    287     //¡¡ATM·èºÑÍѥѥé¥á¡¼¥¿¤Î¼èÆÀ 
     331    // ATM·èºÑÍѥѥé¥á¡¼¥¿¤Î¼èÆÀ 
    288332    $arrPaymentDB = sfGetPaymentDB(MDL_PAYGENT_ID, "AND memo03 = 3"); 
    289333    $arrOtherParam = unserialize($arrPaymentDB[0]['other_param']); 
     
    321365        $p->reqPut($key, $enc_val); 
    322366    } 
    323      
    324367    // ÅÅʸ¤ÎÁ÷¿® 
    325368    $p->post(); 
    326      
    327369    // ±þÅú¤ò½èÍý 
    328370    $arrRet = sfPaygentResponse(PAYGENT_ATM, $p, $uniqid, $arrInput); 
     
    344386    $p->init(); 
    345387     
    346     //¡¡¶ä¹ÔNETÍѥѥé¥á¡¼¥¿¤Î¼èÆÀ 
     388    // ¶ä¹ÔNETÍѥѥé¥á¡¼¥¿¤Î¼èÆÀ 
    347389    $arrPaymentDB = sfGetPaymentDB(MDL_PAYGENT_ID, "AND memo03 = 4"); 
    348390    $arrOtherParam = unserialize($arrPaymentDB[0]['other_param']); 
     
    399441        $p->reqPut($key, $enc_val); 
    400442    } 
    401      
    402443    // ÅÅʸ¤ÎÁ÷¿® 
    403444    $p->post(); 
    404      
    405445    // ±þÅú¤ò½èÍý 
    406446    $arrRet = sfPaygentResponse(PAYGENT_BANK, $p, $uniqid, $arrInput); 
  • branches/beta/data/downloads/module/mdl_paygent/mdl_paygent.php

    r16909 r17012  
    2121    2 => 'JCB, AMEX' 
    2222); 
    23      
     23 
     24$arrActive = array( 
     25    1 => 'Í×', 
     26    0 => 'ÉÔÍ×' 
     27); 
     28 
    2429//¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹ 
    2530class LC_Page { 
     
    3540        global $arrConvenience; 
    3641        $this->arrConvenience = $arrConvenience; 
     42        global $arrActive; 
     43        $this->arrActive = $arrActive; 
    3744    } 
    3845} 
     
    94101    // ¥Ç¥Õ¥©¥ë¥ÈÃÍ 
    95102    $arrDefault  = array( 
     103        'credit_3d' => "0", 
    96104        'conveni_limit_date' => 15, 
    97105        'atm_limit_date'     => 30, 
     
    104112    $objFormParam->addParam("ÀܳID", "connect_id", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
    105113    $objFormParam->addParam("Àܳ¥Ñ¥¹¥ï¡¼¥É", "connect_password", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
     114    $objFormParam->addParam("3D¥»¥­¥å¥¢", "credit_3d", "", "n", array("EXIST_CHECK"), $arrDefault['credit_3d']); 
    106115    $objFormParam->addParam("»Ùʧ´ü¸ÂÆü", "conveni_limit_date", 2, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrDefault['conveni_limit_date']); 
    107116    $objFormParam->addParam("»Ùʧ´ü¸ÂÆü", "atm_limit_date", 2, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrDefault['atm_limit_date']); 
     
    136145            $arrErr['claim_kana'] = "¢¨ ɽ¼¨Å¹ÊÞ̾¡Ê¥«¥Ê¡Ë¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£<br>"; 
    137146    } 
    138      
    139      
    140      
    141147    /** ¶¦ÄÌÅÅʸ **/     
    142148    // ¥Þ¡¼¥Á¥ã¥ó¥ÈID 
     
    174180        // ¥¯¥ì¥¸¥Ã¥È 
    175181        case '1': 
     182            $arrParam = unserialize($val['other_param']); 
     183            $arrDisp['credit_3d'] = $arrParam['credit_3d']; 
    176184            break; 
    177185        // ¥³¥ó¥Ó¥Ë 
     
    205213    global $objQuery; 
    206214    global $objSess; 
    207          
     215     
    208216    // ´ØÏ¢¤¹¤ë»Ùʧ¤¤ÊýË¡¤Îdel_flg¤òºï½ü¤Ë¤·¤Æ¤ª¤¯ 
    209217    $del_sql = "UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ? "; 
     
    215223        // ¥é¥ó¥¯¤ÎºÇÂçÃͤò¼èÆÀ¤¹¤ë 
    216224        $max_rank = $objQuery->getone("SELECT max(rank) FROM dtb_payment"); 
    217  
    218         // »ÙʧÊýË¡¥Ç¡¼¥¿¤ò¼èÆÀ          
     225        // »ÙʧÊýË¡¥Ç¡¼¥¿¤ò¼èÆÀ 
    219226        $arrPaymentData = sfGetPaymentDB(MDL_PAYGENT_ID, "AND memo03 = ?", array($val)); 
    220227         
    221228        // ¥¯¥ì¥¸¥Ã¥È¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ì¤Ð¥¯¥ì¥¸¥Ã¥È¤òÅÐÏ¿¤¹¤ë 
    222229        if($val == 1){ 
    223             $arrData = array(            
     230            $arrParam = array(); 
     231            $arrParam['credit_3d'] = $_POST['credit_3d']; 
     232            $arrData = array( 
    224233                "payment_method" => "PAYGENT¥¯¥ì¥¸¥Ã¥È" 
    225234                ,"fix" => 3 
     
    234243                ,"memo03" => $val 
    235244                ,"memo04" => $_POST["connect_password"] 
    236                 ,"memo05" => "" 
     245                ,"memo05" => serialize($arrParam) 
    237246                ,"del_flg" => "0" 
    238247                ,"charge_flg" => "2" 
     
    246255            $arrParam = array(); 
    247256            $arrParam['payment_limit_date'] = $_POST['conveni_limit_date']; 
    248              
    249257            $arrData = array( 
    250258                "payment_method" => "PAYGENT¥³¥ó¥Ó¥Ë" 
     
    272280            $arrParam['payment_detail'] = $_POST['payment_detail']; 
    273281            $arrParam['payment_limit_date'] = $_POST['atm_limit_date']; 
    274              
    275282            $arrData = array( 
    276283                "payment_method" => "PAYGENTATM·èºÑ" 
  • branches/beta/data/downloads/module/mdl_paygent/mdl_paygent.tpl

    r16746 r17012  
    3434    for(pi = 0; pi < payment.length; pi++) { 
    3535        // ¥¯¥ì¥¸¥Ã¥È¤Î¾ì¹ç 
    36         list = new Array('credit[]'); 
     36        list = new Array('credit[]', 'credit_3d'); 
    3737        if(fm[payment[pi]][0].checked){ 
    3838            fnChangeDisabled(list, false); 
     
    188188                                         
    189189                                        <tr class="fs12n"> 
    190                                             <td colspan="2" width="90" bgcolor="#f3f3f3">¢§¥³¥ó¥Ó¥ËÀßÄê</td> 
    191                                         </tr> 
    192                                                                                  
     190                                            <td colspan="2" width="90" bgcolor="#f3f3f3">¢§¥¯¥ì¥¸¥Ã¥È·èºÑÀßÄê</td> 
     191                                        </tr> 
     192                                        <tr class="fs12n"> 
     193                                            <td width="" bgcolor="#f3f3f3">3D¥»¥­¥å¥¢</td> 
     194                                            <td width="" bgcolor="#ffffff"> 
     195                                            <!--{assign var=key value="credit_3d"}--> 
     196                                            <span class="red12"><!--{$arrErr[$key]}--></span> 
     197                                            <!--{html_radios name="$key" options=$arrActive selected=$arrForm[$key].value style=$arrErr[$key]|sfGetErrorColor}--> 
     198                                            </td> 
     199                                        </tr> 
     200                                         
     201                                        <tr class="fs12n"> 
     202                                            <td colspan="2" width="90" bgcolor="#f3f3f3">¢§¥³¥ó¥Ó¥Ë·èºÑÀßÄê</td> 
     203                                        </tr> 
    193204                                        <tr class="fs12n"> 
    194205                                            <td width="" bgcolor="#f3f3f3">»Ùʧ´ü¸ÂÆü</td> 
     
    203214                                            <td colspan="2" width="90" bgcolor="#f3f3f3">¢§ATM·èºÑÀßÄê</td> 
    204215                                        </tr> 
    205                                          
    206216                                        <tr class="fs12n"> 
    207217                                            <td width="" bgcolor="#f3f3f3">»Ùʧ´ü¸ÂÆü</td> 
  • branches/beta/data/downloads/module/mdl_paygent/paygent_conveni.php

    r16909 r17012  
    3333$objSiteInfo = $objView->objSiteInfo; 
    3434$arrInfo = $objSiteInfo->data; 
     35 
    3536// ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹ 
    3637$objFormParam = new SC_FormParam(); 
  • branches/beta/data/downloads/module/mdl_paygent/paygent_credit.php

    r16909 r17012  
    7373        $arrRet = sfSendPaygentCredit($arrData, $arrInput, $uniqid); 
    7474         
    75         // À®¸ù 
    76         if($arrRet['result'] === "0") { 
    77             // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯ 
     75        // À®¸ù¡Ê3D¥»¥­¥å¥¢Ì¤Âбþ¡Ë 
     76        if ($arrRet['result'] === "0") { 
     77            // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿ 
    7878            $objSiteSess->setRegistFlag(); 
    7979            if (GC_MobileUserAgent::isMobile()) { 
    80                 header("Location: " . gfAddSessionId(MOBILE_URL_SHOP_COMPLETE)); 
     80                header("Location: ". gfAddSessionId(MOBILE_URL_SHOP_COMPLETE)); 
    8181            } else { 
    82                 header("Location: " . URL_SHOP_COMPLETE); 
     82                header("Location: ". URL_SHOP_COMPLETE); 
    8383            } 
     84        // À®¸ù¡Ê3D¥»¥­¥å¥¢Âбþ¡Ë 
     85        } elseif ($arrRet['result'] === "7") { 
     86            // ¥«¡¼¥É²ñ¼Ò²èÌ̤ØÁ«°Ü¡ÊACS»Ùʧ¿Íǧ¾ÚÍ×µáHTML¤òɽ¼¨¡Ë 
     87            print mb_convert_encoding($arrRet['out_acs_html'], CHAR_CODE, "Shift-JIS"); 
     88            exit; 
     89        // ¼ºÇÔ 
    8490        } else { 
    85             // ¼ºÇÔ 
    8691            $objPage->tpl_error = "ǧ¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£¤ª¼ê¿ô¤Ç¤¹¤¬ÆþÎÏÆâÍƤò¤´³Îǧ¤¯¤À¤µ¤¤¡£"; 
    8792        } 
    8893    } 
    8994    break; 
     95} 
     96 
     97// 3D¥»¥­¥å¥¢¼Â»Ü¸å 
     98if ($_GET['mode'] == "credit_3d" && $_GET['uniqid'] == $uniqid) { 
     99    // ¥¯¥ì¥¸¥Ã¥ÈÅÅʸÁ÷¿®¡Ê3D¥»¥­¥å¥¢¼Â»Ü¸å¡Ë 
     100    $arrRet = sfSendPaygetnCredit3d($arrData, $_POST, $uniqid); 
     101    // À®¸ù 
     102    if ($arrRet['result'] === "0") { 
     103        // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿ 
     104        $objSiteSess->setRegistFlag(); 
     105        header("Location: ". URL_SHOP_COMPLETE); 
     106    } 
    90107} 
    91108 
Note: See TracChangeset for help on using the changeset viewer.