전자결제 [LG유플러스/토스페이먼트] 전자결제 ASP 샘플 (ActiveX)
페이지 정보
본문
결제모듈 다운로드
구버전 :http://pgweb.dacom.net/pg/wmp/Home2009/support/manual_xpay.jsp
신버전 : http://pgweb.uplus.co.kr:8080/pg/wmp/Home2009/skill/module_info05.jsp
2011-06-11 Date.getYear() 함수 를 getFullYear() 로 변경
이유는 https://www.happyjung.com/lecture/1016 에서 확인
2017-03-14 IE, 크롬, 사파리, 파이어폭스, 오페라 결제 가능 모듈로 변경
1. form.asp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<%
' 주문번호 만들기 (방법2) by 2011-06-11
dim Oid, timestamp
timestamp = DateDiff("s", 1970-1-1, now()) + (9*60*60) ' 10자리
'뒤에 (9*60*60)을 더해준 이유는 오전 9시가 기준이기 때문에 더해준겁니다.
'response.write timestamp &"<br>"
oid = left(date(),4) & mid(date(),6,2) & right(date(),2) &"_"& right(timestamp,4) ' 15자리
'response.write Oid
' 주문번호만들기 (방법3) by 2014-09-25
https://www.happyjung.com/lecture/1168
' md5 암호화와 timestamp 를 이용한 방법
%>
</head>
<body>
<form name="hpwrite" method="POST" action="pay.asp">
<!-- 여기부터 데이콤 필수코드 -->
<input type="hidden" name="oid" value="<% response.write Oid %>">
<!-- 여기까지 데이콤 필수코드 -->
<input name="Iamount" type="hidden" value="<%=Iamount%>">
<input name="gubun" type="hidden" value="신용카드">
<table width="300" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>신청자 이름</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>상품명</td>
<td><input type="text" name="productinfo"></td>
</tr>
<tr>
<td>가격</td>
<td><input type="text" name="price"></td>
</tr>
<tr>
<td>E-mail</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="결제"></td>
</tr>
</table>
</form>
</body>
</html>
2. pay.asp 결제정보 확인하기 ( 앞에서 요기로 상품 가격이 넘어와야함 )
<!-- #include virtual="/LGU_XPayLite_ASP/inc/md5.asp" -->
<meta http-equiv="Cache-Control" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
<meta http-equiv="Pragma" content="no-cache"/>
<%
LGD_OID = trim(request("oid"))
LGD_AMOUNT = trim(request("f_amount"))
LGD_BUYER = trim(request("f_names"))
LGD_BUYEREMAIL = trim(request("f_mail"))
LGD_PRODUCTINFO = trim(request("f_product"))
LGD_BUYERID = "" '구매자 아이디
LGD_BUYERIP = request.ServerVariables("REMOTE_ADDR") '구매자IP
platform = "service"
CST_MID = "상점아이디"
LGD_MERTKEY = "상점고유키"
'/*
' * [상점결제요청 페이지(ActiveX)]
' *
' * 기본 파라미터만 예시되어 있으며, 별도로 필요하신 파라미터는 연동메뉴얼을 참고하시어 추가하시기 바랍니다.
' * hashdata 암호화는 거래 위변조를 막기위한 방법입니다.
' *
' */
'/*
' * 1. 기본결제정보 변경
' *
' * 결제기본정보를 변경하여 주시기 바랍니다.
' */
platform = platform 'LG유플러스 결제서비스 선택(test:테스트, service:서비스)
CST_MID = CST_MID 'LG유플러스으로 부터 발급받으신 상점아이디를 입력하세요.
'테스트 아이디는 't'를 제외하고 입력하세요.
if platform = "test" then '상점아이디(자동생성)
LGD_MID = "t" & CST_MID
else
LGD_MID = CST_MID
end if
LGD_OID = LGD_OID '[반드시 세팅]주문번호(상점정의 유니크한 주문번호를 입력하세요)
LGD_AMOUNT = LGD_AMOUNT '결제금액("," 를 제외한 결제금액을 입력하세요)
LGD_MERTKEY = LGD_MERTKEY '[반드시 세팅]상점MertKey(mertkey는 상점관리자 -> 계약정보 -> 상점정보관리에서 확인하실수 있습니다')
LGD_BUYER = LGD_BUYER '구매자명
LGD_BUYEREMAIL = LGD_BUYEREMAIL '구매자이메일
LGD_PRODUCTINFO = LGD_PRODUCTINFO '상품명
LGD_TIMESTAMP = LGD_TIMESTAMP '타임스탬프
LGD_CUSTOM_SKIN = "red" '상점정의 결제창 스킨 (red, purple, yellow)
LGD_WINDOW_VER = "2.5" '결제창 버젼
LGD_BUYERID = LGD_BUYERID '구매자 아이디
LGD_BUYERIP = LGD_BUYERIP '구매자IP
'/*
' * 2. 결제결과 DB처리 페이지 링크 변경
' *
' * LGD_NOTEURL : 상점결제결과 처리(DB) 페이지 URL을 넘겨주세요.
' * LGD_CASNOTEURL : 가상계좌(무통장) 결제 연동을 하시는 경우 아래 LGD_CASNOTEURL 을 설정하여 주시기 바랍니다.
' */
LGD_NOTEURL = "http://www.홈페이지/order_note.asp" '[반드시 세팅] URL을 변경해 주세요
LGD_CASNOTEURL = "http://www.홈페이지/LGU_XPayLite_ASPfree/cas_noteurl.asp" '[가상계좌 사용시 반드시 세팅] URL을 변경해 주세요
'/*
'* 3. hashdata 암호화 (수정하지 마세요)
'*
'* hashdata 암호화 적용( LGD_MID + LGD_OID + LGD_AMOUNT + LGD_TIMESTAMP + LGD_MERTKEY )
'* LGD_MID : 상점아이디
'* LGD_OID : 주문번호
'* LGD_AMOUNT : 금액
'* LGD_TIMESTAMP : 타임스탬프
'* LGD_MERTKEY : 상점키(mertkey)
'*
'* hashdata 검증을 위한
'* LG유플러스에서 발급한 상점키로 반드시변경해 주시기 바랍니다.
'*/
LGD_HASHDATA = md5( LGD_MID & LGD_OID & LGD_AMOUNT & LGD_TIMESTAMP & LGD_MERTKEY )
%>
<script type="text/javascript">
/*
* 결제요청 및 결과화면 처리
*/
function doPay_ActiveX(){
ret = xpay_check(document.getElementById('LGD_PAYINFO'), '<%= platform %>');
if (ret=="00"){ //ActiveX 로딩 성공
var LGD_RESPCODE = dpop.getData('LGD_RESPCODE'); //결과코드
var LGD_RESPMSG = dpop.getData('LGD_RESPMSG'); //결과메세지
if( "0000" == LGD_RESPCODE ) { //결제성공
var LGD_TID = dpop.getData('LGD_TID'); //LG유플러스 거래번호
var LGD_OID = dpop.getData('LGD_OID'); //주문번호
var LGD_PAYTYPE = dpop.getData('LGD_PAYTYPE'); //결제수단
var LGD_PAYDATE = dpop.getData('LGD_PAYDATE'); //결제일자
var LGD_FINANCECODE = dpop.getData('LGD_FINANCECODE'); //결제기관코드
var LGD_FINANCENAME = dpop.getData('LGD_FINANCENAME'); //결제기관이름
var LGD_FINANCEAUTHNUM = dpop.getData('LGD_FINANCEAUTHNUM'); //결제사승인번호
var LGD_ACCOUNTNUM = dpop.getData('LGD_ACCOUNTNUM'); //입금할 계좌 (가상계좌)
var LGD_BUYER = dpop.getData('LGD_BUYER'); //구매자명
var LGD_PRODUCTINFO = dpop.getData('LGD_PRODUCTINFO'); //상품명
var LGD_AMOUNT = dpop.getData('LGD_AMOUNT'); //결제금액
var LGD_NOTEURL_RESULT = dpop.getData('LGD_NOTEURL_RESULT'); //상점DB처리(LGD_NOTEURL)결과 ('OK':정상,그외:실패)
//메뉴얼의 결제결과 파라미터내용을 참고하시어 필요하신 파라미터를 추가하여 사용하시기 바랍니다.
var msg = "결제결과 : " + LGD_RESPMSG + "\n";
msg += "LG유플러스거래TID : " + LGD_TID +"\n";
if( LGD_NOTEURL_RESULT != "null" ) msg += LGD_NOTEURL_RESULT +"\n";
alert(msg);
document.getElementById('LGD_RESPCODE').value = LGD_RESPCODE;
document.getElementById('LGD_RESPMSG').value = LGD_RESPMSG;
document.getElementById('LGD_TID').value = LGD_TID;
document.getElementById('LGD_OID').value = LGD_OID;
document.getElementById('LGD_PAYTYPE').value = LGD_PAYTYPE;
document.getElementById('LGD_PAYDATE').value = LGD_PAYDATE;
document.getElementById('LGD_FINANCECODE').value = LGD_FINANCECODE;
document.getElementById('LGD_FINANCENAME').value = LGD_FINANCENAME;
document.getElementById('LGD_FINANCEAUTHNUM').value = LGD_FINANCEAUTHNUM;
document.getElementById('LGD_ACCOUNTNUM').value = LGD_ACCOUNTNUM;
document.getElementById('LGD_BUYER').value = LGD_BUYER;
document.getElementById('LGD_PRODUCTINFO').value = LGD_PRODUCTINFO;
document.getElementById('LGD_AMOUNT').value = LGD_AMOUNT;
document.getElementById('LGD_PAYINFO').submit();
} else { //결제실패
alert("결제가 실패하였습니다. " + LGD_RESPMSG);
}
} else {
alert("LG U+ 전자결제를 위한 XPayPlugin 모듈이 설치되지 않았습니다.");
/*
* 인증실패 화면 처리
*/
xpay_showInstall(); //설치안내 팝업페이지 표시 코드 추가
}
}
</script>
<form action="pay_insert.asp" method="post" name="LGD_PAYINFO" id="LGD_PAYINFO">
<input type="hidden" name="CST_MID" value="<%=CST_MID%>">
<input type="hidden" name="LGD_MERTKEY" value="<%=LGD_MERTKEY%>">
<input type="hidden" name="platform" value="<%=platform%>">
<input type="hidden" name="LGD_TIMESTAMP" value="<%=oid_timestamp%>">
<input type="hidden" name="oid" value="<%=oid_timestamp%>">
<input type="hidden" name="gubun" value="<%=gubun%>">
<img src="pay.gif" alt="결제하기" onclick="doPay_ActiveX()" style="cursor:pointer;">
<input type="hidden" name="LGD_MID" id = 'LGD_MID' value="<%= LGD_MID %>"/> <!-- 상점아이디 -->
<input type="hidden" name="LGD_OID" id = 'LGD_OID' value="<%= LGD_OID %>"/> <!-- 주문번호 -->
<input type="hidden" name="LGD_BUYER" id = 'LGD_BUYER' value="<%= LGD_BUYER %>"/> <!-- 구매자 -->
<input type="hidden" name="LGD_PRODUCTINFO" id = 'LGD_PRODUCTINFO' value="<%= LGD_PRODUCTINFO %>"/> <!-- 상품정보 -->
<input type="hidden" name="LGD_AMOUNT" id = 'LGD_AMOUNT' value="<%= LGD_AMOUNT %>"/> <!-- 결제금액 -->
<input type="hidden" name="LGD_BUYEREMAIL" id = 'LGD_BUYEREMAIL' value="<%= LGD_BUYEREMAIL %>"/> <!-- 구매자 이메일 -->
<input type="hidden" name="LGD_CUSTOM_SKIN" id = 'LGD_CUSTOM_SKIN' value="<%= LGD_CUSTOM_SKIN %>"/> <!-- 결제창 SKIN -->
<input type="hidden" name="LGD_TIMESTAMP" id = 'LGD_TIMESTAMP' value="<%= LGD_TIMESTAMP %>"/> <!-- 타임스탬프 -->
<input type="hidden" name="LGD_HASHDATA" id = 'LGD_HASHDATA' value="<%= LGD_HASHDATA %>"/> <!-- MD5 해쉬암호값 -->
<input type="hidden" name="LGD_NOTEURL" id = 'LGD_NOTEURL' value="<%= LGD_NOTEURL %>"/> <!-- 결제결과 수신페이지 URL -->
<input type="hidden" name="LGD_VERSION" id = 'LGD_VERSION' value="ASP_XPay_lite_2.5"/> <!-- 버전정보 (삭제하지 마세요) -->
<input type="hidden" name="LGD_WINDOW_VER" id = 'LGD_WINDOW_VER' value="<%= LGD_WINDOW_VER %>"> <!-- 결제창버전정보 (삭제하지 마세요) -->
<input type="hidden" name="LGD_BUYERIP" id = 'LGD_BUYERIP' value="<%= LGD_BUYERIP %>"> <!-- 구매자IP -->
<input type="hidden" name="LGD_BUYERID" id = 'LGD_BUYERID' value="<%= LGD_BUYERID %>"> <!-- 구매자ID -->
<input type="hidden" name="LGD_TID" id = 'LGD_TID' value=""/>
<input type="hidden" name="LGD_PAYTYPE" id = 'LGD_PAYTYPE' value=""/>
<input type="hidden" name="LGD_PAYDATE" id = 'LGD_PAYDATE' value=""/>
<input type="hidden" name="LGD_FINANCECODE" id = 'LGD_FINANCECODE' value=""/>
<input type="hidden" name="LGD_FINANCENAME" id = 'LGD_FINANCENAME' value=""/>
<input type="hidden" name="LGD_FINANCEAUTHNUM" id = 'LGD_FINANCEAUTHNUM' value=""/>
<input type="hidden" name="LGD_ACCOUNTNUM" id = 'LGD_ACCOUNTNUM' value=""/>
<input type="hidden" name="LGD_RESPCODE" id = 'LGD_RESPCODE' value=""/>
<input type="hidden" name="LGD_RESPMSG" id = 'LGD_RESPMSG' value=""/>
<!-- 가상계좌(무통장) 결제연동을 하시는 경우 주석을 반드시 해제 하시기 바랍니다. -->
<!-- <input type="hidden" name="LGD_CASNOTEURL" id = 'LGD_CASNOTEURL' value="http://상점URL/cas_noteurl.asp"/> -->
</form>
<!-- xpay.js는 반드시 body 밑에 두시기 바랍니다. -->
<!-- UTF-8 인코딩 사용 시는 xpay.js 대신 xpay_utf-8.js 을 호출하시기 바랍니다.-->
<%
protocol = "http"
If request.serverVariables("SERVER_PORT") = "443" Then protocol = "https"
if platform = "test" then
port = "7080"
If request.serverVariables("SERVER_PORT") = "443" Then port = "7443"
Response.Write "<script language='javascript' src='"& protocol &"://xpay.uplus.co.kr:" & port & "/xpay/js/xpay_ub_utf-8.js' type='text/javascript'>"
else
Response.Write "<script language='javascript' src='"& protocol &"://xpay.uplus.co.kr/xpay/js/xpay_ub_utf-8.js' type='text/javascript'>"
end if
%>
</script>
3. pay_note.asp
<!-- #include virtual="/LGU_XPayLite_ASP/inc/md5.asp" -->
<%
'/*
'* [상점 결제결과처리(DB) 페이지]
'*
'* 1) 위변조 방지를 위한 hashdata값 검증은 반드시 적용하셔야 합니다.
'*
'*/
'/*
'* 공통결제결과 정보
'*/
Dim LGD_RESPCODE ' 응답코드: 0000(성공) 그외 실패
Dim LGD_RESPMSG ' 응답메세지
Dim LGD_MID ' 상점아이디
Dim LGD_OID ' 주문번호
Dim LGD_AMOUNT ' 거래금액
Dim LGD_TID ' LG유플러스에서 부여한 거래번호
Dim LGD_PAYTYPE ' 결제수단코드
Dim LGD_PAYDATE ' 거래일시(승인일시/이체일시)
Dim LGD_HASHDATA ' 해쉬값
Dim LGD_FINANCECODE ' 결제기관코드(카드종류/은행코드/이통사코드)
Dim LGD_FINANCENAME ' 결제기관이름(카드이름/은행이름/이통사이름)
Dim LGD_ESCROWYN ' 에스크로 적용여부
Dim LGD_TIMESTAMP ' 타임스탬프
Dim LGD_FINANCEAUTHNUM ' 결제기관 승인번호(신용카드, 계좌이체, 상품권)
'/*
'* 신용카드 결제결과 정보
'*/
Dim LGD_CARDNUM ' 카드번호(신용카드)
Dim LGD_CARDINSTALLMONTH ' 할부개월수(신용카드)
Dim LGD_CARDNOINTYN ' 무이자할부여부(신용카드) - '1'이면 무이자할부 '0'이면 일반할부
Dim LGD_TRANSAMOUNT ' 환율적용금액(신용카드)
Dim LGD_EXCHANGERATE ' 환율(신용카드)
'/*
'* 휴대폰
'*/
Dim LGD_PAYTELNUM ' 결제에 이용된전화번호
'/*
'* 계좌이체, 무통장
'*/
Dim LGD_ACCOUNTNUM ' 계좌번호(계좌이체, 무통장입금)
Dim LGD_CASTAMOUNT ' 입금총액(무통장입금)
Dim LGD_CASCAMOUNT ' 현입금액(무통장입금)
Dim LGD_CASFLAG ' 무통장입금 플래그(무통장입금) - 'R':계좌할당, 'I':입금, 'C':입금취소
Dim LGD_CASSEQNO ' 입금순서(무통장입금)
Dim LGD_CASHRECEIPTNUM ' 현금영수증 승인번호
Dim LGD_CASHRECEIPTSELFYN ' 현금영수증자진발급제유무 Y: 자진발급제 적용, 그외 : 미적용
Dim LGD_CASHRECEIPTKIND ' 현금영수증 종류 0: 소득공제용 , 1: 지출증빙용
'/*
'* OK캐쉬백
'*/
Dim LGD_OCBSAVEPOINT ' OK캐쉬백 적립포인트
Dim LGD_OCBTOTALPOINT ' OK캐쉬백 누적포인트
Dim LGD_OCBUSABLEPOINT ' OK캐쉬백 사용가능 포인트
'/*
'* 구매정보
'*/
Dim LGD_BUYER ' 구매자
Dim LGD_PRODUCTINFO ' 상품명
Dim LGD_BUYERID ' 구매자 ID
Dim LGD_BUYERADDRESS ' 구매자 주소
Dim LGD_BUYERPHONE ' 구매자 전화번호
Dim LGD_BUYEREMAIL ' 구매자 이메일
Dim LGD_BUYERSSN ' 구매자 주민번호
Dim LGD_PRODUCTCODE ' 상품코드
Dim LGD_RECEIVER ' 수취인
Dim LGD_RECEIVERPHONE ' 수취인 전화번호
Dim LGD_DELIVERYINFO ' 배송지
Dim LGD_MERTKEY ' LG유플러스 제공 mertkey
Dim resultMSG ' 결과처리 메시지
LGD_RESPCODE = trim(request("LGD_RESPCODE"))
LGD_RESPMSG = trim(request("LGD_RESPMSG"))
LGD_MID = trim(request("LGD_MID"))
LGD_OID = trim(request("LGD_OID"))
LGD_AMOUNT = trim(request("LGD_AMOUNT"))
LGD_TID = trim(request("LGD_TID"))
LGD_PAYTYPE = trim(request("LGD_PAYTYPE"))
LGD_PAYDATE = trim(request("LGD_PAYDATE"))
LGD_HASHDATA = trim(request("LGD_HASHDATA"))
LGD_FINANCECODE = trim(request("LGD_FINANCECODE"))
LGD_FINANCENAME = trim(request("LGD_FINANCENAME"))
LGD_ESCROWYN = trim(request("LGD_ESCROWYN"))
LGD_TRANSAMOUNT = trim(request("LGD_TRANSAMOUNT"))
LGD_EXCHANGERATE = trim(request("LGD_EXCHANGERATE"))
LGD_CARDNUM = trim(request("LGD_CARDNUM"))
LGD_CARDINSTALLMONTH = trim(request("LGD_CARDINSTALLMONTH"))
LGD_CARDNOINTYN = trim(request("LGD_CARDNOINTYN"))
LGD_TIMESTAMP = trim(request("LGD_TIMESTAMP"))
LGD_FINANCEAUTHNUM = trim(request("LGD_FINANCEAUTHNUM"))
LGD_PAYTELNUM = trim(request("LGD_PAYTELNUM"))
LGD_ACCOUNTNUM = trim(request("LGD_ACCOUNTNUM"))
LGD_CASTAMOUNT = trim(request("LGD_CASTAMOUNT"))
LGD_CASCAMOUNT = trim(request("LGD_CASCAMOUNT"))
LGD_CASFLAG = trim(request("LGD_CASFLAG"))
LGD_CASSEQNO = trim(request("LGD_CASSEQNO"))
LGD_CASHRECEIPTNUM = trim(request("LGD_CASHRECEIPTNUM"))
LGD_CASHRECEIPTSELFYN = trim(request("LGD_CASHRECEIPTSELFYN"))
LGD_CASHRECEIPTKIND = trim(request("LGD_CASHRECEIPTKIND"))
LGD_OCBSAVEPOINT = trim(request("LGD_OCBSAVEPOINT"))
LGD_OCBTOTALPOINT = trim(request("LGD_OCBTOTALPOINT"))
LGD_OCBUSABLEPOINT = trim(request("LGD_OCBUSABLEPOINT"))
LGD_BUYER = trim(request("LGD_BUYER"))
LGD_PRODUCTINFO = trim(request("LGD_PRODUCTINFO"))
LGD_BUYERID = trim(request("LGD_BUYERID"))
LGD_BUYERADDRESS = trim(request("LGD_BUYERADDRESS"))
LGD_BUYERPHONE = trim(request("LGD_BUYERPHONE"))
LGD_BUYEREMAIL = trim(request("LGD_BUYEREMAIL"))
LGD_BUYERSSN = trim(request("LGD_BUYERSSN"))
LGD_PRODUCTCODE = trim(request("LGD_PRODUCTCODE"))
LGD_RECEIVER = trim(request("LGD_RECEIVER"))
LGD_RECEIVERPHONE = trim(request("LGD_RECEIVERPHONE"))
LGD_DELIVERYINFO = trim(request("LGD_DELIVERYINFO"))
'/*
'* hashdata 검증을 위한 mertkey는 상점관리자 -> 계약정보 -> 상점정보관리에서 확인하실수 있습니다.
'* LG유플러스에서 발급한 상점키로 반드시변경해 주시기 바랍니다.
'*/
LGD_MERTKEY = "******" '[반드시 세팅] mertkey
LGD_HASHDATA2 = md5(LGD_MID & LGD_OID & LGD_AMOUNT & LGD_RESPCODE & LGD_TIMESTAMP & LGD_MERTKEY)
'/*
'* 상점 처리결과 리턴메세지
'*
'* OK : 상점 처리결과 성공
'* 그외 : 상점 처리결과 실패
'*
'* ※ 주의사항 : 성공시 'OK' 문자이외의 다른문자열이 포함되면 실패처리 되오니 주의하시기 바랍니다.
'*/
resultMSG = "OK" '상점결과 리턴메세지
if (LGD_HASHDATA2 = LGD_HASHDATA) then
if (LGD_RESPCODE = "0000") then
'/*
'* 거래성공 결과 상점 처리(DB) 부분
'* 상점 결과 처리가 정상이면 "OK"
'*/
'if( 결제성공 상점처리결과 성공 )
resultMSG = "OK"
else
'/*
'* 거래실패 결과 상점 처리(DB) 부분
'* 상점결과 처리가 정상이면 "OK"
'*/
'if( 결제실패 상점처리결과 성공 )
resultMSG = "NO"
end if
else
'/*
'* hashdata검증 실패 로그를 처리하시기 바랍니다.
'*/
'resultMSG = "결제결과 상점 DB처리(NOTE_URL) 해쉬값 검증이 실패하였습니다."
end if
Response.Write(resultMSG)
%>
4. pay_insert.asp
<%
oid = sqlCheck(request("oid")) '주문번호
gubun = sqlCheck(request("gubun")) '주문종류
LGD_FINANCENAME = request("LGD_FINANCENAME") ' 결재수단
LGD_TID = request("LGD_TID") ' 거래번호
transaction_card = LGD_TID '신용카드 거래번호 (승인번호?)
if gubun = "온라인입금" then
cmode = "OK"
status="0"
else
if oid = "" then
cmode = "NO"
resultMSG = "NO"
else
cmode = ""
sql = "select * from bizsendsof where oid = '"& oid &"' "
set rs = Server.CreateObject("ADODB.Recordset")
if request.ServerVariables("REMOTE_ADDR") = "내컴퓨터IP" then
'response.write "SQL = "& SQL &"<br>"
end if
rs.open sql,dbcon,1
if not rs.EOF or not rs.BOF then ' 자료가 없을때
LGD_TID = trim(request("LGD_TID")) 'LG유플러스 거래번호
LGD_OID = trim(request("LGD_OID")) '주문번호
LGD_PAYTYPE = trim(request("LGD_PAYTYPE")) '결제수단
LGD_PAYDATE = trim(request("LGD_PAYDATE")) '결제일자
LGD_FINANCECODE = trim(request("LGD_FINANCECODE")) '결제기관코드
LGD_FINANCENAME = trim(request("LGD_FINANCENAME")) '결제기관이름
LGD_FINANCEAUTHNUM = trim(request("LGD_FINANCEAUTHNUM")) '결제사승인번호
LGD_ACCOUNTNUM = trim(request("LGD_ACCOUNTNUM")) '입금할 계좌 (가상계좌)
LGD_BUYER = trim(request("LGD_BUYER")) '구매자명
LGD_PRODUCTINFO = trim(request("LGD_PRODUCTINFO")) '상품명
LGD_AMOUNT = trim(request("LGD_AMOUNT")) '결제금액
LGD_RESPCODE = trim(request("LGD_RESPCODE")) '결과코드
LGD_RESPMSG = trim(request("LGD_RESPMSG")) '결과메세지
if transaction_card = "" then
transaction_card = LGD_TID
end if
status="1"
amount = LGD_AMOUNT
If LGD_PAYTYPE = "SC0010" Then '신용카드 결제시
gubun = "카드결제"
banks = LGD_FINANCENAME
'banksnames = LGD_FINANCEAUTHNUM
banksnames = LGD_BUYER
ElseIf LGD_PAYTYPE = "SC0030" Then '계좌이체 결제시
gubun = "계좌이체"
'banksnames = LGD_FINANCENAME
banksnames = LGD_BUYER
ElseIf LGD_PAYTYPE = "SC0040" Then '가상계좌 결제시 (할당)
gubun = "가상계좌"
banks = LGD_FINANCENAME
'banksnames = LGD_ACCOUNTNUM
banksnames = LGD_BUYER
Else '기타 결제시
gubun = "휴대폰결제"
banks = LGD_FINANCENAME
'banksnames = LGD_FINANCEAUTHNUM
banksnames = LGD_BUYER
End if
If LGD_RESPCODE = "0000" Then '결제성공시
cmode = "OK"
else
cmode = "NO"
end if
'response.write "LGD_TID = "& LGD_TID &"<br>"
else
cmode = "NO"
end if
set rs=nothing
end if
end if
if request.ServerVariables("REMOTE_ADDR") = "내컴퓨터아이피" then
'response.write "cmode = "& cmode &"<br>"
end if
if cmode = "OK" then
sql = "insert into 테이블 (gubun, amount, oid) values ('"& gubun &"', '"& amount &"', '"& oid &"')"
if request.ServerVariables("REMOTE_ADDR") = "내컴퓨터아이피" then
'response.write "sql = "& sql & "<br>"
end if
'response.end
Con.Execute sql
end if
If Trim(gubun) = "온라인입금" Then
alert "입금신청 되었습니다.","sub9.asp"
Else
alert "결제완료 되었습니다.","sub9.asp"
End If
%>
구버전 :
신버전 : http://pgweb.uplus.co.kr:8080/pg/wmp/Home2009/skill/module_info05.jsp
2011-06-11 Date.getYear() 함수 를 getFullYear() 로 변경
이유는 https://www.happyjung.com/lecture/1016 에서 확인
2017-03-14 IE, 크롬, 사파리, 파이어폭스, 오페라 결제 가능 모듈로 변경
1. form.asp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<%
' 주문번호 만들기 (방법2) by 2011-06-11
dim Oid, timestamp
timestamp = DateDiff("s", 1970-1-1, now()) + (9*60*60) ' 10자리
'뒤에 (9*60*60)을 더해준 이유는 오전 9시가 기준이기 때문에 더해준겁니다.
'response.write timestamp &"<br>"
oid = left(date(),4) & mid(date(),6,2) & right(date(),2) &"_"& right(timestamp,4) ' 15자리
'response.write Oid
' 주문번호만들기 (방법3) by 2014-09-25
https://www.happyjung.com/lecture/1168
' md5 암호화와 timestamp 를 이용한 방법
%>
</head>
<body>
<form name="hpwrite" method="POST" action="pay.asp">
<!-- 여기부터 데이콤 필수코드 -->
<input type="hidden" name="oid" value="<% response.write Oid %>">
<!-- 여기까지 데이콤 필수코드 -->
<input name="Iamount" type="hidden" value="<%=Iamount%>">
<input name="gubun" type="hidden" value="신용카드">
<table width="300" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>신청자 이름</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>상품명</td>
<td><input type="text" name="productinfo"></td>
</tr>
<tr>
<td>가격</td>
<td><input type="text" name="price"></td>
</tr>
<tr>
<td>E-mail</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="결제"></td>
</tr>
</table>
</form>
</body>
</html>
2. pay.asp 결제정보 확인하기 ( 앞에서 요기로 상품 가격이 넘어와야함 )
<!-- #include virtual="/LGU_XPayLite_ASP/inc/md5.asp" -->
<meta http-equiv="Cache-Control" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
<meta http-equiv="Pragma" content="no-cache"/>
<%
LGD_OID = trim(request("oid"))
LGD_AMOUNT = trim(request("f_amount"))
LGD_BUYER = trim(request("f_names"))
LGD_BUYEREMAIL = trim(request("f_mail"))
LGD_PRODUCTINFO = trim(request("f_product"))
LGD_BUYERID = "" '구매자 아이디
LGD_BUYERIP = request.ServerVariables("REMOTE_ADDR") '구매자IP
platform = "service"
CST_MID = "상점아이디"
LGD_MERTKEY = "상점고유키"
'/*
' * [상점결제요청 페이지(ActiveX)]
' *
' * 기본 파라미터만 예시되어 있으며, 별도로 필요하신 파라미터는 연동메뉴얼을 참고하시어 추가하시기 바랍니다.
' * hashdata 암호화는 거래 위변조를 막기위한 방법입니다.
' *
' */
'/*
' * 1. 기본결제정보 변경
' *
' * 결제기본정보를 변경하여 주시기 바랍니다.
' */
platform = platform 'LG유플러스 결제서비스 선택(test:테스트, service:서비스)
CST_MID = CST_MID 'LG유플러스으로 부터 발급받으신 상점아이디를 입력하세요.
'테스트 아이디는 't'를 제외하고 입력하세요.
if platform = "test" then '상점아이디(자동생성)
LGD_MID = "t" & CST_MID
else
LGD_MID = CST_MID
end if
LGD_OID = LGD_OID '[반드시 세팅]주문번호(상점정의 유니크한 주문번호를 입력하세요)
LGD_AMOUNT = LGD_AMOUNT '결제금액("," 를 제외한 결제금액을 입력하세요)
LGD_MERTKEY = LGD_MERTKEY '[반드시 세팅]상점MertKey(mertkey는 상점관리자 -> 계약정보 -> 상점정보관리에서 확인하실수 있습니다')
LGD_BUYER = LGD_BUYER '구매자명
LGD_BUYEREMAIL = LGD_BUYEREMAIL '구매자이메일
LGD_PRODUCTINFO = LGD_PRODUCTINFO '상품명
LGD_TIMESTAMP = LGD_TIMESTAMP '타임스탬프
LGD_CUSTOM_SKIN = "red" '상점정의 결제창 스킨 (red, purple, yellow)
LGD_WINDOW_VER = "2.5" '결제창 버젼
LGD_BUYERID = LGD_BUYERID '구매자 아이디
LGD_BUYERIP = LGD_BUYERIP '구매자IP
'/*
' * 2. 결제결과 DB처리 페이지 링크 변경
' *
' * LGD_NOTEURL : 상점결제결과 처리(DB) 페이지 URL을 넘겨주세요.
' * LGD_CASNOTEURL : 가상계좌(무통장) 결제 연동을 하시는 경우 아래 LGD_CASNOTEURL 을 설정하여 주시기 바랍니다.
' */
LGD_NOTEURL = "http://www.홈페이지/order_note.asp" '[반드시 세팅] URL을 변경해 주세요
LGD_CASNOTEURL = "http://www.홈페이지/LGU_XPayLite_ASPfree/cas_noteurl.asp" '[가상계좌 사용시 반드시 세팅] URL을 변경해 주세요
'/*
'* 3. hashdata 암호화 (수정하지 마세요)
'*
'* hashdata 암호화 적용( LGD_MID + LGD_OID + LGD_AMOUNT + LGD_TIMESTAMP + LGD_MERTKEY )
'* LGD_MID : 상점아이디
'* LGD_OID : 주문번호
'* LGD_AMOUNT : 금액
'* LGD_TIMESTAMP : 타임스탬프
'* LGD_MERTKEY : 상점키(mertkey)
'*
'* hashdata 검증을 위한
'* LG유플러스에서 발급한 상점키로 반드시변경해 주시기 바랍니다.
'*/
LGD_HASHDATA = md5( LGD_MID & LGD_OID & LGD_AMOUNT & LGD_TIMESTAMP & LGD_MERTKEY )
%>
<script type="text/javascript">
/*
* 결제요청 및 결과화면 처리
*/
function doPay_ActiveX(){
ret = xpay_check(document.getElementById('LGD_PAYINFO'), '<%= platform %>');
if (ret=="00"){ //ActiveX 로딩 성공
var LGD_RESPCODE = dpop.getData('LGD_RESPCODE'); //결과코드
var LGD_RESPMSG = dpop.getData('LGD_RESPMSG'); //결과메세지
if( "0000" == LGD_RESPCODE ) { //결제성공
var LGD_TID = dpop.getData('LGD_TID'); //LG유플러스 거래번호
var LGD_OID = dpop.getData('LGD_OID'); //주문번호
var LGD_PAYTYPE = dpop.getData('LGD_PAYTYPE'); //결제수단
var LGD_PAYDATE = dpop.getData('LGD_PAYDATE'); //결제일자
var LGD_FINANCECODE = dpop.getData('LGD_FINANCECODE'); //결제기관코드
var LGD_FINANCENAME = dpop.getData('LGD_FINANCENAME'); //결제기관이름
var LGD_FINANCEAUTHNUM = dpop.getData('LGD_FINANCEAUTHNUM'); //결제사승인번호
var LGD_ACCOUNTNUM = dpop.getData('LGD_ACCOUNTNUM'); //입금할 계좌 (가상계좌)
var LGD_BUYER = dpop.getData('LGD_BUYER'); //구매자명
var LGD_PRODUCTINFO = dpop.getData('LGD_PRODUCTINFO'); //상품명
var LGD_AMOUNT = dpop.getData('LGD_AMOUNT'); //결제금액
var LGD_NOTEURL_RESULT = dpop.getData('LGD_NOTEURL_RESULT'); //상점DB처리(LGD_NOTEURL)결과 ('OK':정상,그외:실패)
//메뉴얼의 결제결과 파라미터내용을 참고하시어 필요하신 파라미터를 추가하여 사용하시기 바랍니다.
var msg = "결제결과 : " + LGD_RESPMSG + "\n";
msg += "LG유플러스거래TID : " + LGD_TID +"\n";
if( LGD_NOTEURL_RESULT != "null" ) msg += LGD_NOTEURL_RESULT +"\n";
alert(msg);
document.getElementById('LGD_RESPCODE').value = LGD_RESPCODE;
document.getElementById('LGD_RESPMSG').value = LGD_RESPMSG;
document.getElementById('LGD_TID').value = LGD_TID;
document.getElementById('LGD_OID').value = LGD_OID;
document.getElementById('LGD_PAYTYPE').value = LGD_PAYTYPE;
document.getElementById('LGD_PAYDATE').value = LGD_PAYDATE;
document.getElementById('LGD_FINANCECODE').value = LGD_FINANCECODE;
document.getElementById('LGD_FINANCENAME').value = LGD_FINANCENAME;
document.getElementById('LGD_FINANCEAUTHNUM').value = LGD_FINANCEAUTHNUM;
document.getElementById('LGD_ACCOUNTNUM').value = LGD_ACCOUNTNUM;
document.getElementById('LGD_BUYER').value = LGD_BUYER;
document.getElementById('LGD_PRODUCTINFO').value = LGD_PRODUCTINFO;
document.getElementById('LGD_AMOUNT').value = LGD_AMOUNT;
document.getElementById('LGD_PAYINFO').submit();
} else { //결제실패
alert("결제가 실패하였습니다. " + LGD_RESPMSG);
}
} else {
alert("LG U+ 전자결제를 위한 XPayPlugin 모듈이 설치되지 않았습니다.");
/*
* 인증실패 화면 처리
*/
xpay_showInstall(); //설치안내 팝업페이지 표시 코드 추가
}
}
</script>
<form action="pay_insert.asp" method="post" name="LGD_PAYINFO" id="LGD_PAYINFO">
<input type="hidden" name="CST_MID" value="<%=CST_MID%>">
<input type="hidden" name="LGD_MERTKEY" value="<%=LGD_MERTKEY%>">
<input type="hidden" name="platform" value="<%=platform%>">
<input type="hidden" name="LGD_TIMESTAMP" value="<%=oid_timestamp%>">
<input type="hidden" name="oid" value="<%=oid_timestamp%>">
<input type="hidden" name="gubun" value="<%=gubun%>">
<img src="pay.gif" alt="결제하기" onclick="doPay_ActiveX()" style="cursor:pointer;">
<input type="hidden" name="LGD_MID" id = 'LGD_MID' value="<%= LGD_MID %>"/> <!-- 상점아이디 -->
<input type="hidden" name="LGD_OID" id = 'LGD_OID' value="<%= LGD_OID %>"/> <!-- 주문번호 -->
<input type="hidden" name="LGD_BUYER" id = 'LGD_BUYER' value="<%= LGD_BUYER %>"/> <!-- 구매자 -->
<input type="hidden" name="LGD_PRODUCTINFO" id = 'LGD_PRODUCTINFO' value="<%= LGD_PRODUCTINFO %>"/> <!-- 상품정보 -->
<input type="hidden" name="LGD_AMOUNT" id = 'LGD_AMOUNT' value="<%= LGD_AMOUNT %>"/> <!-- 결제금액 -->
<input type="hidden" name="LGD_BUYEREMAIL" id = 'LGD_BUYEREMAIL' value="<%= LGD_BUYEREMAIL %>"/> <!-- 구매자 이메일 -->
<input type="hidden" name="LGD_CUSTOM_SKIN" id = 'LGD_CUSTOM_SKIN' value="<%= LGD_CUSTOM_SKIN %>"/> <!-- 결제창 SKIN -->
<input type="hidden" name="LGD_TIMESTAMP" id = 'LGD_TIMESTAMP' value="<%= LGD_TIMESTAMP %>"/> <!-- 타임스탬프 -->
<input type="hidden" name="LGD_HASHDATA" id = 'LGD_HASHDATA' value="<%= LGD_HASHDATA %>"/> <!-- MD5 해쉬암호값 -->
<input type="hidden" name="LGD_NOTEURL" id = 'LGD_NOTEURL' value="<%= LGD_NOTEURL %>"/> <!-- 결제결과 수신페이지 URL -->
<input type="hidden" name="LGD_VERSION" id = 'LGD_VERSION' value="ASP_XPay_lite_2.5"/> <!-- 버전정보 (삭제하지 마세요) -->
<input type="hidden" name="LGD_WINDOW_VER" id = 'LGD_WINDOW_VER' value="<%= LGD_WINDOW_VER %>"> <!-- 결제창버전정보 (삭제하지 마세요) -->
<input type="hidden" name="LGD_BUYERIP" id = 'LGD_BUYERIP' value="<%= LGD_BUYERIP %>"> <!-- 구매자IP -->
<input type="hidden" name="LGD_BUYERID" id = 'LGD_BUYERID' value="<%= LGD_BUYERID %>"> <!-- 구매자ID -->
<input type="hidden" name="LGD_TID" id = 'LGD_TID' value=""/>
<input type="hidden" name="LGD_PAYTYPE" id = 'LGD_PAYTYPE' value=""/>
<input type="hidden" name="LGD_PAYDATE" id = 'LGD_PAYDATE' value=""/>
<input type="hidden" name="LGD_FINANCECODE" id = 'LGD_FINANCECODE' value=""/>
<input type="hidden" name="LGD_FINANCENAME" id = 'LGD_FINANCENAME' value=""/>
<input type="hidden" name="LGD_FINANCEAUTHNUM" id = 'LGD_FINANCEAUTHNUM' value=""/>
<input type="hidden" name="LGD_ACCOUNTNUM" id = 'LGD_ACCOUNTNUM' value=""/>
<input type="hidden" name="LGD_RESPCODE" id = 'LGD_RESPCODE' value=""/>
<input type="hidden" name="LGD_RESPMSG" id = 'LGD_RESPMSG' value=""/>
<!-- 가상계좌(무통장) 결제연동을 하시는 경우 주석을 반드시 해제 하시기 바랍니다. -->
<!-- <input type="hidden" name="LGD_CASNOTEURL" id = 'LGD_CASNOTEURL' value="http://상점URL/cas_noteurl.asp"/> -->
</form>
<!-- xpay.js는 반드시 body 밑에 두시기 바랍니다. -->
<!-- UTF-8 인코딩 사용 시는 xpay.js 대신 xpay_utf-8.js 을 호출하시기 바랍니다.-->
<%
protocol = "http"
If request.serverVariables("SERVER_PORT") = "443" Then protocol = "https"
if platform = "test" then
port = "7080"
If request.serverVariables("SERVER_PORT") = "443" Then port = "7443"
Response.Write "<script language='javascript' src='"& protocol &"://xpay.uplus.co.kr:" & port & "/xpay/js/xpay_ub_utf-8.js' type='text/javascript'>"
else
Response.Write "<script language='javascript' src='"& protocol &"://xpay.uplus.co.kr/xpay/js/xpay_ub_utf-8.js' type='text/javascript'>"
end if
%>
</script>
3. pay_note.asp
<!-- #include virtual="/LGU_XPayLite_ASP/inc/md5.asp" -->
<%
'/*
'* [상점 결제결과처리(DB) 페이지]
'*
'* 1) 위변조 방지를 위한 hashdata값 검증은 반드시 적용하셔야 합니다.
'*
'*/
'/*
'* 공통결제결과 정보
'*/
Dim LGD_RESPCODE ' 응답코드: 0000(성공) 그외 실패
Dim LGD_RESPMSG ' 응답메세지
Dim LGD_MID ' 상점아이디
Dim LGD_OID ' 주문번호
Dim LGD_AMOUNT ' 거래금액
Dim LGD_TID ' LG유플러스에서 부여한 거래번호
Dim LGD_PAYTYPE ' 결제수단코드
Dim LGD_PAYDATE ' 거래일시(승인일시/이체일시)
Dim LGD_HASHDATA ' 해쉬값
Dim LGD_FINANCECODE ' 결제기관코드(카드종류/은행코드/이통사코드)
Dim LGD_FINANCENAME ' 결제기관이름(카드이름/은행이름/이통사이름)
Dim LGD_ESCROWYN ' 에스크로 적용여부
Dim LGD_TIMESTAMP ' 타임스탬프
Dim LGD_FINANCEAUTHNUM ' 결제기관 승인번호(신용카드, 계좌이체, 상품권)
'/*
'* 신용카드 결제결과 정보
'*/
Dim LGD_CARDNUM ' 카드번호(신용카드)
Dim LGD_CARDINSTALLMONTH ' 할부개월수(신용카드)
Dim LGD_CARDNOINTYN ' 무이자할부여부(신용카드) - '1'이면 무이자할부 '0'이면 일반할부
Dim LGD_TRANSAMOUNT ' 환율적용금액(신용카드)
Dim LGD_EXCHANGERATE ' 환율(신용카드)
'/*
'* 휴대폰
'*/
Dim LGD_PAYTELNUM ' 결제에 이용된전화번호
'/*
'* 계좌이체, 무통장
'*/
Dim LGD_ACCOUNTNUM ' 계좌번호(계좌이체, 무통장입금)
Dim LGD_CASTAMOUNT ' 입금총액(무통장입금)
Dim LGD_CASCAMOUNT ' 현입금액(무통장입금)
Dim LGD_CASFLAG ' 무통장입금 플래그(무통장입금) - 'R':계좌할당, 'I':입금, 'C':입금취소
Dim LGD_CASSEQNO ' 입금순서(무통장입금)
Dim LGD_CASHRECEIPTNUM ' 현금영수증 승인번호
Dim LGD_CASHRECEIPTSELFYN ' 현금영수증자진발급제유무 Y: 자진발급제 적용, 그외 : 미적용
Dim LGD_CASHRECEIPTKIND ' 현금영수증 종류 0: 소득공제용 , 1: 지출증빙용
'/*
'* OK캐쉬백
'*/
Dim LGD_OCBSAVEPOINT ' OK캐쉬백 적립포인트
Dim LGD_OCBTOTALPOINT ' OK캐쉬백 누적포인트
Dim LGD_OCBUSABLEPOINT ' OK캐쉬백 사용가능 포인트
'/*
'* 구매정보
'*/
Dim LGD_BUYER ' 구매자
Dim LGD_PRODUCTINFO ' 상품명
Dim LGD_BUYERID ' 구매자 ID
Dim LGD_BUYERADDRESS ' 구매자 주소
Dim LGD_BUYERPHONE ' 구매자 전화번호
Dim LGD_BUYEREMAIL ' 구매자 이메일
Dim LGD_BUYERSSN ' 구매자 주민번호
Dim LGD_PRODUCTCODE ' 상품코드
Dim LGD_RECEIVER ' 수취인
Dim LGD_RECEIVERPHONE ' 수취인 전화번호
Dim LGD_DELIVERYINFO ' 배송지
Dim LGD_MERTKEY ' LG유플러스 제공 mertkey
Dim resultMSG ' 결과처리 메시지
LGD_RESPCODE = trim(request("LGD_RESPCODE"))
LGD_RESPMSG = trim(request("LGD_RESPMSG"))
LGD_MID = trim(request("LGD_MID"))
LGD_OID = trim(request("LGD_OID"))
LGD_AMOUNT = trim(request("LGD_AMOUNT"))
LGD_TID = trim(request("LGD_TID"))
LGD_PAYTYPE = trim(request("LGD_PAYTYPE"))
LGD_PAYDATE = trim(request("LGD_PAYDATE"))
LGD_HASHDATA = trim(request("LGD_HASHDATA"))
LGD_FINANCECODE = trim(request("LGD_FINANCECODE"))
LGD_FINANCENAME = trim(request("LGD_FINANCENAME"))
LGD_ESCROWYN = trim(request("LGD_ESCROWYN"))
LGD_TRANSAMOUNT = trim(request("LGD_TRANSAMOUNT"))
LGD_EXCHANGERATE = trim(request("LGD_EXCHANGERATE"))
LGD_CARDNUM = trim(request("LGD_CARDNUM"))
LGD_CARDINSTALLMONTH = trim(request("LGD_CARDINSTALLMONTH"))
LGD_CARDNOINTYN = trim(request("LGD_CARDNOINTYN"))
LGD_TIMESTAMP = trim(request("LGD_TIMESTAMP"))
LGD_FINANCEAUTHNUM = trim(request("LGD_FINANCEAUTHNUM"))
LGD_PAYTELNUM = trim(request("LGD_PAYTELNUM"))
LGD_ACCOUNTNUM = trim(request("LGD_ACCOUNTNUM"))
LGD_CASTAMOUNT = trim(request("LGD_CASTAMOUNT"))
LGD_CASCAMOUNT = trim(request("LGD_CASCAMOUNT"))
LGD_CASFLAG = trim(request("LGD_CASFLAG"))
LGD_CASSEQNO = trim(request("LGD_CASSEQNO"))
LGD_CASHRECEIPTNUM = trim(request("LGD_CASHRECEIPTNUM"))
LGD_CASHRECEIPTSELFYN = trim(request("LGD_CASHRECEIPTSELFYN"))
LGD_CASHRECEIPTKIND = trim(request("LGD_CASHRECEIPTKIND"))
LGD_OCBSAVEPOINT = trim(request("LGD_OCBSAVEPOINT"))
LGD_OCBTOTALPOINT = trim(request("LGD_OCBTOTALPOINT"))
LGD_OCBUSABLEPOINT = trim(request("LGD_OCBUSABLEPOINT"))
LGD_BUYER = trim(request("LGD_BUYER"))
LGD_PRODUCTINFO = trim(request("LGD_PRODUCTINFO"))
LGD_BUYERID = trim(request("LGD_BUYERID"))
LGD_BUYERADDRESS = trim(request("LGD_BUYERADDRESS"))
LGD_BUYERPHONE = trim(request("LGD_BUYERPHONE"))
LGD_BUYEREMAIL = trim(request("LGD_BUYEREMAIL"))
LGD_BUYERSSN = trim(request("LGD_BUYERSSN"))
LGD_PRODUCTCODE = trim(request("LGD_PRODUCTCODE"))
LGD_RECEIVER = trim(request("LGD_RECEIVER"))
LGD_RECEIVERPHONE = trim(request("LGD_RECEIVERPHONE"))
LGD_DELIVERYINFO = trim(request("LGD_DELIVERYINFO"))
'/*
'* hashdata 검증을 위한 mertkey는 상점관리자 -> 계약정보 -> 상점정보관리에서 확인하실수 있습니다.
'* LG유플러스에서 발급한 상점키로 반드시변경해 주시기 바랍니다.
'*/
LGD_MERTKEY = "******" '[반드시 세팅] mertkey
LGD_HASHDATA2 = md5(LGD_MID & LGD_OID & LGD_AMOUNT & LGD_RESPCODE & LGD_TIMESTAMP & LGD_MERTKEY)
'/*
'* 상점 처리결과 리턴메세지
'*
'* OK : 상점 처리결과 성공
'* 그외 : 상점 처리결과 실패
'*
'* ※ 주의사항 : 성공시 'OK' 문자이외의 다른문자열이 포함되면 실패처리 되오니 주의하시기 바랍니다.
'*/
resultMSG = "OK" '상점결과 리턴메세지
if (LGD_HASHDATA2 = LGD_HASHDATA) then
if (LGD_RESPCODE = "0000") then
'/*
'* 거래성공 결과 상점 처리(DB) 부분
'* 상점 결과 처리가 정상이면 "OK"
'*/
'if( 결제성공 상점처리결과 성공 )
resultMSG = "OK"
else
'/*
'* 거래실패 결과 상점 처리(DB) 부분
'* 상점결과 처리가 정상이면 "OK"
'*/
'if( 결제실패 상점처리결과 성공 )
resultMSG = "NO"
end if
else
'/*
'* hashdata검증 실패 로그를 처리하시기 바랍니다.
'*/
'resultMSG = "결제결과 상점 DB처리(NOTE_URL) 해쉬값 검증이 실패하였습니다."
end if
Response.Write(resultMSG)
%>
4. pay_insert.asp
<%
oid = sqlCheck(request("oid")) '주문번호
gubun = sqlCheck(request("gubun")) '주문종류
LGD_FINANCENAME = request("LGD_FINANCENAME") ' 결재수단
LGD_TID = request("LGD_TID") ' 거래번호
transaction_card = LGD_TID '신용카드 거래번호 (승인번호?)
if gubun = "온라인입금" then
cmode = "OK"
status="0"
else
if oid = "" then
cmode = "NO"
resultMSG = "NO"
else
cmode = ""
sql = "select * from bizsendsof where oid = '"& oid &"' "
set rs = Server.CreateObject("ADODB.Recordset")
if request.ServerVariables("REMOTE_ADDR") = "내컴퓨터IP" then
'response.write "SQL = "& SQL &"<br>"
end if
rs.open sql,dbcon,1
if not rs.EOF or not rs.BOF then ' 자료가 없을때
LGD_TID = trim(request("LGD_TID")) 'LG유플러스 거래번호
LGD_OID = trim(request("LGD_OID")) '주문번호
LGD_PAYTYPE = trim(request("LGD_PAYTYPE")) '결제수단
LGD_PAYDATE = trim(request("LGD_PAYDATE")) '결제일자
LGD_FINANCECODE = trim(request("LGD_FINANCECODE")) '결제기관코드
LGD_FINANCENAME = trim(request("LGD_FINANCENAME")) '결제기관이름
LGD_FINANCEAUTHNUM = trim(request("LGD_FINANCEAUTHNUM")) '결제사승인번호
LGD_ACCOUNTNUM = trim(request("LGD_ACCOUNTNUM")) '입금할 계좌 (가상계좌)
LGD_BUYER = trim(request("LGD_BUYER")) '구매자명
LGD_PRODUCTINFO = trim(request("LGD_PRODUCTINFO")) '상품명
LGD_AMOUNT = trim(request("LGD_AMOUNT")) '결제금액
LGD_RESPCODE = trim(request("LGD_RESPCODE")) '결과코드
LGD_RESPMSG = trim(request("LGD_RESPMSG")) '결과메세지
if transaction_card = "" then
transaction_card = LGD_TID
end if
status="1"
amount = LGD_AMOUNT
If LGD_PAYTYPE = "SC0010" Then '신용카드 결제시
gubun = "카드결제"
banks = LGD_FINANCENAME
'banksnames = LGD_FINANCEAUTHNUM
banksnames = LGD_BUYER
ElseIf LGD_PAYTYPE = "SC0030" Then '계좌이체 결제시
gubun = "계좌이체"
'banksnames = LGD_FINANCENAME
banksnames = LGD_BUYER
ElseIf LGD_PAYTYPE = "SC0040" Then '가상계좌 결제시 (할당)
gubun = "가상계좌"
banks = LGD_FINANCENAME
'banksnames = LGD_ACCOUNTNUM
banksnames = LGD_BUYER
Else '기타 결제시
gubun = "휴대폰결제"
banks = LGD_FINANCENAME
'banksnames = LGD_FINANCEAUTHNUM
banksnames = LGD_BUYER
End if
If LGD_RESPCODE = "0000" Then '결제성공시
cmode = "OK"
else
cmode = "NO"
end if
'response.write "LGD_TID = "& LGD_TID &"<br>"
else
cmode = "NO"
end if
set rs=nothing
end if
end if
if request.ServerVariables("REMOTE_ADDR") = "내컴퓨터아이피" then
'response.write "cmode = "& cmode &"<br>"
end if
if cmode = "OK" then
sql = "insert into 테이블 (gubun, amount, oid) values ('"& gubun &"', '"& amount &"', '"& oid &"')"
if request.ServerVariables("REMOTE_ADDR") = "내컴퓨터아이피" then
'response.write "sql = "& sql & "<br>"
end if
'response.end
Con.Execute sql
end if
If Trim(gubun) = "온라인입금" Then
alert "입금신청 되었습니다.","sub9.asp"
Else
alert "결제완료 되었습니다.","sub9.asp"
End If
%>
댓글목록
등록된 댓글이 없습니다.