/home/mjc1/public_html/xpay/payres.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
 session_start
();
 include(
"../manage/category/Ordercommon.php");

    
/*
     * [ÃÖÁ¾°áÁ¦¿äû ÆäÀÌÁö(STEP2-2)]
     *
     * LGÀ¯Ç÷¯½ºÀ¸·Î ºÎÅÍ ³»·Á¹ÞÀº LGD_PAYKEY(ÀÎÁõKey)¸¦ °¡Áö°í ÃÖÁ¾ °áÁ¦¿äû.(ÆÄ¶ó¹ÌÅÍ Àü´Þ½Ã POST¸¦ »ç¿ëÇϼ¼¿ä)
     */

    
$configPath "./lgdacom"//LGÀ¯Ç÷¯½º¿¡¼­ Á¦°øÇѠȯ°æÆÄÀÏ("/conf/lgdacom.conf,/conf/mall.conf") À§Ä¡ ÁöÁ¤. 

    /*
     *************************************************
     * 1.ÃÖÁ¾°áÁ¦ ¿äû - BEGIN
     *  (´Ü, ÃÖÁ¾ ±Ý¾×üũ¸¦ ¿øÇϽô °æ¿ì ±Ý¾×üũ ºÎºÐ ÁÖ¼®À» Á¦°Å ÇϽø頵˴ϴÙ.)
     *************************************************
     */
    
$CST_PLATFORM               $_POST["CST_PLATFORM"];
    
$CST_MID                    $_POST["CST_MID"];
    
$LGD_MID                    = (("test" == $CST_PLATFORM)?"t":"").$CST_MID;
    
$LGD_PAYKEY                 $_POST["LGD_PAYKEY"];

    require_once(
"./lgdacom/XPayClient.php");
    
$xpay = &new XPayClient($configPath$CST_PLATFORM);
    
$xpay->Init_TX($LGD_MID);    
    
    
$xpay->Set("LGD_TXNAME""PaymentByKey");
    
$xpay->Set("LGD_PAYKEY"$LGD_PAYKEY);
    
    
//±Ý¾×À» Ã¼Å©ÇϽñ⠿øÇϴ °æ¿ì ¾Æ·¡ ÁÖ¼®À» Ç®¾î¼­ ÀÌ¿ëÇϽʽÿä.
    //$DB_AMOUNT = "DB³ª ¼¼¼Ç¿¡¼­ °¡Á®¿Â ±Ý¾×"; //¹Ýµå½Ã À§º¯Á¶°¡ ºÒ°¡´ÉÇÑ °÷(DB³ª ¼¼¼Ç)¿¡¼­ ±Ý¾×À» °¡Á®¿À½Ê½Ã¿ä.
    //$xpay->Set("LGD_AMOUNTCHECKYN", "Y");
    //$xpay->Set("LGD_AMOUNT", $DB_AMOUNT);
        
    /*
     *************************************************
     * 1.ÃÖÁ¾°áÁ¦ ¿äû(¼öÁ¤ÇÏÁö ¸¶¼¼¿ä) - END
     *************************************************
     */

    /*
     * 2. ÃÖÁ¾°áÁ¦ ¿äû °á°úó¸®
     *
     * ÃÖÁ¾ °áÁ¦¿äû °á°ú ¸®ÅÏ ÆÄ¶ó¹ÌÅʹ ¿¬µ¿¸Þ´º¾óÀ» Âü°íÇϽñ⠹ٶø´Ï´Ù.
     */
    
