/home/mjc1/public_html/html/freetalkpay/xpay/cas_noteurl.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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
<?php
    $freetalkpay 
"Y";
    include_once(
"./_common.php");
    include_once(
"../xpay.inc.php");
    
header("Content-type:text/html;charset=utf-8"); 

    
$sql "set names utf8";
    
mysql_query($sql,$connect_web);

    
$sql "set names utf8";
    
mysql_query($sql,$connect_free);

    
$id $_POST['LGD_BUYERID'];
    
$v explode("^",$_POST['LGD_PRODUCTINFO']);
    
$od_info['id'] = $v[0];
    
$od_info['ext_month'] = $v[1];
    
$od_info['wdeposit_price'] = $v[2];

    
$cont json_encode($_POST);
    
$id_cust $_POST['LGD_BUYERID'];
    
payment_log("lg_noteurl"$cont""); // noteurl 로그 저장
    
$od_id $_POST['LGD_OID'];

    
$sql "select * from users a inner join service b on a.id = b.users_id where a.id = '{$od_info['id']}';";
    
$res mysql_query($sql,$connect_free);
    
$user_info mysql_fetch_array($res);

    
$reg_date date("Y-m-d H:i:s",time());

    
/*
     * [상점 결제결과처리(DB) 페이지]
     *
     * 1) 위변조 방지를 위한 hashdata값 검증은 반드시 적용하셔야 합니다.
     *
     */
    
$LGD_RESPCODE            $_POST["LGD_RESPCODE"];                // 응답코드: 0000(성공) 그외 실패
    
$LGD_RESPMSG             $_POST["LGD_RESPMSG"];                // 응답메세지
    
$LGD_MID                 $_POST["LGD_MID"];                    // 상점아이디
    
$LGD_OID                 $_POST["LGD_OID"];                    // 주문번호
    
$LGD_AMOUNT              $_POST["LGD_AMOUNT"];                // 거래금액
    
$LGD_TID                 $_POST["LGD_TID"];                    // LG유플러스에서 부여한 거래번호
    
$LGD_PAYTYPE             $_POST["LGD_PAYTYPE"];                // 결제수단코드
    
$LGD_PAYDATE             $_POST["LGD_PAYDATE"];                // 거래일시(승인일시/이체일시)
    
$LGD_HASHDATA            $_POST["LGD_HASHDATA"];                // 해쉬값
    
$LGD_FINANCECODE         $_POST["LGD_FINANCECODE"];            // 결제기관코드(은행코드)
    
$LGD_FINANCENAME         $_POST["LGD_FINANCENAME"];            // 결제기관이름(은행이름)
    
$LGD_ESCROWYN            $_POST["LGD_ESCROWYN"];                // 에스크로 적용여부
    
$LGD_TIMESTAMP           $_POST["LGD_TIMESTAMP"];                // 타임스탬프
    
$LGD_ACCOUNTNUM          $_POST["LGD_ACCOUNTNUM"];            // 계좌번호(무통장입금)
    
$LGD_CASTAMOUNT          $_POST["LGD_CASTAMOUNT"];            // 입금총액(무통장입금)
    
$LGD_CASCAMOUNT          $_POST["LGD_CASCAMOUNT"];            // 현입금액(무통장입금)
    
$LGD_CASFLAG             $_POST["LGD_CASFLAG"];                // 무통장입금 플래그(무통장입금) - 'R':계좌할당, 'I':입금, 'C':입금취소
    
$LGD_CASSEQNO            $_POST["LGD_CASSEQNO"];                // 입금순서(무통장입금)
    
$LGD_CASHRECEIPTNUM      $_POST["LGD_CASHRECEIPTNUM"];        // 현금영수증 승인번호
    
$LGD_CASHRECEIPTSELFYN   $_POST["LGD_CASHRECEIPTSELFYN"];        // 현금영수증자진발급제유무 Y: 자진발급제 적용, 그외 : 미적용
    
$LGD_CASHRECEIPTKIND     $_POST["LGD_CASHRECEIPTKIND"];        // 현금영수증 종류 0: 소득공제용 , 1: 지출증빙용
    
$LGD_PAYER                  $_POST["LGD_PAYER"];                  // 입금자명
    
    /*
     * 구매정보
     */
    
$LGD_BUYER               $_POST["LGD_BUYER"];                    // 구매자
    
$LGD_PRODUCTINFO         $_POST["LGD_PRODUCTINFO"];            // 상품명
    
$LGD_BUYERID             $_POST["LGD_BUYERID"];                // 구매자 ID
    
$LGD_BUYERADDRESS        $_POST["LGD_BUYERADDRESS"];            // 구매자 주소
    
