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($name, 0) . "<br>"; $res_array[$name] = $xpay->Response($name, 0); } //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>"; } ?>
|