[LG유플러스/토스페이먼트] 전자결제 PHP 샘플 > 기술자료 | 해피정닷컴

[LG유플러스/토스페이먼트] 전자결제 PHP 샘플 > 기술자료

본문 바로가기

사이트 내 전체검색

[LG유플러스/토스페이먼트] 전자결제 PHP 샘플 > 기술자료

전자결제 [LG유플러스/토스페이먼트] 전자결제 PHP 샘플

페이지 정보


첨부파일

본문

결제모듈 다운로드
구버전 : http://pgweb.dacom.net/pg/wmp/Home2009/support/manual_xpay.jsp
신버전 : http://pgweb.uplus.co.kr:8080/pg/wmp/Home2009/skill/module_info02.jsp


===================================
### sample.php
===================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
<!--
  function input_check() {  
    var f = document.hwrite;  // 본문 form에서의 name 값으로 수정
    if(f.fname.value == "") {
      alert("성명을 입력하셔야 합니다.");
      f.fname.focus();
      return false;
    }
    if(f.hp1.value == '' || f.hp2.value == '' || f.hp3.value == '') {
      alert('휴대전화를 적지 않으셨습니다.\n확인 후 입력해주세요');
      f.hp1.focus();
      return false;
    }
    if(f.email.value == '' || f.email.value.indexOf('@') == -1) {
      alert('이메일 주소를 적지 않았거나, 옳바른 E-mail이 아닙니다.\n확인 후 입력해주세요');
      f.email.focus();
      return false;
    }
    return true;
  }

  // 숫자만 입력되도록 하는 코드
  function onlyNumber()
  {
  //alert(event.keyCode);
    if ( ( (96<=event.keyCode) && (event.keyCode<=105) ) ||  ( (48<=event.keyCode) && (event.keyCode<=57) ) || (event.keyCode==8)  || (event.keyCode==37) || (event.keyCode==39) || (event.keyCode==9))
    {
      event.returnValue=true;
    }
    else
    {
      event.returnValue=false;
    }
  }
//-->
</script>
</head>

<body>
<form name="hwrite" action="sample_check.php" method="post" style="margin:0; padding:0;" onSubmit="return input_check(this)">
<?php
    $LGD_TIMESTAMP = mktime();
    $LGD_OID                = "kapit_".$LGD_TIMESTAMP;              //주문번호(상점정의 유니크한 주문번호를 입력하세요)
?>
<input type="hidden" name="LGD_OID" size="14" value="<?=$LGD_OID?>" class="hp_input" />
주문자 이름 : <input type="text" name="fname" value="해피정닷컴" /><br />
주문자 메일 : <input type="text" name="email" value="aaa@aaa.com" /><br />
상품이름 : <input type="text" name="product" value="상품명" /><br />
연락전화 : <input type="text" name="hp1" id="hp1" style="width:50px; IME-MODE:DISABLED" OnKeyDown="onlyNumber();" /> -
               <input type="text" name="hp2" id="hp2" style="width:50px; IME-MODE:DISABLED" OnKeyDown="onlyNumber();" /> -
               <input type="text" name="hp3" id="hp3" style="width:50px; IME-MODE:DISABLED" OnKeyDown="onlyNumber();" />
상품가격 : <input type="text" name="price" value="1000" style="width:50px; IME-MODE:DISABLED" OnKeyDown="onlyNumber();" /><br />
결제방법 : <input type="radio" name="online" value="bank" />입금
               <input type="radio" name="online" value="card" />신용카드<br />
<input type="submit" name="신청" />
</forrm>
</body>
</html>