$LGD_BUYERPHONE          $_POST["LGD_BUYERPHONE"];            // 구매자 전화번호
    
$LGD_BUYEREMAIL          $_POST["LGD_BUYEREMAIL"];            // 구매자 이메일
    
$LGD_BUYERSSN            $_POST["LGD_BUYERSSN"];                // 구매자 주민번호
    
$LGD_PRODUCTCODE         $_POST["LGD_PRODUCTCODE"];            // 상품코드
    
$LGD_RECEIVER            $_POST["LGD_RECEIVER"];                // 수취인
    
$LGD_RECEIVERPHONE       $_POST["LGD_RECEIVERPHONE"];            // 수취인 전화번호
    
$LGD_DELIVERYINFO        $_POST["LGD_DELIVERYINFO"];            // 배송지
      
    //$LGD_MERTKEY = $configshop['pg_key'];                //LG유플러스에서 발급한 상점키로 변경해 주시기 바랍니다.
    
$LGD_MERTKEY "8bf2cd526fe19625a9e627d0b1f13128";
    
    
$LGD_HASHDATA2 md5($LGD_MID.$LGD_OID.$LGD_AMOUNT.$LGD_RESPCODE.$LGD_TIMESTAMP.$LGD_MERTKEY);

    
$cont "{$LGD_HASHDATA2} / {$LGD_HASHDATA}";
    
payment_log("lg_noteurl_hash"$cont""); // noteurl 해쉬 로그 저장
    
    /*
     * 상점 처리결과 리턴메세지
     *
     * OK  : 상점 처리결과 성공
     * 그외 : 상점 처리결과 실패
     *
     * ※ 주의사항 : 성공시 'OK' 문자이외의 다른문자열이 포함되면 실패처리 되오니 주의하시기 바랍니다.
     */
    
