Ignore:
Timestamp:
2008/04/07 18:24:45 (18 years ago)
Author:
adachi
Message:

サイバーソース決済モジュール暫定コミット

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-1/data/downloads/module/mdl_cybs/mdl_cybs_credit.php

    r17224 r17230  
    5353$uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess); 
    5454 
     55// ¥«¡¼¥È½¸·×½èÍý 
     56$objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); 
     57// °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆÉ¹þ 
     58$arrData = sfGetOrderTemp($uniqid); 
     59// ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»» 
     60$arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo); 
     61 
    5562$objForm = lfInitParam($_POST); 
    5663$objPage->arrForm = $objForm->getFormParamList(); 
    … …  
    6471        break; 
    6572    } 
    66  
    67     // ¥«¡¼¥È½¸·×½èÍý 
    68     $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); 
    69     // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆÉ¹þ 
    70     $arrData = sfGetOrderTemp($uniqid); 
    71     // ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»» 
    72     $arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo); 
    7373 
    7474    /** 
    … …  
    8080        if (!$objCybs->canAddSubsId()) { 
    8181            $objPage->tpl_error = 'ÅÐÏ¿½ÐÍè¤ë¥«¡¼¥É¤Î·ï¿ô¤Ï' . MDL_CYBS_SUBS_ID_MAX . "·ï¤Þ¤Ç¤Ç¤¹¡£\n"; 
    82             gfPrintLog(' -> ondemand error: over card max', MDL_CYBS_LOG); 
     82            gfPrintLog(' -> ondemand error: over card max ', MDL_CYBS_LOG); 
    8383            break; 
    8484        } 
    … …  
    9393        // ¥µ¥Ö¥¹¥¯¥ê¥×¥·¥ç¥óID¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ØÄɲ乤ë 
    9494        $subsId = $arrResults['pay_subscription_create_subscription_id']; 
    95         $objCybs->addSubsId($subsId); 
     95        $objCybs->addSubsId($subsId, $arrResults['merchant_ref_number']); 
    9696    } 
    9797 
    … …  
    155155 
    156156    $objSiteSess->setRegistFlag(); 
    157     //lfRegisterOrderTemp($uniqid, $objForm->getHashArray(), $arrResults); 
     157    lfRegisterOrderTemp($uniqid, $objForm->getHashArray(), $arrResults); 
    158158    header("Location: " . URL_SHOP_COMPLETE); 
    159159    exit; 
     160    break; 
     161 
     162// ÅÐÏ¿¥«¡¼¥É¤Î»ÈÍÑ 
     163case 'ondemand': 
     164    // ÆþÎϹàÌܤθ¡¾Ú 
     165    $subsId = $objForm->getValue('subs_id'); 
     166    $arrErr = $objForm->checkError(); 
     167    if (empty($subsId) || !empty($arrErr['subs_id'])) { 
     168        $objPage->arrErr['subs_id'] = '¢¨¡¡»ÈÍѤ¹¤ë¥«¡¼¥É¤òÁªÂò¤·¤Æ²¼¤µ¤¤¡£'; 
     169        break; 
     170    } 
     171 
     172    $arrSendParam = lfCreateAuthParam($objForm->getHashArray(), $arrData); 
     173    $arrSendParam = lfCreateOndemandAuthParam($subsId, $arrSendParam); 
     174    $arrResults = lfSendRequest($arrSendParam); 
     175    if (PEAR::isError($e = lfIsError($arrResults))) { 
     176        $objPage->tpl_error = $e->getMessage(); 
     177        gfPrintLog(' -> auth error: ' . $e->getMessage(), MDL_CYBS_LOG); 
     178        gfPrintLog(print_r($arrResults, true), MDL_CYBS_LOG); 
     179        break; 
     180    } 
     181 
     182    $objSiteSess->setRegistFlag(); 
     183    lfRegisterOrderTemp($uniqid, $objForm->getHashArray(), $arrResults); 
     184    header("Location: " . URL_SHOP_COMPLETE); 
     185    exit; 
     186    break; 
    160187 
    161188// ¥Ñ¥¹¥ï¡¼¥ÉÆþÎϤ«¤é¤ÎÌá¤ê 
    162189case 'verify3d': 
    163     // ¥«¡¼¥È½¸·×½èÍý 
    164     $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); 
    165     // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆÉ¹þ 
    166     $arrData = sfGetOrderTemp($uniqid); 
    167     // ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»» 
    168     $arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo); 
    169  
    170190    // ¸¡¾Ú+Í¿¿®¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë 
    171191    $obj3DForm = lfInit3DParam($_POST); 
    … …  
    179199 
    180200    $objSiteSess->setRegistFlag(); 
     201    lfRegisterOrderTemp($uniqid, $objForm->getHashArray(), $arrResults); 
    181202    header("Location: " . URL_SHOP_COMPLETE); 
     203    exit; 
    182204    break; 
    183205 
    … …  
    190212// Ä̾ïɽ¼¨ 
    191213default: 
    192     // TODO ¥ª¥ó¥Ç¥Þ¥ó¥É¼èÆÀ 
    193  
    194 } 
     214} 
     215 
     216lfSetCardInfo($objPage); // ÅÐÏ¿ºÑ¤ß¥«¡¼¥É¾ðÊó¤ò¥»¥Ã¥È¤¹¤ë 
    195217 
    196218$objView->assignobj($objPage); 
    197219$objView->display(SITE_FRAME); 
     220 
    198221sfPrintR($_POST, 'blue'); 
    199222sfPrintR($objPage, 'red'); 
     223 
     224function lfSetCardInfo(&$objPage) { 
     225    $objCybs =& Mdl_Cybs_Config::getInstanse(); 
     226    // ¥ª¥ó¥Ç¥Þ¥ó¥É²Ý¶â¤¬Ìµ¸ú¤Ê¤éreturn 
     227    if (!$objCybs->enableOndemand()) { 
     228        return; 
     229    } 
     230 
     231    // ¥µ¥Ö¥¹¥¯¥ê¥×¥·¥ç¥óID¤ò¼èÆÀ 
     232    $arrSubsIds = $objCybs->getSubsIds(); 
     233    $objPage->cardCount = 0; // ¥µ¥Ö¥¹¥¯¥ê¥×¥·¥ç¥ó¤ÎÅÐÏ¿·ï¿ô 
     234    foreach ($arrSubsIds as $subs) { 
     235        $arrResults = lfSendRequest(lfCreateOndemandRetParam($subs['subs_id'], $subs['merchant_ref_number'])); 
     236 
     237        if (PEAR::isError($e = lfIsError($arrResults))) { 
     238            $objPage->tpl_error = $e->getMessage(); 
     239            gfPrintLog(' -> get subs info error: ' . $e->getMessage(), MDL_CYBS_LOG); 
     240            gfPrintLog(print_r($arrResults, true), MDL_CYBS_LOG); 
     241            return; 
     242        } 
     243        $objPage->cardCount++; 
     244        $objPage->arrCard[] = $arrResults; // ¥«¡¼¥É¾ðÊó¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Øassign 
     245    } 
     246} 
     247 
    200248/** 
    201249 * ¥â¡¼¥É¤ò¼èÆÀ¤¹¤ë 
    … …  
    248296    $objForm->addParam("»ÙʧÊýË¡", "paymethod", STEXT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
    249297    $objForm->addParam("¥«¡¼¥É¾ðÊó¤ÎÅÐÏ¿", "register_ondemand", 1, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK")); 
     298    $objForm->addParam("»ÈÍѤ¹¤ë¥«¡¼¥É", "subs_id", MTEXT_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK")); 
    250299    $objForm->setParam($arrParam); 
    251300    $objForm->convParam(); 
    … …  
    263312    $objRequest = new CYBS_REQ; 
    264313 
     314    foreach ($arrSendParam as $key => $value) { 
     315        $objRequest->add_request($key, $value); 
     316    } 
     317 
     318    $arrSendParam['customer_cc_number'] = ''; // ¥«¡¼¥ÉÈÖ¹æ¤Ï¥í¥°Êݸ¤·¤Ê¤¤¡£ 
    265319    gfPrintLog('### send request param ###', MDL_CYBS_LOG); 
    266320    gfPrintLog(print_r($arrSendParam, true), MDL_CYBS_LOG); 
    267  
    268     foreach ($arrSendParam as $key => $value) { 
    269         $objRequest->add_request($key, $value); 
    270     } 
    271321 
    272322    if ( ($result = cybs_send($objRequest->requests)) == false ) { 
    … …  
    360410} 
    361411 
     412function lfCreateOndemandRetParam($subsId, $merchant_ref_number) { 
     413    global $arrCybsRequestURL; 
     414 
     415    $objConfig =& Mdl_Cybs_Config::getInstanse(); 
     416    $arrConfig = $objConfig->getConfig(); 
     417 
     418    return array( 
     419        'subscription_id'     => $subsId, 
     420        "ics_applications"    => "ics_pay_subscription_retrieve", 
     421        "server_host"         => $arrCybsRequestURL[$arrConfig['cybs_request_url']], 
     422        "server_port"         => "80", 
     423        'merchant_id'         => $arrConfig['cybs_merchant_id'], 
     424        'merchant_ref_number' => $merchant_ref_number, 
     425    ); 
     426} 
    362427/** 
    363428 * ics_pa_enroll¥Ñ¥é¥á¡¼¥¿¤ò¹½ÃÛ¤¹¤ë. 
    … …  
    549614 */ 
    550615function lfRegisterOrderTemp($uniqid, $arrForm, $arrResults) { 
    551     $sqlval = array(); 
    552     $sqlval['memo03'] = $arrForm['card_name01'] . " " . $arrForm['card_name02']; 
    553     //$sqlval['memo02'] = serialize($arrResults['auth_auth_code']); 
     616    $sqlval = array( 
     617        'memo06' => 1, 
     618        'memo07' => $arrResults['request_token'], 
     619        'memo08' => $arrResults['request_id'], 
     620        //'memo08' => $arrResults[''], 
     621        //'memo09' => $arrResults[''], 
     622        //'memo10' => $arrResults[''], 
     623    ); 
    554624 
    555625    $objQuery = new SC_Query; 
Note: See TracChangeset for help on using the changeset viewer.