if ($xpay->TX()) {
        
//1)°áÁ¦°á°ú È­¸éó¸®(¼º°ø,½ÇÆÐ °á°ú Ã³¸®¸¦ ÇϽñ⠹ٶø´Ï´Ù.)
        
echo "°áÁ¦¿äûÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù.  <br>";
        echo 
"TX Åë½Å ÀÀ´äÄÚµå = " $xpay->Response_Code() . "<br>";        //Åë½Å ÀÀ´äÄÚµå("0000" ÀÏ ¶§ Åë½Å ¼º°ø)
        
echo "TX Åë½Å ÀÀ´ä¸Þ½ÃÁö = " $xpay->Response_Msg() . "<p>";
            
        echo 
"°Å·¡¹øÈ£ : " $xpay->Response("LGD_TID",0) . "<br>";
        echo 
"»óÁ¡¾ÆÀ̵ð : " $xpay->Response("LGD_MID",0) . "<br>";
        echo 
"»óÁ¡ÁÖ¹®¹øÈ£ : " $xpay->Response("LGD_OID",0) . "<br>";
        echo 
"°áÁ¦±Ý¾× : " $xpay->Response("LGD_AMOUNT",0) . "<br>";
        echo 
"°á°úÄÚµå : " $xpay->Response("LGD_RESPCODE",0) . "<br>";    //LGD_RESPCODE °¡ ¹Ýµå½Ã "0000" À϶§¸¸ °áÁ¦ ¼º°ø, ±× ¿Ü´Â ¸ðµÎ ½ÇÆÐ
        
echo "°á°ú¸Þ¼¼Áö : " $xpay->Response("LGD_RESPMSG",0) . "<p>";
            
        
$keys $xpay->Response_Names();
        foreach(
$keys as $name) {
            echo 
$name " = " $xpay->Response($name0) . "<br>";
            
$res_array[$name] = $xpay->Response($name0);
        }
        
//echo "<pre>";        print_r($res_array);        print_r($_SESSION);        echo "</pre>";

        
$hash_ori $res_array['LGD_MID']."^".$res_array['LGD_OID']."^".$res_array['LGD_AMOUNT']."^".$LGD_TIMESTAMP."^".$xpay->config[$LGD_MID];
        
$md_hash md5($res_array['LGD_MID'].$res_array['LGD_OID'].$res_array['LGD_AMOUNT'].$LGD_TIMESTAMP.$xpay->config[$LGD_MID]);

        
$json json_encode($res_array);
        
$post_json json_encode($_POST);

        
// ·Î±× ÀúÀå
        
$sql "insert into xpay_log set
                p_type='pay_res', mid = '
{$res_array['LGD_MID']}', oid = '{$res_array['LGD_OID']}', amount = '{$res_array['LGD_AMOUNT']}',
                buyer = '
{$res_array['LGD_BUYER']}', prodinfo = '{$res_array['LGD_PRODUCTINFO']}', timestamp = '".date("YmdHis")."', pay_type= '{$res_array['LGD_PAYTYPE']}',
                lgdhash = '
$md_hash', hash_ori = '$hash_ori', resmsg = '{$res_array['LGD_RESPMSG']}', rescode = '{$res_array['LGD_RESPCODE']}', tid = '{$res_array['LGD_TID']}',
                authnum = '
{$res_array['LGD_FINANCEAUTHNUM']}', res_json = '$json', post_json = '$post_json'
         "
;
         
mysql_query($sql);
          
        echo 
"<p>";

        if(
trim($md_hash)!=trim($_SESSION['PAYREQ_MAP']['LGD_HASHDATA'])){ // Çؽ¬°ªÀÌ ºÎÁ¤È®ÇÒ¶§
            
echo "°áÁ¦ Çؽ¬°ª ½ÇÆÐ·Î ÀÎÇÏ¿© Rollback Ã³¸® [TID:" $xpay->Response("LGD_TID",0) . ",MID:" $xpay->Response("LGD_MID",0) . ",OID:" $xpay->Response("LGD_OID",0) . "]<br>";
            
$xpay->Rollback("°áÁ¦ Çؽ¬°ª ½ÇÆÐ·Î ÀÎÇÏ¿© Rollback Ã³¸® [TID:" $xpay->Response("LGD_TID",0) . ",MID:" $xpay->Response("LGD_MID",0) . ",OID:" $xpay->Response("LGD_OID",0) . "]");
            echo 
"TX Rollback Response_code = " $xpay->Response_Code() . "<br>";
            echo 
"TX Rollback Response_msg = " $xpay->Response_Msg() . "<p>";

            
$sql "insert into xpay_log set
                p_type='hash_fail', mid = '
{$res_array['LGD_MID']}', oid = '{$res_array['LGD_OID']}', amount = '{$res_array['LGD_AMOUNT']}',
                buyer = '
{$res_array['LGD_BUYER']}', prodinfo = '{$res_array['LGD_PRODUCTINFO']}', timestamp = '".date("YmdHis")."', pay_type= '{$res_array['LGD_PAYTYPE']}',
                lgdhash = '
$md_hash', hash_ori = '$hash_ori', resmsg = '".$xpay->Response_Msg()."', rescode = '".$xpay->Response_Code()."', tid = '{$res_array['LGD_TID']}',
                authnum = '
{$res_array['LGD_FINANCEAUTHNUM']}', res_json = '$json'            
             "
;
             
mysql_query($sql);

            exit;
        }
           
        if( 
"0000" == $xpay->Response_Code() ) {
            
//Åë½Å»óÀÇ ¹®Á¦°¡ ¾øÀ»½Ã
             //ÃÖÁ¾°áÁ¦¿äû °á°ú ¼º°ø DBó¸®(LGD_RESPCODE °ª¿¡ µû¶ó °áÁ¦°¡ ¼º°øÀÎÁö, ½ÇÆÐÀÎÁö DBó¸®)
               
echo "ÃÖÁ¾°áÁ¦¿äû °á°ú ¼º°ø DBó¸®ÇϽñ⠹ٶø´Ï´Ù.<br>";

            
//ÃÖÁ¾°áÁ¦¿äû °á°ú¸¦ DBó¸®ÇÕ´Ï´Ù. (°áÁ¦¼º°ø ¶Ç´Â ½ÇÆÐ ¸ðµÎ DB󸮠°¡´É)
            //»óÁ¡³» DB¿¡ ¾î¶°ÇÑ ÀÌÀ¯·Î Ã³¸®¸¦ ÇÏÁö ¸øÇѰæ¿ì false·Î º¯°æÇØ ÁÖ¼¼¿ä.
              
$isDBOK true
              if( !
$isDBOK ) {
                   echo 
"<p>";
                   
$xpay->Rollback("»óÁ¡ DB󸮠½ÇÆÐ·Î ÀÎÇÏ¿© Rollback Ã³¸® [TID:" $xpay->Response("LGD_TID",0) . ",MID:" $xpay->Response("LGD_MID",0) . ",OID:" $xpay->Response("LGD_OID",0) . "]");                                        
                    
                echo 
"TX Rollback Response_code = " $xpay->Response_Code() . "<br>";
                echo 
"TX Rollback Response_msg = " $xpay->Response_Msg() . "<p>";
                    
                if( 
"0000" == $xpay->Response_Code() ) {
                      echo 
"ÀÚµ¿Ãë¼Ò°¡ Á¤»óÀûÀ¸·Î ¿Ï·á µÇ¾ú½À´Ï´Ù.[xpay/payres]<br>";
                }else{
                      echo 
"ÀÚµ¿Ãë¼Ò°¡ Á¤»óÀûÀ¸·Î Ã³¸®µÇÁö ¾Ê¾Ò½À´Ï´Ù.<br>";
                }
              }                
        }else{
              
//Åë½Å»óÀÇ ¹®Á¦ ¹ß»ý(ÃÖÁ¾°áÁ¦¿äû °á°ú ½ÇÆÐ DBó¸®)
             
echo "ÃÖÁ¾°áÁ¦¿äû °á°ú ½ÇÆÐ DBó¸®ÇϽñ⠹ٶø´Ï´Ù.<br>";                            
        }
    }else {
        
//2)API ¿äû½ÇÆÐ È­¸éó¸®
        
echo "°áÁ¦¿äûÀÌ ½ÇÆÐÇÏ¿´½À´Ï´Ù.  <br>";
        echo 
"TX Response_code = " $xpay->Response_Code() . "<br>";
        echo 
"TX Response_msg = " $xpay->Response_Msg() . "<p>";
            
        
//ÃÖÁ¾°áÁ¦¿äû °á°ú ½ÇÆÐ DBó¸®
        
echo "ÃÖÁ¾°áÁ¦¿äû °á°ú ½ÇÆÐ DBó¸®ÇϽñ⠹ٶø´Ï´Ù.<br>";                                        
    }
?>