$resultMSG "결제결과 상점 DB처리(LGD_CASNOTEURL) 결과값을 입력해 주시기 바랍니다.";

    
$res_array $_POST$post $_POST;
    
    if ( 
$LGD_HASHDATA2 == $LGD_HASHDATA ) { //해쉬값 검증이 성공이면
        
if ( "0000" == $LGD_RESPCODE ){ //결제가 성공이면
            
if( "R" == $LGD_CASFLAG ) {

                
$ICHE_OUTACCTNO $res_array['LGD_ACCOUNTNUM']; // 가상계좌발급번호
                
$ICHE_OUTBANKMASTER $res_array['LGD_SAOWNER']; // 가상계좌 입금계좌주명
                
$reciept[0] = '소득공제'$reciept[1] = '지출증빙';
                
$ICHE_OUTBANKNAME $res_array['LGD_CASHRECEIPTNUM']."/".$res_array['LGD_CASHRECEIPTSELFYN']."/".$reciept[$res_array['LGD_CASHRECEIPTKIND']]; // 현금영수증 정보
                
$bank $res_array['LGD_CASFLAG'];

                
/*
                 * 무통장 할당 성공 결과 상점 처리(DB) 부분
                 * 상점 결과 처리가 정상이면 "OK"
                 */    
                //if( 무통장 할당 성공 상점처리결과 성공 ) 
                
$sql =  " insert into mBoard_order set
                                            rOrdNo = '
{$res_array['LGD_OID']}', AuthTy = '{$Authty[$res_array['LGD_PAYTYPE']]}', memberId = '{$post['LGD_BUYERID']}', OrdNm ='{$post['LGD_BUYER']}',
                                            OrdPhone = '
{$user_info['tel']}', OrdPhone2 = '{$user_info['phone']}', UserEmail = '{$post['LGD_BUYEREMAIL']}', DlvAddr = '', 
                                            DlvPost = '', OrdComp = '
{$user_info['company']}', ProductCode = 'freetalk', rProdNm = '[프리톡연장]',
                                            rProdNm2 = '
{$od_info['ext_month']}', rProdNm3 = '', rProdNm4 = '', rAmt = '{$res_array['LGD_AMOUNT']}', 
                                            rSuccYn = 'n', rCardNm = '
{$res_array['LGD_FINANCENAME']} {$res_array['LGD_CARDNUM']}', rApprNo = '{$res_array['LGD_TID']}', ICHE_OUTBANKNAME = '{$ICHE_OUTBANKNAME}',
                                            ICHE_OUTACCTNO = '
{$ICHE_OUTACCTNO}', ICHE_OUTBANKMASTER = '{$ICHE_OUTBANKMASTER}', ICHE_AMOUNT = '{$ICHE_AMOUNT}', bank = '$bank',
                                            Pcnt = '
{$res_array['LGD_ESCROWYN']}', reg_date = '$reg_date', InvoiceNum = '{$res_array['LGD_RESPMSG']}:{$res_array['LGD_OID']}/{$res_array['LGD_RESPCODE']}', Deliver = '', 
                                            senditem = '
{$post['SendItem']}', salestopvalue = '', mod_date = '$reg_date'
                "
;
                
payment_log("lg_noteurl_R"""$sql); // noteurl 로그 저장
                
mysql_query($sql,$connect_web);

                
$sql "select count(*) as cnt from mBoard_order where rOrdNo = '{$res_array['LGD_OID']}' ";
                
$res mysql_query($sql,$connect_web);
                
$info mysql_fetch_array($res);
                if(
$info['cnt']>0){ $resultMSG "OK";  } else { $resultMSG "DB 입력 실패";  }

            }else if( 
"I" == $LGD_CASFLAG ) {
                 
/*
                 * 무통장 입금 성공 결과 상점 처리(DB) 부분
                 * 상점 결과 처리가 정상이면 "OK"
                 */    
                //if( 무통장 입금 성공 상점처리결과 성공 ) 

                
$ICHE_AMOUNT $res_array['LGD_CASTAMOUNT']."/".$res_array['LGD_PAYDATE']; // 총입금 금액과 입금일시는 저장한다.

                
$sql "update mBoard_order set
                                rSuccYn = 'y', ICHE_OUTBANKNAME = '
$ICHE_OUTBANKNAME', bank = '$LGD_CASFLAG', ICHE_AMOUNT = '$ICHE_AMOUNT' , mod_date = '$reg_date'
                            where rOrdNo = '
{$res_array['LGD_OID']}
                "
;
                
payment_log("lg_noteurl_I"""$sql); // noteurl 로그 저장
                
mysql_query($sql,$connect_web);

                
$sql "select count(*) as cnt from mBoard_order where rOrdNo = '{$res_array['LGD_OID']}' and ICHE_AMOUNT <> '' ";
                
$res mysql_query($sql,$connect_web);
                
$info mysql_fetch_array($res);
                if(
$info['cnt']>0){  $resultMSG "OK";  } else { $resultMSG "입금통보 DB 입력 실패";  }

                
$cont json_encode($user_info);
                
payment_log("old_service"$cont""); // 이전 서비스 정보 로그
                
$cur_date $user_info['servicedate'];
                
$v strtotime("+".$od_info['ext_month']." month {$cur_date}");
                
$new_date date("Y-m-d H:i:s",$v);

                
$inssql "update service set servicedate = '{$new_date}', updatedate = '{$reg_date}' where users_id = '{$od_info['id']}' ";
                
$res mysql_query($inssql,$connect_free);

                
$sql "select * from service where users_id = '{$od_info['id']}';";
                
$res mysql_query($sql,$connect_free);
                
$new_user_info mysql_fetch_array($res);

                
$cont json_encode($new_user_info);
                
payment_log("new_service"$cont$inssql); // 변경된 서비스 정보 로그
                
            
}else if( "C" == $LGD_CASFLAG ) {
                 
/*
                 * 무통장 입금취소 성공 결과 상점 처리(DB) 부분
                 * 상점 결과 처리가 정상이면 "OK"
                 */    
                //if( 무통장 입금취소 성공 상점처리결과 성공 ) 
                
$sql "update mBoard_order set
                                rSuccYn = 'n', ICHE_OUTBANKNAME = '
$ICHE_OUTBANKNAME', bank = '$LGD_CASFLAG', ICHE_AMOUNT = '' , mod_date = '$reg_date'
                            where rOrdNo = '
{$res_array['LGD_OID']}
                 "
;
                 
payment_log("lg_noteurl_C"""$sql); // noteurl 로그 저장
                 
mysql_query($sql,$connect_web);
            }
        } else { 
//결제가 실패이면
            /*
             * 거래실패 결과 상점 처리(DB) 부분
             * 상점결과 처리가 정상이면 "OK"
             */  
            //if( 결제실패 상점처리결과 성공 ) 
            
$resultMSG "OK";     
        }
    } else { 
//해쉬값이 검증이 실패이면
        /*
         * hashdata검증 실패 로그를 처리하시기 바랍니다. 
         */      
        
$resultMSG "결제결과 상점 DB처리(LGD_CASNOTEURL) 해쉬값 검증이 실패하였습니다.";     
    }
    
    
payment_log("lg_noteurl_rtn"""$resultMSG); // noteurl 로그 저장
    
echo $resultMSG;
?>