source: branches/beta/data/downloads/module/mdl_paygent/paygent_credit.php @ 17012

Revision 17012, 4.9 KB checked in by satou, 16 years ago (diff)

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

Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7require_once(MODULE_PATH . "mdl_paygent/mdl_paygent.inc");
8
9class LC_Page {
10    function LC_Page() {
11        /** ɬ¤º»ØÄꤹ¤ë **/
12        if (GC_MobileUserAgent::isMobile()) {
13            $this->tpl_mainpage = MODULE_PATH . "mdl_paygent/paygent_credit_mobile.tpl";
14        } else {
15            $this->tpl_mainpage = MODULE_PATH . "mdl_paygent/paygent_credit.tpl";
16        }
17        /*
18         session_start»þ¤Îno-cache¥Ø¥Ã¥À¡¼¤òÍÞÀ©¤¹¤ë¤³¤È¤Ç
19         ¡ÖÌá¤ë¡×¥Ü¥¿¥ó»ÈÍÑ»þ¤ÎÍ­¸ú´ü¸ÂÀÚ¤ìɽ¼¨¤òÍÞÀ©¤¹¤ë¡£
20         private-no-expire:¥¯¥é¥¤¥¢¥ó¥È¤Î¥­¥ã¥Ã¥·¥å¤òµö²Ä¤¹¤ë¡£
21        */
22        session_cache_limiter('private-no-expire');     
23    }
24}
25
26$objPage = new LC_Page();
27if (GC_MobileUserAgent::isMobile()) {
28    $objView = new SC_MobileView();
29} else {
30    $objView = new SC_SiteView();
31}
32$objCampaignSess = new SC_CampaignSession();
33$objSiteInfo = $objView->objSiteInfo;
34$arrInfo = $objSiteInfo->data;
35
36// ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹
37$objFormParam = new SC_FormParam();
38// ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½
39lfInitParam();
40// POSTÃͤμèÆÀ
41$objFormParam->setParam($_POST);
42
43// ¥«¡¼¥È½¸·×½èÍý
44$objPage = sfTotalCart($objPage, $objCartSess, $arrInfo);
45
46// °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆɹþ
47$arrData = sfGetOrderTemp($uniqid);
48
49// ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»»
50$arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo);
51
52switch($_POST['mode']) {
53// Á°¤Î¥Ú¡¼¥¸¤ËÌá¤ë
54case 'return':
55    // Àµ¾ï¤Ê¿ä°Ü¤Ç¤¢¤ë¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯
56    $objSiteSess->setRegistFlag();
57    if (GC_MobileUserAgent::isMobile()) {
58        header("Location: " . gfAddSessionId(MOBILE_URL_SHOP_CONFIRM));
59    } else {
60        header("Location: " . URL_SHOP_CONFIRM);
61    }
62    break;
63// ¼¡¤Ø
64case 'next':
65    // ÆþÎÏÃͤÎÊÑ´¹
66    $objFormParam->convParam();
67    $objPage->arrErr = lfCheckError($arrRet);
68    // ÆþÎÏ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç
69    if(count($objPage->arrErr) == 0) {
70         // ÆþÎϥǡ¼¥¿¤Î¼èÆÀ¤ò¹Ô¤¦
71        $arrInput = $objFormParam->getHashArray();
72        // ¥¯¥ì¥¸¥Ã¥ÈÅÅʸÁ÷¿®
73        $arrRet = sfSendPaygentCredit($arrData, $arrInput, $uniqid);
74       
75        // À®¸ù¡Ê3D¥»¥­¥å¥¢Ì¤Âбþ¡Ë
76        if ($arrRet['result'] === "0") {
77            // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿
78            $objSiteSess->setRegistFlag();
79            if (GC_MobileUserAgent::isMobile()) {
80                header("Location: ". gfAddSessionId(MOBILE_URL_SHOP_COMPLETE));
81            } else {
82                header("Location: ". URL_SHOP_COMPLETE);
83            }
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        // ¼ºÇÔ
90        } else {
91            $objPage->tpl_error = "ǧ¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£¤ª¼ê¿ô¤Ç¤¹¤¬ÆþÎÏÆâÍƤò¤´³Îǧ¤¯¤À¤µ¤¤¡£";
92        }
93    }
94    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    }
107}
108
109$objDate = new SC_Date();
110$objDate->setStartYear(RELEASE_YEAR);
111$objDate->setEndYear(RELEASE_YEAR + CREDIT_ADD_YEAR);
112$objPage->arrYear = $objDate->getZeroYear();
113$objPage->arrMonth = $objDate->getZeroMonth();
114
115// ¶¦Ä̤Îɽ¼¨½àÈ÷
116$objPage = sfPaygentDisp($objPage, $payment_id);
117
118// »Ùʧ²ó¿ô
119$objPage->arrPaymentClass = $arrPaymentClass;
120$objPage->arrForm = $objFormParam->getFormParamList();
121$objView->assignobj($objPage);
122// ¥Õ¥ì¡¼¥à¤òÁªÂò(¥­¥ã¥ó¥Ú¡¼¥ó¥Ú¡¼¥¸¤«¤éÁ«°Ü¤Ê¤éÊѹ¹)
123$objCampaignSess->pageView($objView);
124
125//-------------------------------------------------------------------------------------------------------
126
127/* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */
128function lfInitParam() {
129    global $objFormParam;
130    $objFormParam->addParam("»Ùʧ²ó¿ô", "payment_class", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
131    $objFormParam->addParam("¥«¡¼¥ÉÈÖ¹æ1", "card_no01", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
132    $objFormParam->addParam("¥«¡¼¥ÉÈÖ¹æ2", "card_no02", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
133    $objFormParam->addParam("¥«¡¼¥ÉÈÖ¹æ3", "card_no03", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
134    $objFormParam->addParam("¥«¡¼¥ÉÈÖ¹æ4", "card_no04", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
135    $objFormParam->addParam("¥«¡¼¥É´ü¸Âǯ", "card_year", 2, "n", array("EXIST_CHECK", "NUM_COUNT_CHECK", "NUM_CHECK"));
136    $objFormParam->addParam("¥«¡¼¥É´ü¸Â·î", "card_month", 2, "n", array("EXIST_CHECK", "NUM_COUNT_CHECK", "NUM_CHECK"));
137    $objFormParam->addParam("À«", "card_name01", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "ALPHA_CHECK"));
138    $objFormParam->addParam("̾", "card_name02", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "ALPHA_CHECK"));
139}
140
141/* ÆþÎÏÆâÍƤΥÁ¥§¥Ã¥¯ */
142function lfCheckError() {
143    global $objFormParam;
144    // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£
145    $arrRet =  $objFormParam->getHashArray();
146    $objErr = new SC_CheckError($arrRet);
147    $objErr->arrErr = $objFormParam->checkError();
148   
149    return $objErr->arrErr;
150}
151?>
Note: See TracBrowser for help on using the repository browser.