===================================
### sample_check.php
===================================
<?php
$fname = $_POST["fname"];
$product = $_POST["product"];
$price= $_POST["price"];
$hp1 = $_POST["hp1"];
$hp2 = $_POST["hp2"];
$hp3 = $_POST["hp3"];
$online = $_POST["online"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
    $LGD_TIMESTAMP = mktime(); // 주문번호

    /* 1. 기본결제정보 변경
     * 결제기본정보를 변경하여 주시기 바랍니다. */
    $platform = "test"; //LG텔레콤 결제서비스 선택(test:테스트, service:서비스)   
    $CST_MID = "상점아이디"; //상점아이디(LG텔레콤으로 부터 발급받으신 상점아이디를 입력하세요)
                                          //테스트 아이디는 't'를 제외하고 입력하세요.  
    $LGD_MID = (("test" == $platform)?"t":"").$CST_MID; //상점아이디(자동생성)              
    $LGD_OID = "happy_".$LGD_TIMESTAMP; //주문번호(상점정의 유니크한 주문번호를 입력하세요)
    $LGD_AMOUNT = $price; //결제금액("," 를 제외한 결제금액을 입력하세요)
    $LGD_MERTKEY = "상점MertKey"; //상점MertKey(mertkey는 상점관리자 -> 계약정보 -> 상점정보관리에서 확인하실수 있습니다)
    $LGD_TIMESTAMP = $LGD_TIMESTAMP; //타임스탬프
    $LGD_BUYER = $fname;  //구매자명
    $LGD_PRODUCTINFO = $product; //상품명
    $LGD_BUYEREMAIL = $email; //구매자 이메일
    $LGD_CUSTOM_SKIN = "red"; //상점정의 결제창 스킨 (red, blue, cyan, green, yellow)

    /* 2. 결제결과 DB처리 페이지 링크 변경
     * LGD_NOTEURL : 상점결제결과 처리(DB) 페이지 URL을 넘겨주세요.
     * LGD_CASNOTEURL : 가상계좌(무통장) 결제 연동을 하시는 경우 아래 LGD_CASNOTEURL 을 설정하여 주시기 바랍니다. */   
    $LGD_NOTEURL = "https://www.happyjung.com/paytest/note_url.php"; //상점결제결과 처리(DB) 페이지(URL을 변경해 주세요)
    $LGD_CASNOTEURL = "https://www.happyjung.com/paytest/cas_noteurl.php";    

    /* 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텔레콤에서 발급한 상점키(MertKey)를 반드시 입력해 주시기 바랍니다. */  
    $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텔레콤 전자결제를 위한 ActiveX 설치 실패");
    }    
}
//-->
</script>
</head>

<body>
<?php
if ($online == "card") {
  $query = "INSERT INTO 테이블이름  (fname, email, tel, hp, product, price, LGD_OID, LGD_TID, wdate) VALUES ('$fname', '$email', '$tel', '$hp', '$product', '$price', '$LGD_OID', '미결제', now() ) ";
  //echo "query => $query <br>";  // 쿼리값의 정상여부를 판단 (2006/07/09 수정)
  //exit;
  $result=mysql_query($query,$dbconn);
?>
<form method="post" id="LGD_PAYINFO" action="https://www.happyjung.com/paytest/sample_ok.php">
<?php } else { ?>
<form name="hpwrite" action="sample_insert.php" method="post" onSubmit="return input_check(this)">
<?php } ?>
<input type="hidden" name="online" value="<?=$online?>" />
주문자 이름 : <input type="text" name="fname" id="fname" value="<?=$fname?>" />
주문자 메일 : <input type="text" name="email" ide="email" value="<?=$email?>" />
상품이름 : <input type="text" name="product" id="product" value="<?=$product?>" />
연락전화 : <input type="text" name="hp1" id="hp1" value="<?=$hp1?>" style="IME-MODE:DISABLED" OnKeyDown="onlyNumber();" /> -
               <input type="text" name="hp2" id="hp2" value="<?=$hp2?>" style="IME-MODE:DISABLED" OnKeyDown="onlyNumber();" /> -
               <input type="text" name="hp3" id="hp3" value="<?=$hp3?>" style="IME-MODE:DISABLED" OnKeyDown="onlyNumber();" />
상품가격 : <input type="text" name="price" id="price" value="<?=$price?>" style="IME-MODE:DISABLED" OnKeyDown="onlyNumber();" />

<input type="image" src="images/submit2.gif" onclick="doPay_ActiveX()">
    <!-- 여기부터 수정하지 마세요 -->
    <input type="hidden" name="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"      value="<?=$LGD_BUYEREMAIL ?>"/>                                 <!-- 구매자 이메일 -->
    <input type="hidden" name="LGD_CUSTOM_SKIN"     value="<?=$LGD_CUSTOM_SKIN ?>"/>                                                    <!-- 결제창 SKIN -->
    <input type="hidden" name="LGD_TIMESTAMP"       value="<?=$LGD_TIMESTAMP ?>"/>                                  <!-- 타임스탬프 -->
    <input type="hidden" name="LGD_HASHDATA"        value="<?=$LGD_HASHDATA ?>"/>                                   <!-- MD5 해쉬암호값 -->
    <input type="hidden" name="LGD_NOTEURL"            value="<?=$LGD_NOTEURL ?>"/>                                    <!-- 결제결과 수신페이지 URL -->
    <input type="hidden" name="LGD_VERSION"         value="PHP_XPay_lite_1.0"/>                                        <!-- 버전정보 (삭제하지 마세요) -->
    <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" value="<?= $LGD_CASNOTEURL ?>" /> -->
    <!-- 가상계좌 NOTEURL -->
</form>
</body>
<!--  xpay.js는 반드시 body 밑에 두시기 바랍니다. -->
<!--  UTF-8 인코딩 사용 시는 xpay.js 대신 xpay_utf-8.js 을  호출하시기 바랍니다.-->
<script type="text/Javascript" src="<?= $_SERVER['SERVER_PORT']!=443?"http":"https" ?>://xpay.lgdacom.net<?=($platform == "test")?($_SERVER['SERVER_PORT']!=443?":7080":":7443"):""?>/xpay/js/xpay_utf-8.js" type="text/javascript"></script>
</html>

