diff --git a/extend/shop.extend.php b/extend/shop.extend.php index 821071f52..cfceaef76 100644 --- a/extend/shop.extend.php +++ b/extend/shop.extend.php @@ -104,6 +104,18 @@ if(!sql_query(" select 1 from {$g4['uniqid_table']} limit 1 ", false)) { ) ", false); } +// uq_id 필드추가 +$sql = " select uq_id from {$g4['yc4_cart_table']} limit 1 "; +$result = sql_query($sql, false); +if(!$result) { + sql_query(" ALTER TABLE `{$g4['yc4_cart_table']}` ADD `uq_id` BIGINT(20) unsigned NOT NULL AFTER `ct_id` ", false); + sql_query(" ALTER TABLE `{$g4['yc4_order_table']}` ADD `uq_id` BIGINT(20) unsigned NOT NULL AFTER `od_id` ", false); + sql_query(" ALTER TABLE `{$g4['yc4_card_history_table']}` ADD `uq_id` BIGINT(20) unsigned NOT NULL AFTER `od_id` ", false); + sql_query(" ALTER TABLE `{$g4['yc4_order_table']}` MODIFY COLUMN od_id BIGINT(20) unsigned NOT NULL ", false); + sql_query(" ALTER TABLE `{$g4['yc4_cart_table']}` ADD INDEX uq_id (uq_id) ", false); + sql_query(" ALTER TABLE `{$g4['yc4_order_table']}` ADD UNIQUE uq_id (uq_id) ", false); +} + //============================================================================== // 쇼핑몰 필수 실행코드 모음 끝 //============================================================================== diff --git a/shop/cartupdate.php b/shop/cartupdate.php index df67c8124..3f2c82240 100644 --- a/shop/cartupdate.php +++ b/shop/cartupdate.php @@ -16,16 +16,6 @@ else { } } -// uq_id 필드추가 -$sql = " select uq_id from {$g4['yc4_cart_table']} limit 1 "; -$result = sql_query($sql, false); -if(!$result) { - sql_query(" ALTER TABLE `{$g4['yc4_cart_table']}` ADD `uq_id` BIGINT(20) unsigned NOT NULL AFTER `ct_id` ", false); - sql_query(" ALTER TABLE `{$g4['yc4_order_table']}` ADD `uq_id` BIGINT(20) unsigned NOT NULL AFTER `od_id` ", false); - sql_query(" ALTER TABLE `{$g4['yc4_cart_table']}` ADD INDEX uq_id (uq_id) ", false); - sql_query(" ALTER TABLE `{$g4['yc4_order_table']}` ADD UNIQUE uq_id (uq_id) ", false); -} - // 브라우저에서 쿠키를 허용하지 않은 경우라고 볼 수 있음. if (!$tmp_uq_id) { diff --git a/shop/kcp/bin/pp_cli b/shop/kcp/bin/pp_cli new file mode 100755 index 000000000..cfe783538 Binary files /dev/null and b/shop/kcp/bin/pp_cli differ diff --git a/shop/kcp/pp_ax_hub.php b/shop/kcp/pp_ax_hub.php index f3bdc7940..70e9fe580 100644 --- a/shop/kcp/pp_ax_hub.php +++ b/shop/kcp/pp_ax_hub.php @@ -15,13 +15,13 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 /* = 환경 설정 = */ /* = -------------------------------------------------------------------------- = */ - $g_conf_home_dir = dirname($_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF']) . '/kcp/'; + $g_conf_home_dir = G4_SHOP_PATH.'/kcp'; $g_conf_key_dir = ''; $g_conf_log_dir = ''; if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { - $g_conf_key_dir = dirname($_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF']) . '/kcp/bin/pub.key'; - $g_conf_log_dir = dirname($_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF']) . '/kcp/log'; + $g_conf_key_dir = G4_SHOP_PATH.'/kcp/bin/pub.key'; + $g_conf_log_dir = G4_SHOP_PATH.'/kcp/log'; } $g_conf_site_cd = $_POST['site_cd']; @@ -134,280 +134,232 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 /* ============================================================================== */ - /* ============================================================================== */ - /* = 02. 인스턴스 생성 및 초기화 = */ - /* = -------------------------------------------------------------------------- = */ - /* = 결제에 필요한 인스턴스를 생성하고 초기화 합니다. = */ - /* = -------------------------------------------------------------------------- = */ - $c_PayPlus = new C_PP_CLI; +/* ============================================================================== */ +/* = 02. 인스턴스 생성 및 초기화 = */ +/* = -------------------------------------------------------------------------- = */ +/* = 결제에 필요한 인스턴스를 생성하고 초기화 합니다. = */ +/* = -------------------------------------------------------------------------- = */ +$c_PayPlus = new C_PP_CLI; - $c_PayPlus->mf_clear(); - /* ------------------------------------------------------------------------------ */ - /* = 02. 인스턴스 생성 및 초기화 END = */ - /* ============================================================================== */ +$c_PayPlus->mf_clear(); +/* ------------------------------------------------------------------------------ */ +/* = 02. 인스턴스 생성 및 초기화 END = */ +/* ============================================================================== */ - /* ============================================================================== */ - /* = 03. 처리 요청 정보 설정 = */ - /* = -------------------------------------------------------------------------- = */ +/* ============================================================================== */ +/* = 03. 처리 요청 정보 설정 = */ +/* = -------------------------------------------------------------------------- = */ - /* = -------------------------------------------------------------------------- = */ - /* = 03-1. 승인 요청 = */ - /* = -------------------------------------------------------------------------- = */ - if ( $req_tx == "pay" ) +/* = -------------------------------------------------------------------------- = */ +/* = 03-1. 승인 요청 = */ +/* = -------------------------------------------------------------------------- = */ +if ( $req_tx == "pay" ) +{ + /* 1004원은 실제로 업체에서 결제하셔야 될 원 금액을 넣어주셔야 합니다. 결제금액 유효성 검증 */ + $c_PayPlus->mf_set_ordr_data( "ordr_mony", $good_mny ); + + $c_PayPlus->mf_set_encx_data( $_POST[ "enc_data" ], $_POST[ "enc_info" ] ); +} + +/* = -------------------------------------------------------------------------- = */ +/* = 03-2. 취소/매입 요청 = */ +/* = -------------------------------------------------------------------------- = */ +else if ( $req_tx == "mod" ) +{ + $tran_cd = "00200000"; + + $c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호 + $c_PayPlus->mf_set_modx_data( "mod_type", $mod_type ); // 원거래 변경 요청 종류 + $c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP + $c_PayPlus->mf_set_modx_data( "mod_desc", $mod_desc ); // 변경 사유 +} + +/* = -------------------------------------------------------------------------- = */ +/* = 03-3. 에스크로 상태변경 요청 = */ +/* = -------------------------------------------------------------------------- = */ +else if ($req_tx = "mod_escrow") +{ + $tran_cd = "00200000"; + + $c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호 + $c_PayPlus->mf_set_modx_data( "mod_type", $mod_type ); // 원거래 변경 요청 종류 + $c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP + $c_PayPlus->mf_set_modx_data( "mod_desc", $mod_desc ); // 변경 사유 + + if ($mod_type == "STE1") // 상태변경 타입이 [배송요청]인 경우 { - /* 1004원은 실제로 업체에서 결제하셔야 될 원 금액을 넣어주셔야 합니다. 결제금액 유효성 검증 */ - $c_PayPlus->mf_set_ordr_data( "ordr_mony", $good_mny ); - - $c_PayPlus->mf_set_encx_data( $_POST[ "enc_data" ], $_POST[ "enc_info" ] ); + $c_PayPlus->mf_set_modx_data( "deli_numb", $_POST[ "deli_numb" ] ); // 운송장 번호 + $c_PayPlus->mf_set_modx_data( "deli_corp", $_POST[ "deli_corp" ] ); // 택배 업체명 } - - /* = -------------------------------------------------------------------------- = */ - /* = 03-2. 취소/매입 요청 = */ - /* = -------------------------------------------------------------------------- = */ - else if ( $req_tx == "mod" ) + else if ($mod_type == "STE2" || $mod_type == "STE4") // 상태변경 타입이 [즉시취소] 또는 [취소]인 계좌이체, 가상계좌의 경우 { - $tran_cd = "00200000"; - - $c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호 - $c_PayPlus->mf_set_modx_data( "mod_type", $mod_type ); // 원거래 변경 요청 종류 - $c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP - $c_PayPlus->mf_set_modx_data( "mod_desc", $mod_desc ); // 변경 사유 - } - - /* = -------------------------------------------------------------------------- = */ - /* = 03-3. 에스크로 상태변경 요청 = */ - /* = -------------------------------------------------------------------------- = */ - else if ($req_tx = "mod_escrow") - { - $tran_cd = "00200000"; - - $c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호 - $c_PayPlus->mf_set_modx_data( "mod_type", $mod_type ); // 원거래 변경 요청 종류 - $c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP - $c_PayPlus->mf_set_modx_data( "mod_desc", $mod_desc ); // 변경 사유 - - if ($mod_type == "STE1") // 상태변경 타입이 [배송요청]인 경우 + if ($vcnt_yn == "Y") { - $c_PayPlus->mf_set_modx_data( "deli_numb", $_POST[ "deli_numb" ] ); // 운송장 번호 - $c_PayPlus->mf_set_modx_data( "deli_corp", $_POST[ "deli_corp" ] ); // 택배 업체명 - } - else if ($mod_type == "STE2" || $mod_type == "STE4") // 상태변경 타입이 [즉시취소] 또는 [취소]인 계좌이체, 가상계좌의 경우 - { - if ($vcnt_yn == "Y") - { - $c_PayPlus->mf_set_modx_data( "refund_account", $_POST[ "refund_account" ] ); // 환불수취계좌번호 - $c_PayPlus->mf_set_modx_data( "refund_nm", $_POST[ "refund_nm" ] ); // 환불수취계좌주명 - $c_PayPlus->mf_set_modx_data( "bank_code", $_POST[ "bank_code" ] ); // 환불수취은행코드 - } + $c_PayPlus->mf_set_modx_data( "refund_account", $_POST[ "refund_account" ] ); // 환불수취계좌번호 + $c_PayPlus->mf_set_modx_data( "refund_nm", $_POST[ "refund_nm" ] ); // 환불수취계좌주명 + $c_PayPlus->mf_set_modx_data( "bank_code", $_POST[ "bank_code" ] ); // 환불수취은행코드 } } - /* = -------------------------------------------------------------------------- = */ - /* = 03-3. 에스크로 상태변경 요청 END = */ - /* = -------------------------------------------------------------------------- = */ +} +/* = -------------------------------------------------------------------------- = */ +/* = 03-3. 에스크로 상태변경 요청 END = */ +/* = -------------------------------------------------------------------------- = */ - /* ------------------------------------------------------------------------------ */ - /* = 03. 처리 요청 정보 설정 END = */ - /* ============================================================================== */ +/* ------------------------------------------------------------------------------ */ +/* = 03. 처리 요청 정보 설정 END = */ +/* ============================================================================== */ - /* ============================================================================== */ - /* = 04. 실행 = */ - /* = -------------------------------------------------------------------------- = */ - if ( $tran_cd != "" ) +/* ============================================================================== */ +/* = 04. 실행 = */ +/* = -------------------------------------------------------------------------- = */ +if ( $tran_cd != "" ) +{ + $c_PayPlus->mf_do_tx( $trace_no, $g_conf_home_dir, $g_conf_site_cd, "", $tran_cd, "", + $g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx, + $cust_ip, "3" , 0, 0, $g_conf_key_dir, $g_conf_log_dir); // 응답 전문 처리 + + $res_cd = $c_PayPlus->m_res_cd; // 결과 코드 + $res_msg = $c_PayPlus->m_res_msg; // 결과 메시지 + /* $res_en_msg = $c_PayPlus->mf_get_res_data( "res_en_msg" ); // 결과 영문 메세지 */ +} +else +{ + $c_PayPlus->m_res_cd = "9562"; + $c_PayPlus->m_res_msg = "연동 오류|Payplus Plugin이 설치되지 않았거나 tran_cd값이 설정되지 않았습니다."; +} + +if ($res_cd != '0000') +{ + $res_msg = iconv("euc-kr", "utf-8", $res_msg); + + echo ""; + alert("$res_cd : $res_msg"); + exit; +} + +/* = -------------------------------------------------------------------------- = */ +/* = 04. 실행 END = */ +/* ============================================================================== */ + + +/* ============================================================================== */ +/* = 05. 승인 결과 값 추출 = */ +/* = -------------------------------------------------------------------------- = */ +if ( $req_tx == "pay" ) +{ + if( $res_cd == "0000" ) { - $c_PayPlus->mf_do_tx( $trace_no, $g_conf_home_dir, $g_conf_site_cd, "", $tran_cd, "", - $g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx, - $cust_ip, "3" , 0, 0, $g_conf_key_dir, $g_conf_log_dir); // 응답 전문 처리 + $tno = $c_PayPlus->mf_get_res_data( "tno" ); // KCP 거래 고유 번호 + $amount = $c_PayPlus->mf_get_res_data( "amount" ); // KCP 실제 거래 금액 + $pnt_issue = $c_PayPlus->mf_get_res_data( "pnt_issue" ); // 결제 포인트사 코드 - $res_cd = $c_PayPlus->m_res_cd; // 결과 코드 - $res_msg = $c_PayPlus->m_res_msg; // 결과 메시지 - /* $res_en_msg = $c_PayPlus->mf_get_res_data( "res_en_msg" ); // 결과 영문 메세지 */ - } - else - { - $c_PayPlus->m_res_cd = "9562"; - $c_PayPlus->m_res_msg = "연동 오류|Payplus Plugin이 설치되지 않았거나 tran_cd값이 설정되지 않았습니다."; - } - - if ($res_cd != '0000') - { - $res_msg = iconv("euc-kr", "utf-8", $res_msg); - - echo ""; - alert("$res_cd : $res_msg"); - exit; - } - - /* = -------------------------------------------------------------------------- = */ - /* = 04. 실행 END = */ - /* ============================================================================== */ - - - /* ============================================================================== */ - /* = 05. 승인 결과 값 추출 = */ - /* = -------------------------------------------------------------------------- = */ - if ( $req_tx == "pay" ) - { - if( $res_cd == "0000" ) +/* = -------------------------------------------------------------------------- = */ +/* = 05-1. 신용카드 승인 결과 처리 = */ +/* = -------------------------------------------------------------------------- = */ + if ( $use_pay_method == "100000000000" ) { - $tno = $c_PayPlus->mf_get_res_data( "tno" ); // KCP 거래 고유 번호 - $amount = $c_PayPlus->mf_get_res_data( "amount" ); // KCP 실제 거래 금액 - $pnt_issue = $c_PayPlus->mf_get_res_data( "pnt_issue" ); // 결제 포인트사 코드 + $card_cd = $c_PayPlus->mf_get_res_data( "card_cd" ); // 카드사 코드 + $card_name = $c_PayPlus->mf_get_res_data( "card_name" ); // 카드 종류 + $app_time = $c_PayPlus->mf_get_res_data( "app_time" ); // 승인 시간 + $app_no = $c_PayPlus->mf_get_res_data( "app_no" ); // 승인 번호 + $noinf = $c_PayPlus->mf_get_res_data( "noinf" ); // 무이자 여부 ( 'Y' : 무이자 ) + $quota = $c_PayPlus->mf_get_res_data( "quota" ); // 할부 개월 수 + $partcanc_yn = $c_PayPlus->mf_get_res_data( "partcanc_yn" ); // 부분취소 가능유무 + $card_bin_type_01 = $c_PayPlus->mf_get_res_data( "card_bin_type_01" ); // 카드구분1 + $card_bin_type_02 = $c_PayPlus->mf_get_res_data( "card_bin_type_02" ); // 카드구분2 - /* = -------------------------------------------------------------------------- = */ - /* = 05-1. 신용카드 승인 결과 처리 = */ - /* = -------------------------------------------------------------------------- = */ - if ( $use_pay_method == "100000000000" ) + /* = -------------------------------------------------------------- = */ + /* = 05-1.1. 복합결제(포인트+신용카드) 승인 결과 처리 = */ + /* = -------------------------------------------------------------- = */ + if ( $pnt_issue == "SCSK" || $pnt_issue == "SCWB" ) { - $card_cd = $c_PayPlus->mf_get_res_data( "card_cd" ); // 카드사 코드 - $card_name = $c_PayPlus->mf_get_res_data( "card_name" ); // 카드 종류 - $app_time = $c_PayPlus->mf_get_res_data( "app_time" ); // 승인 시간 - $app_no = $c_PayPlus->mf_get_res_data( "app_no" ); // 승인 번호 - $noinf = $c_PayPlus->mf_get_res_data( "noinf" ); // 무이자 여부 ( 'Y' : 무이자 ) - $quota = $c_PayPlus->mf_get_res_data( "quota" ); // 할부 개월 수 - $partcanc_yn = $c_PayPlus->mf_get_res_data( "partcanc_yn" ); // 부분취소 가능유무 - $card_bin_type_01 = $c_PayPlus->mf_get_res_data( "card_bin_type_01" ); // 카드구분1 - $card_bin_type_02 = $c_PayPlus->mf_get_res_data( "card_bin_type_02" ); // 카드구분2 - - /* = -------------------------------------------------------------- = */ - /* = 05-1.1. 복합결제(포인트+신용카드) 승인 결과 처리 = */ - /* = -------------------------------------------------------------- = */ - if ( $pnt_issue == "SCSK" || $pnt_issue == "SCWB" ) - { - $pt_idno = $c_PayPlus->mf_get_res_data ( "pt_idno" ); // 결제 및 인증 아이디 - $pnt_amount = $c_PayPlus->mf_get_res_data ( "pnt_amount" ); // 적립금액 or 사용금액 - $pnt_app_time = $c_PayPlus->mf_get_res_data ( "pnt_app_time" ); // 승인시간 - $pnt_app_no = $c_PayPlus->mf_get_res_data ( "pnt_app_no" ); // 승인번호 - $add_pnt = $c_PayPlus->mf_get_res_data ( "add_pnt" ); // 발생 포인트 - $use_pnt = $c_PayPlus->mf_get_res_data ( "use_pnt" ); // 사용가능 포인트 - $rsv_pnt = $c_PayPlus->mf_get_res_data ( "rsv_pnt" ); // 총 누적 포인트 - $total_amount = $amount + $pnt_amount; // 복합결제시 총 거래금액 - } + $pt_idno = $c_PayPlus->mf_get_res_data ( "pt_idno" ); // 결제 및 인증 아이디 + $pnt_amount = $c_PayPlus->mf_get_res_data ( "pnt_amount" ); // 적립금액 or 사용금액 + $pnt_app_time = $c_PayPlus->mf_get_res_data ( "pnt_app_time" ); // 승인시간 + $pnt_app_no = $c_PayPlus->mf_get_res_data ( "pnt_app_no" ); // 승인번호 + $add_pnt = $c_PayPlus->mf_get_res_data ( "add_pnt" ); // 발생 포인트 + $use_pnt = $c_PayPlus->mf_get_res_data ( "use_pnt" ); // 사용가능 포인트 + $rsv_pnt = $c_PayPlus->mf_get_res_data ( "rsv_pnt" ); // 총 누적 포인트 + $total_amount = $amount + $pnt_amount; // 복합결제시 총 거래금액 } + } - /* = -------------------------------------------------------------------------- = */ - /* = 05-2. 계좌이체 승인 결과 처리 = */ - /* = -------------------------------------------------------------------------- = */ - if ( $use_pay_method == "010000000000" ) - { - $app_time = $c_PayPlus->mf_get_res_data( "app_time" ); // 승인 시간 - $bank_name = $c_PayPlus->mf_get_res_data( "bank_name" ); // 은행명 - $bank_code = $c_PayPlus->mf_get_res_data( "bank_code" ); // 은행코드 - } - - /* = -------------------------------------------------------------------------- = */ - /* = 05-3. 가상계좌 승인 결과 처리 = */ - /* = -------------------------------------------------------------------------- = */ - if ( $use_pay_method == "001000000000" ) - { - $bankname = $c_PayPlus->mf_get_res_data( "bankname" ); // 입금할 은행 이름 - $depositor = $c_PayPlus->mf_get_res_data( "depositor" ); // 입금할 계좌 예금주 - $account = $c_PayPlus->mf_get_res_data( "account" ); // 입금할 계좌 번호 - $va_date = $c_PayPlus->mf_get_res_data( "va_date" ); // 가상계좌 입금마감시간 - } - - /* = -------------------------------------------------------------------------- = */ - /* = 05-4. 포인트 승인 결과 처리 = */ - /* = -------------------------------------------------------------------------- = */ - if ( $use_pay_method == "000100000000" ) - { - $pt_idno = $c_PayPlus->mf_get_res_data( "pt_idno" ); // 결제 및 인증 아이디 - $pnt_amount = $c_PayPlus->mf_get_res_data( "pnt_amount" ); // 적립금액 or 사용금액 - $pnt_app_time = $c_PayPlus->mf_get_res_data( "pnt_app_time" ); // 승인시간 - $pnt_app_no = $c_PayPlus->mf_get_res_data( "pnt_app_no" ); // 승인번호 - $add_pnt = $c_PayPlus->mf_get_res_data( "add_pnt" ); // 발생 포인트 - $use_pnt = $c_PayPlus->mf_get_res_data( "use_pnt" ); // 사용가능 포인트 - $rsv_pnt = $c_PayPlus->mf_get_res_data( "rsv_pnt" ); // 적립 포인트 - } - - /* = -------------------------------------------------------------------------- = */ - /* = 05-5. 휴대폰 승인 결과 처리 = */ - /* = -------------------------------------------------------------------------- = */ - if ( $use_pay_method == "000010000000" ) - { - $app_time = $c_PayPlus->mf_get_res_data( "hp_app_time" ); // 승인 시간 - $commid = $c_PayPlus->mf_get_res_data( "commid" ); // 통신사 코드 - $mobile_no = $c_PayPlus->mf_get_res_data( "mobile_no" ); // 휴대폰 번호 - } - - /* = -------------------------------------------------------------------------- = */ - /* = 05-6. 상품권 승인 결과 처리 = */ - /* = -------------------------------------------------------------------------- = */ - if ( $use_pay_method == "000000001000" ) - { - $app_time = $c_PayPlus->mf_get_res_data( "tk_app_time" ); // 승인 시간 - $tk_van_code = $c_PayPlus->mf_get_res_data( "tk_van_code" ); // 발급사 코드 - $tk_app_no = $c_PayPlus->mf_get_res_data( "tk_app_no" ); // 승인 번호 - } - - /* = -------------------------------------------------------------------------- = */ - /* = 05-7. 현금영수증 결과 처리 = */ - /* = -------------------------------------------------------------------------- = */ - $cash_yn = $c_PayPlus->mf_get_res_data( "cash_yn" ); // 현금영수증 등록여부 - $cash_authno = $c_PayPlus->mf_get_res_data( "cash_authno" ); // 현금 영수증 승인 번호 - $cash_tr_code = $c_PayPlus->mf_get_res_data( "cash_tr_code" ); // 현금영수증 등록구분 - - /* = -------------------------------------------------------------------------- = */ - /* = 05-8. 에스크로 여부 결과 처리 = */ - /* = -------------------------------------------------------------------------- = */ - $escw_yn = $c_PayPlus->mf_get_res_data( "escw_yn" ); // 에스크로 여부 - } - } - - /* = -------------------------------------------------------------------------- = */ - /* = 05. 승인 결과 처리 END = */ - /* ============================================================================== */ - - /* ============================================================================== */ - /* = 06. 승인 및 실패 결과 DB처리 = */ - /* = -------------------------------------------------------------------------- = */ - /* = 결과를 업체 자체적으로 DB처리 작업하시는 부분입니다. = */ - /* = -------------------------------------------------------------------------- = */ - - if ( $req_tx == "pay" ) - { - if( $res_cd == "0000" ) +/* = -------------------------------------------------------------------------- = */ +/* = 05-2. 계좌이체 승인 결과 처리 = */ +/* = -------------------------------------------------------------------------- = */ + if ( $use_pay_method == "010000000000" ) { - // 06-1-1. 신용카드 - if ( $use_pay_method == "100000000000" ) - { - // 06-1-1-1. 복합결제(신용카드 + 포인트) - if ( $pnt_issue == "SCSK" || $pnt_issue == "SCWB" ) - { - } - } - // 06-1-2. 계좌이체 - if ( $use_pay_method == "010000000000" ) - { - } - // 06-1-3. 가상계좌 - if ( $use_pay_method == "001000000000" ) - { - } - // 06-1-4. 포인트 - if ( $use_pay_method == "000100000000" ) - { - } - // 06-1-5. 휴대폰 - if ( $use_pay_method == "000010000000" ) - { - } - // 06-1-6. 상품권 - if ( $use_pay_method == "000000001000" ) - { - } - } + $app_time = $c_PayPlus->mf_get_res_data( "app_time" ); // 승인 시간 + $bank_name = $c_PayPlus->mf_get_res_data( "bank_name" ); // 은행명 + $bank_code = $c_PayPlus->mf_get_res_data( "bank_code" ); // 은행코드 + } - /* = -------------------------------------------------------------------------- = */ - /* = 06. 승인 및 실패 결과 DB처리 = */ - /* ============================================================================== */ - else if ( $res_cd != "0000" ) - { - } - } +/* = -------------------------------------------------------------------------- = */ +/* = 05-3. 가상계좌 승인 결과 처리 = */ +/* = -------------------------------------------------------------------------- = */ + if ( $use_pay_method == "001000000000" ) + { + $bankname = $c_PayPlus->mf_get_res_data( "bankname" ); // 입금할 은행 이름 + $depositor = $c_PayPlus->mf_get_res_data( "depositor" ); // 입금할 계좌 예금주 + $account = $c_PayPlus->mf_get_res_data( "account" ); // 입금할 계좌 번호 + $va_date = $c_PayPlus->mf_get_res_data( "va_date" ); // 가상계좌 입금마감시간 + } + +/* = -------------------------------------------------------------------------- = */ +/* = 05-4. 포인트 승인 결과 처리 = */ +/* = -------------------------------------------------------------------------- = */ + if ( $use_pay_method == "000100000000" ) + { + $pt_idno = $c_PayPlus->mf_get_res_data( "pt_idno" ); // 결제 및 인증 아이디 + $pnt_amount = $c_PayPlus->mf_get_res_data( "pnt_amount" ); // 적립금액 or 사용금액 + $pnt_app_time = $c_PayPlus->mf_get_res_data( "pnt_app_time" ); // 승인시간 + $pnt_app_no = $c_PayPlus->mf_get_res_data( "pnt_app_no" ); // 승인번호 + $add_pnt = $c_PayPlus->mf_get_res_data( "add_pnt" ); // 발생 포인트 + $use_pnt = $c_PayPlus->mf_get_res_data( "use_pnt" ); // 사용가능 포인트 + $rsv_pnt = $c_PayPlus->mf_get_res_data( "rsv_pnt" ); // 적립 포인트 + } + +/* = -------------------------------------------------------------------------- = */ +/* = 05-5. 휴대폰 승인 결과 처리 = */ +/* = -------------------------------------------------------------------------- = */ + if ( $use_pay_method == "000010000000" ) + { + $app_time = $c_PayPlus->mf_get_res_data( "hp_app_time" ); // 승인 시간 + $commid = $c_PayPlus->mf_get_res_data( "commid" ); // 통신사 코드 + $mobile_no = $c_PayPlus->mf_get_res_data( "mobile_no" ); // 휴대폰 번호 + } + +/* = -------------------------------------------------------------------------- = */ +/* = 05-6. 상품권 승인 결과 처리 = */ +/* = -------------------------------------------------------------------------- = */ + if ( $use_pay_method == "000000001000" ) + { + $app_time = $c_PayPlus->mf_get_res_data( "tk_app_time" ); // 승인 시간 + $tk_van_code = $c_PayPlus->mf_get_res_data( "tk_van_code" ); // 발급사 코드 + $tk_app_no = $c_PayPlus->mf_get_res_data( "tk_app_no" ); // 승인 번호 + } + +/* = -------------------------------------------------------------------------- = */ +/* = 05-7. 현금영수증 결과 처리 = */ +/* = -------------------------------------------------------------------------- = */ + $cash_yn = $c_PayPlus->mf_get_res_data( "cash_yn" ); // 현금영수증 등록여부 + $cash_authno = $c_PayPlus->mf_get_res_data( "cash_authno" ); // 현금 영수증 승인 번호 + $cash_tr_code = $c_PayPlus->mf_get_res_data( "cash_tr_code" ); // 현금영수증 등록구분 + +/* = -------------------------------------------------------------------------- = */ +/* = 05-8. 에스크로 여부 결과 처리 = */ +/* = -------------------------------------------------------------------------- = */ + $escw_yn = $c_PayPlus->mf_get_res_data( "escw_yn" ); // 에스크로 여부 + } +} + +/* = -------------------------------------------------------------------------- = */ +/* = 05. 승인 결과 처리 END = */ +/* ============================================================================== */ ?> \ No newline at end of file diff --git a/shop/kcp/pp_ax_hub_cancel.php b/shop/kcp/pp_ax_hub_cancel.php new file mode 100644 index 000000000..c1dda792c --- /dev/null +++ b/shop/kcp/pp_ax_hub_cancel.php @@ -0,0 +1,73 @@ + + if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 + + /* ============================================================================== */ + /* = 07. 승인 결과 DB처리 실패시 : 자동취소 = */ + /* = -------------------------------------------------------------------------- = */ + /* = 승인 결과를 DB 작업 하는 과정에서 정상적으로 승인된 건에 대해 = */ + /* = DB 작업을 실패하여 DB update 가 완료되지 않은 경우, 자동으로 = */ + /* = 승인 취소 요청을 하는 프로세스가 구성되어 있습니다. = */ + /* = = */ + /* = DB 작업이 실패 한 경우, bSucc 라는 변수(String)의 값을 "false" = */ + /* = 로 설정해 주시기 바랍니다. (DB 작업 성공의 경우에는 "false" 이외의 = */ + /* = 값을 설정하시면 됩니다.) = */ + /* = -------------------------------------------------------------------------- = */ + + $bSucc = "false"; // DB 작업 실패 또는 금액 불일치의 경우 "false" 로 세팅 + + /* = -------------------------------------------------------------------------- = */ + /* = 07-1. DB 작업 실패일 경우 자동 승인 취소 = */ + /* = -------------------------------------------------------------------------- = */ + if ( $req_tx == "pay" ) + { + if( $res_cd == "0000" ) + { + if ( $bSucc == "false" ) + { + $c_PayPlus->mf_clear(); + + $tran_cd = "00200000"; + + /* ============================================================================== */ + /* = 07-1.자동취소시 에스크로 거래인 경우 = */ + /* = -------------------------------------------------------------------------- = */ + // 취소시 사용하는 mod_type + $bSucc_mod_type = ""; + + // 에스크로 가상계좌 건의 경우 가상계좌 발급취소(STE5) + if ( $escw_yn == "Y" && $use_pay_method == "001000000000" ) + { + $bSucc_mod_type = "STE5"; + } + // 에스크로 가상계좌 이외 건은 즉시취소(STE2) + else if ( $escw_yn == "Y" ) + { + $bSucc_mod_type = "STE2"; + } + // 에스크로 거래 건이 아닌 경우(일반건)(STSC) + else + { + $bSucc_mod_type = "STSC"; + } + /* = -------------------------------------------------------------------------- = */ + /* = 07-1. 자동취소시 에스크로 거래인 경우 처리 END = */ + /* = ========================================================================== = */ + + $c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호 + $c_PayPlus->mf_set_modx_data( "mod_type", $bSucc_mod_type ); // 원거래 변경 요청 종류 + $c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP + $c_PayPlus->mf_set_modx_data( "mod_desc", "가맹점 결과 처리 오류 - 가맹점에서 취소 요청" ); // 변경 사유 + + $c_PayPlus->mf_do_tx( $tno, $g_conf_home_dir, $g_conf_site_cd, + "", $tran_cd, "", + $g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", + $ordr_idxx, $cust_ip, "3" , + 0, 0, $g_conf_key_dir, $g_conf_log_dir); + + $res_cd = $c_PayPlus->m_res_cd; + $res_msg = $c_PayPlus->m_res_msg; + } + } + } // End of [res_cd = "0000"] + /* ============================================================================== */ +?> \ No newline at end of file diff --git a/shop/kcp/pp_ax_hub_result.php b/shop/kcp/pp_ax_hub_result.php new file mode 100644 index 000000000..ff3845be9 --- /dev/null +++ b/shop/kcp/pp_ax_hub_result.php @@ -0,0 +1,133 @@ + +if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 + +/* ============================================================================== */ +/* = PAGE : 결과 처리 PAGE = */ +/* = -------------------------------------------------------------------------- = */ +/* = Copyright (c) 2007 KCP Inc. All Rights Reserverd. = */ +/* ============================================================================== */ + +/* = -------------------------------------------------------------------------- = */ +/* = 06-1. 승인 결과 DB 처리(res_cd == "0000") = */ +/* = -------------------------------------------------------------------------- = */ +/* = 각 결제수단을 구분하시어 DB 처리를 하시기 바랍니다. = */ +/* = -------------------------------------------------------------------------- = */ +if ( $req_tx == "pay" ) +{ + if( $res_cd == "0000" ) + { + // 06-1-1. 신용카드 + if ( $use_pay_method == "100000000000" ) + { + // 06-1-1-1. 복합결제(신용카드 + 포인트) + if ( $pnt_issue == "SCSK" || $pnt_issue == "SCWB" ) + { + } + + $trade_ymd = substr($app_time,0,4)."-".substr($app_time,4,2)."-".substr($app_time,6,2); + $trade_hms = substr($app_time,8,2).":".substr($app_time,10,2).":".substr($app_time,12,2); + + // 카드내역 INSERT + $sql = "insert {$g4['yc4_card_history_table']} + set od_id = '$ordr_idxx', + uq_id = '$tmp_uq_id', + cd_mall_id = '$site_cd', + cd_amount = '$good_mny', + cd_app_no = '$app_no', + cd_app_rt = '$res_cd', + cd_trade_ymd = '$trade_ymd', + cd_trade_hms = '$trade_hms', + cd_opt01 = '$buyr_name', + cd_time = NOW(), + cd_ip = '$cust_ip' "; + $result = sql_query($sql, TRUE); + } + // 06-1-2. 계좌이체 + if ( $use_pay_method == "010000000000" ) + { + $trade_ymd = date("Y-m-d", time()); + $trade_hms = date("H:i:s", time()); + + // 계좌이체내역 INSERT + $sql = "insert {$g4['yc4_card_history_table']} + set od_id = '$ordr_idxx', + uq_id = '$tmp_uq_id', + cd_mall_id = '$site_cd', + cd_amount = '$good_mny', + cd_app_no = '$tno', + cd_app_rt = '$res_cd', + cd_trade_ymd = '$trade_ymd', + cd_trade_hms = '$trade_hms', + cd_opt01 = '$buyr_name', + cd_time = NOW(), + cd_ip = '$cust_ip' "; + $result = sql_query($sql, TRUE); + } + // 06-1-3. 가상계좌 + if ( $use_pay_method == "001000000000" ) + { + + $bankname = iconv("cp949", "utf8", $bankname); + + $trade_ymd = date("Y-m-d", time()); + $trade_hms = date("H:i:s", time()); + + // 가상계좌내역 INSERT + $sql = "insert {$g4['yc4_card_history_table']} + set od_id = '$ordr_idxx', + uq_id = '$tmp_uq_id', + cd_mall_id = '$site_cd', + cd_amount = '0', + cd_app_no = '$tno', + cd_app_rt = '$res_cd', + cd_trade_ymd = '$trade_ymd', + cd_trade_hms = '$trade_hms', + cd_opt01 = '$buyr_name', + cd_time = NOW(), + cd_ip = '$cust_ip' "; + $result = sql_query($sql, TRUE); + } + // 06-1-4. 포인트 + if ( $use_pay_method == "000100000000" ) + { + } + // 06-1-5. 휴대폰 + if ( $use_pay_method == "000010000000" ) + { + + $trade_ymd = substr($app_time,0,8); + $trade_hms = substr($app_time,8,6); + + // 휴대폰결제내역 INSERT + $sql = "insert {$g4['yc4_card_history_table']} + set od_id = '$ordr_idxx', + uq_id = '$tmp_uq_id', + cd_mall_id = '$site_cd', + cd_amount = '$good_mny', + cd_app_no = '$tno', + cd_app_rt = '$res_cd', + cd_trade_ymd = '$trade_ymd', + cd_trade_hms = '$trade_hms', + cd_opt01 = '$buyr_name', + cd_opt02 = '$mobile_no $commid', + cd_time = NOW(), + cd_ip = '$cust_ip' "; + $result = sql_query($sql, TRUE); + } + // 06-1-6. 상품권 + if ( $use_pay_method == "000000001000" ) + { + } + } +/* = -------------------------------------------------------------------------- = */ +/* = 06.-2 승인 및 실패 결과 DB처리 = */ +/* ============================================================================== */ + + else if ( $req_cd != "0000" ) + { + } +} +/* = -------------------------------------------------------------------------- = */ +/* = 06. 승인 및 실패 결과 DB 처리 END = */ +/* = ========================================================================== = */ +?> \ No newline at end of file diff --git a/shop/kcp/proc_win.html b/shop/kcp/proc_win.html new file mode 100644 index 000000000..2d8194444 --- /dev/null +++ b/shop/kcp/proc_win.html @@ -0,0 +1,17 @@ + + +
+
+
+
\ No newline at end of file
diff --git a/shop/orderform.php b/shop/orderform.php
index 7529e3d39..53e494c47 100644
--- a/shop/orderform.php
+++ b/shop/orderform.php
@@ -27,12 +27,343 @@ include_once('./_head.php');
$s_page = 'orderform.php';
$s_uq_id = $tmp_uq_id;
include_once('./cartsub.inc.php');
+
+// 새로운 주문번호 생성
+if(!get_session('ss_order_uniqid')) {
+ set_session('ss_order_uniqid', get_uniqid());
+}
+$od_uq_id = get_session('ss_order_uniqid');
+
+if (file_exists("./settle_{$default['de_card_pg']}.inc.php")) {
+ include "./settle_{$default['de_card_pg']}.inc.php";
+}
+
+$good_info = '';
+
+// 상품수만큼 정보 필드 미리 만들어둠
+for($k=0;$itemlist = sql_fetch_array($result); $k++) {
+ // 에스크로 상품정보
+ if ($k>0)
+ $good_info .= chr(30);
+ $good_info .= "seq=".($k+1).chr(31);
+ $good_info .= "ordr_numb={$od_uq_id}_".sprintf("%04d", $k).chr(31);
+ $good_info .= "good_name=".addslashes(preg_replace("/\'|\"|\||\,|\&|\;/", "", $itemlist[$k]['it_name'])).chr(31);
+ $good_info .= "good_cntx=".$itemlist[$k]['qty'].chr(31);
+ $good_info .= "good_amtx=".$itemlist[$k]['amount'].chr(31);
+
+ // 상품명
+ if($k == 0) {
+ $goods = preg_replace("/\'|\"|\||\,|\&|\;/", "", $itemlist[$k]['it_name']);
+ }
+}
+
+if($goods_count > 1) {
+ $goods .= "외 ".($goods_count - 1);
+}
+
+$good_mny = (int)$tot_sell_amount + (int)$send_cost;
+
+$order_action_url = G4_HTTPS_SHOP_URL.'/orderformupdate.php';
?>
-