Exemplo n.º 1
0
}
// 주문상품의 상태가 주문인지 체크
$sql = " select SUM(IF(ct_status = '주문', 1, 0)) as od_count2,\n                COUNT(*) as od_count1\n            from {$g5['g5_shop_cart_table']}\n            where od_id = '{$od_id}' ";
$ct = sql_fetch($sql);
$uid = md5($od['od_id'] . $od['od_time'] . $od['od_ip']);
if ($od['od_cancel_price'] > 0 || $ct['od_count1'] != $ct['od_count2']) {
    alert("취소할 수 있는 주문이 아닙니다.", G5_SHOP_URL . "/orderinquiryview.php?od_id={$od_id}&uid={$uid}");
}
// PG 결제 취소
if ($od['od_tno']) {
    switch ($od['od_pg']) {
        case 'lg':
            require_once './settle_lg.inc.php';
            $LGD_TID = $od['od_tno'];
            //LG유플러스으로 부터 내려받은 거래번호(LGD_TID)
            $xpay = new XPay($configPath, $CST_PLATFORM);
            // Mert Key 설정
            $xpay->set_config_value('t' . $LGD_MID, $config['cf_lg_mert_key']);
            $xpay->set_config_value($LGD_MID, $config['cf_lg_mert_key']);
            $xpay->Init_TX($LGD_MID);
            $xpay->Set("LGD_TXNAME", "Cancel");
            $xpay->Set("LGD_TID", $LGD_TID);
            if ($xpay->TX()) {
                //1)결제취소결과 화면처리(성공,실패 결과 처리를 하시기 바랍니다.)
                /*
                echo "결제 취소요청이 완료되었습니다.  <br>";
                echo "TX Response_code = " . $xpay->Response_Code() . "<br>";
                echo "TX Response_msg = " . $xpay->Response_Msg() . "<p>";
                */
            } else {
                //2)API 요청 실패 화면처리
Exemplo n.º 2
0
 * 2. MD5 해쉬암호화 (수정하지 마세요) - BEGIN
 *
 * MD5 해쉬암호화는 거래 위변조를 막기위한 방법입니다.
 *************************************************
 *
 * 해쉬 암호화 적용( LGD_MID + LGD_OID + LGD_AMOUNT + LGD_TIMESTAMP + LGD_MERTKEY )
 * LGD_MID          : 상점아이디
 * LGD_OID          : 주문번호
 * LGD_AMOUNT       : 금액
 * LGD_TIMESTAMP    : 타임스탬프
 * LGD_MERTKEY      : 상점MertKey (mertkey는 상점관리자 -> 계약정보 -> 상점정보관리에서 확인하실수 있습니다)
 *
 * MD5 해쉬데이터 암호화 검증을 위해
 * LG유플러스에서 발급한 상점키(MertKey)를 환경설정 파일(lgdacom/conf/mall.conf)에 반드시 입력하여 주시기 바랍니다.
 */
$xpay = new XPay($configPath, $CST_PLATFORM);
// Mert Key 설정
$xpay->set_config_value('t' . $LGD_MID, $config['cf_lg_mert_key']);
$xpay->set_config_value($LGD_MID, $config['cf_lg_mert_key']);
$xpay->Init_TX($LGD_MID);
$LGD_HASHDATA = md5($LGD_MID . $LGD_OID . $LGD_AMOUNT . $LGD_TIMESTAMP . $xpay->config[$LGD_MID]);
/*
 *************************************************
 * 2. MD5 해쉬암호화 (수정하지 마세요) - END
 *************************************************
 */
$payReqMap['CST_PLATFORM'] = $CST_PLATFORM;
// 테스트, 서비스 구분
$payReqMap['LGD_WINDOW_TYPE'] = $LGD_WINDOW_TYPE;
// 수정불가
$payReqMap['CST_MID'] = $CST_MID;
Exemplo n.º 3
0
 $row = sql_fetch($sql);
 if ($row['od_count1'] == $row['od_count2']) {
     $cancel_change = true;
     $pg_res_cd = '';
     $pg_res_msg = '';
     $pg_cancel_log = '';
     // PG 신용카드 결제 취소일 때
     if ($pg_cancel == 1) {
         $sql = " select * from {$g5['g5_shop_order_table']} where od_id = '{$od_id}' ";
         $od = sql_fetch($sql);
         if ($od['od_tno'] && ($od['od_settle_case'] == '신용카드' || $od['od_settle_case'] == '간편결제' || $od['od_settle_case'] == 'KAKAOPAY')) {
             switch ($od['od_pg']) {
                 case 'lg':
                     include_once G5_SHOP_PATH . '/settle_lg.inc.php';
                     $LGD_TID = $od['od_tno'];
                     $xpay = new XPay($configPath, $CST_PLATFORM);
                     // Mert Key 설정
                     $xpay->set_config_value('t' . $LGD_MID, $config['cf_lg_mert_key']);
                     $xpay->set_config_value($LGD_MID, $config['cf_lg_mert_key']);
                     $xpay->Init_TX($LGD_MID);
                     $xpay->Set('LGD_TXNAME', 'Cancel');
                     $xpay->Set('LGD_TID', $LGD_TID);
                     if ($xpay->TX()) {
                         $res_cd = $xpay->Response_Code();
                         if ($res_cd != '0000' && $res_cd != 'AV11') {
                             $pg_res_cd = $res_cd;
                             $pg_res_msg = $xpay->Response_Msg();
                         }
                     } else {
                         $pg_res_cd = $xpay->Response_Code();
                         $pg_res_msg = $xpay->Response_Msg();
Exemplo n.º 4
0
$LGD_AUTHONLYKEY = $_POST['LGD_AUTHONLYKEY'];
//LG유플러스으로부터 부여받은 인증키
$LGD_PAYTYPE = $_POST['LGD_PAYTYPE'];
//인증요청타입 (신용카드:ASC001, 휴대폰:ASC002, 계좌:ASC004)
require_once G5_LGXPAY_PATH . '/lgdacom/XPayClient.php';
// mall.conf 설정 추가를 위한 XPayClient 확장
class XPay extends XPayClient
{
    public function set_config_value($key, $val)
    {
        $this->config[$key] = $val;
    }
}
$configPath = G5_LGXPAY_PATH . '/lgdacom';
//LG유플러스에서 제공한 환경파일("/conf/lgdacom.conf,/conf/mall.conf") 위치 지정.
$xpay = new XPay($configPath, $CST_PLATFORM);
// Mert Key 설정
$xpay->set_config_value('t' . $LGD_MID, $config['cf_lg_mert_key']);
$xpay->set_config_value($LGD_MID, $config['cf_lg_mert_key']);
$xpay->Init_TX($LGD_MID);
$xpay->Set("LGD_TXNAME", "AuthOnlyByKey");
$xpay->Set("LGD_AUTHONLYKEY", $LGD_AUTHONLYKEY);
$xpay->Set("LGD_PAYTYPE", $LGD_PAYTYPE);
$g5['title'] = '휴대폰인증 결과';
include_once G5_PATH . '/head.sub.php';
/*
 *************************************************
 * 1.최종인증 요청(수정하지 마세요) - END
 *************************************************
 */
/*
Exemplo n.º 5
0
//상품명
$LGD_TID = $od_tno;
//LG유플러스 거래번호
$LGD_CUSTOM_MERTNAME = $default['de_admin_company_name'];
//상점명
$LGD_CUSTOM_CEONAME = $default['de_admin_company_owner'];
//대표자명
$LGD_CUSTOM_BUSINESSNUM = $default['de_admin_company_saupja_no'];
//사업자등록번호
$LGD_CUSTOM_MERTPHONE = $default['de_admin_company_tel'];
//상점 전화번호
$LGD_CASHCARDNUM = $_POST['id_info'];
//발급번호(주민등록번호,현금영수증카드번호,휴대폰번호 등등)
$LGD_CASHRECEIPTUSE = $_POST['tr_code'];
//현금영수증발급용도('1':소득공제, '2':지출증빙)
$xpay = new XPay($configPath, $CST_PLATFORM);
// Mert Key 설정
$xpay->set_config_value('t' . $LGD_MID, $config['cf_lg_mert_key']);
$xpay->set_config_value($LGD_MID, $config['cf_lg_mert_key']);
$xpay->Init_TX($LGD_MID);
$xpay->Set("LGD_TXNAME", "CashReceipt");
$xpay->Set("LGD_METHOD", $LGD_METHOD);
$xpay->Set("LGD_PAYTYPE", $LGD_PAYTYPE);
if ($LGD_METHOD == "AUTH") {
    // 현금영수증 발급 요청
    $xpay->Set("LGD_OID", $LGD_OID);
    $xpay->Set("LGD_AMOUNT", $LGD_AMOUNT);
    $xpay->Set("LGD_CASHCARDNUM", $LGD_CASHCARDNUM);
    $xpay->Set("LGD_CUSTOM_MERTNAME", $LGD_CUSTOM_MERTNAME);
    $xpay->Set("LGD_CUSTOM_CEONAME", $LGD_CUSTOM_CEONAME);
    $xpay->Set("LGD_CUSTOM_BUSINESSNUM", $LGD_CUSTOM_BUSINESSNUM);
Exemplo n.º 6
0
 *
 * LG유플러스으로 부터 내려받은 LGD_PAYKEY(인증Key)를 가지고 최종 결제요청.(파라미터 전달시 POST를 사용하세요)
 */
/* ※ 중요
* 환경설정 파일의 경우 반드시 외부에서 접근이 가능한 경로에 두시면 안됩니다.
* 해당 환경파일이 외부에 노출이 되는 경우 해킹의 위험이 존재하므로 반드시 외부에서 접근이 불가능한 경로에 두시기 바랍니다.
* 예) [Window 계열] C:\inetpub\wwwroot\lgdacom ==> 절대불가(웹 디렉토리)
*/
/*
 *************************************************
 * 1.최종결제 요청 - BEGIN
 *  (단, 최종 금액체크를 원하시는 경우 금액체크 부분 주석을 제거 하시면 됩니다.)
 *************************************************
 */
$LGD_PAYKEY = $_POST['LGD_PAYKEY'];
$xpay = new XPay($configPath, $CST_PLATFORM);
// Mert Key 설정
$xpay->set_config_value('t' . $LGD_MID, $config['cf_lg_mert_key']);
$xpay->set_config_value($LGD_MID, $config['cf_lg_mert_key']);
$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
 *************************************************
 */
Exemplo n.º 7
0
//부분취소 금액
$LGD_REMAINAMOUNT = (int) $od['od_receipt_price'] - (int) $od['od_refund_price'];
//취소전 남은금액
$LGD_CANCELTAXFREEAMOUNT = (int) $free_mny;
//면세대상 부분취소 금액 (과세/면세 혼용상점만 적용)
$LGD_CANCELREASON = $mod_memo;
//취소사유
$LGD_RFACCOUNTNUM = $_POST['LGD_RFACCOUNTNUM'];
//환불계좌 번호(가상계좌 환불인경우만 필수)
$LGD_RFBANKCODE = $_POST['LGD_RFBANKCODE'];
//환불계좌 은행코드(가상계좌 환불인경우만 필수)
$LGD_RFCUSTOMERNAME = $_POST['LGD_RFCUSTOMERNAME'];
//환불계좌 예금주(가상계좌 환불인경우만 필수)
$LGD_RFPHONE = $_POST['LGD_RFPHONE'];
//요청자 연락처(가상계좌 환불인경우만 필수)
$xpay = new XPay($configPath, $CST_PLATFORM);
// Mert Key 설정
$xpay->set_config_value('t' . $LGD_MID, $config['cf_lg_mert_key']);
$xpay->set_config_value($LGD_MID, $config['cf_lg_mert_key']);
$xpay->Init_TX($LGD_MID);
$xpay->Set("LGD_TXNAME", "PartialCancel");
$xpay->Set("LGD_TID", $LGD_TID);
$xpay->Set("LGD_CANCELAMOUNT", $LGD_CANCELAMOUNT);
$xpay->Set("LGD_REMAINAMOUNT", $LGD_REMAINAMOUNT);
$xpay->Set("LGD_CANCELTAXFREEAMOUNT", $LGD_CANCELTAXFREEAMOUNT);
$xpay->Set("LGD_CANCELREASON", $LGD_CANCELREASON);
$xpay->Set("LGD_RFACCOUNTNUM", $LGD_RFACCOUNTNUM);
$xpay->Set("LGD_RFBANKCODE", $LGD_RFBANKCODE);
$xpay->Set("LGD_RFCUSTOMERNAME", $LGD_RFCUSTOMERNAME);
$xpay->Set("LGD_RFPHONE", $LGD_RFPHONE);
$xpay->Set("LGD_REQREMAIN", "0");