===================================
### sample_insert.php
===================================
<?php
$fname = $_POST["fname"];
$hp1 = $_POST["hp1"];
$hp2 = $_POST["hp2"];
$hp3 = $_POST["hp3"];
$hp = $hp1 ."-". $hp2 ."-". $hp3;
$product = $_POST["product"];
$price= $_POST["price"];
$online= $_POST["online"];

$LGD_RESPCODE           = $HTTP_POST_VARS["LGD_RESPCODE"];            //결과코드
$LGD_PRODUCTINFO = $_POST["LGD_PRODUCTINFO"]; //상품명
$LGD_FINANCENAME = $_POST["LGD_FINANCENAME"]; //결제기관이름
$LGD_TID = $_POST["LGD_TID"]; //LG텔레콤 거래번호
$LGD_OID = $_POST["LGD_OID"]; //주문번호
$LGD_FINANCEAUTHNUM = $_POST["LGD_FINANCEAUTHNUM"]; //결제사승인번호
$LGD_AMOUNT = $_POST["LGD_AMOUNT"]; //결제금액
//$LGD_AMOUNT = $total; //결제금액

if ($online == "card") {
  if ("0000" != $LGD_RESPCODE) {     //결제실패시
    echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />";
    echo "<script type='text/Javascript'>";
    echo "<!--";
    echo "  alert('카드결제에 실패했습니다.\n\n신청 페이지로 돌아갑니다.');";
    echo "  history.back();";
    echo "//-->";
    echo "</script>";
    exit;
  }
}

/* MySQL 저장하기 시작 */
include "../dbconfig.php";
$dbconn = mysql_connect("$mysql_host","$mysql_user","$mysql_password") or die("데이터베이스 연결에 실패하였습니다.");
mysql_select_db($mysql_db,$dbconn);
@mysql_query("set names utf8"); // 한글문제 생기면 주석 해제

$query = "INSERT INTO 테이블이름 (uid, fname, email, hp, product, price, LGD_PRODUCTINFO,  LGD_OID, wdate) VALUES ('', '$fname', '$email', '$hp', '$product', '$price', '$LGD_PRODUCTINFO', '$LGD_OID', now() ) ";
//echo "query => $query <br>";
$result=mysql_query($query,$dbconn);

echo mysql_error();
mysql_close($dbconn);  // MySQL에 접속종료
/* MySQL 저장하기 끝 */
header("location:thanks.php?fname=".$fname."&total=".$total."");
?>


===================================
pay.zip 첨부파일을 다운받은후 3개 파일을 결제파일과 같은 폴더에 업로드합니다.
cas_noteurl.php   ... LG유플러스에서 발급된 상점키 등 정보변경
note_url.php
payres.php
===================================

댓글목록

등록된 댓글이 없습니다.


Total 2,634건 127 페이지
  • RSS
기술자료 목록
114
제로보드   16465  2006-06-23 08:48  
열람
전자결제   34006  2006-06-21 19:52 ~ 2013-12-31 00:00  
112
전자결제   50685  2006-06-21 19:52  
111
ClassicASP   38182  2006-06-19 21:33  
110
전자결제   13741  2006-06-19 19:30 ~ 2009-01-31 00:00  
109
ClassicASP   13141  2006-06-19 19:12 ~ 2016-03-25 00:00  
108
JavaScript   13411  2006-06-17 22:49 ~ 2011-06-12 00:00  
107
PHP   13173  2006-06-17 19:15 ~ 2019-03-02 05:55  
106
JavaScript   12024  2006-06-16 18:49 ~ 2007-07-22 00:00  
105
JavaScript   22861  2006-06-16 18:13 ~ 2007-04-17 00:00  
104
JavaScript   23410  2006-06-15 19:10 ~ 2021-11-25 00:43  
103
ClassicASP   15255  2006-06-15 17:37 ~ 2021-10-15 01:09  
102
ClassicASP   26814  2006-06-14 12:33 ~ 2009-01-04 00:00  
101
Secure   12733  2006-06-14 19:29  
100
JavaScript   12781  2006-06-13 23:51  
99
JavaScript   13477  2006-06-13 13:23 ~ 2006-07-20 00:00  
98
JavaScript   29588  2006-06-13 10:32 ~ 2014-07-14 00:00  
97
MySQL   14717  2006-06-12 17:06 ~ 2021-10-25 17:45  
96
JavaScript   13929  2006-06-08 19:44  
95
ClassicASP   36839  2006-06-08 19:41  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.