mf_clear(); /* ------------------------------------------------------------------------------ */ /* = 02. 인스턴스 생성 및 초기화 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 03. 처리 요청 정보 설정 = */ /* = -------------------------------------------------------------------------- = */ /* = -------------------------------------------------------------------------- = */ /* = 03-1. 승인 요청 = */ /* = -------------------------------------------------------------------------- = */ if ( $req_tx == "pay" ) { /* 1004원은 실제로 업체에서 결제하셔야 될 원 금액을 넣어주셔야 합니다. 결제금액 유효성 검증 */ $c_PayPlus->mf_set_ordr_data( "ordr_mony", $good_mny ); $kcp_pay_type = ''; // 결제수단 검증 파라미터 pay_type (신용카드 : PACA, 계좌이체 : PABK, 가상계좌 : PAVC, 휴대폰 : PAMC) if ($use_pay_method == "100000000000" && (in_array($od_settle_case, array('신용카드', '간편결제')))) { // 신용카드 $kcp_pay_type = 'PACA'; } else if ($use_pay_method == "010000000000" && $od_settle_case === '계좌이체') { // 계좌이체 $kcp_pay_type = 'PABK'; } else if ($use_pay_method == "001000000000" && $od_settle_case === '가상계좌') { // 가상계좌 $kcp_pay_type = 'PAVC'; } else if ($use_pay_method == "000010000000" && $od_settle_case === '휴대폰') { // 휴대폰 $kcp_pay_type = 'PAMC'; } $c_PayPlus->mf_set_ordr_data( "pay_type", $kcp_pay_type ); $c_PayPlus->mf_set_ordr_data( "ordr_no", $ordr_idxx ); $post_enc_data = isset($_POST["enc_data"]) ? $_POST["enc_data"] : ''; $post_enc_info = isset($_POST["enc_info"]) ? $_POST["enc_info"] : ''; $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. 처리 요청 정보 설정 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 04. 실행 = */ /* = -------------------------------------------------------------------------- = */ if ( $tran_cd != "" ) { $c_PayPlus->mf_do_tx( $trace_no, $g_conf_home_dir, $g_conf_site_cd, $g_conf_site_key, $tran_cd, "", $g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx, $cust_ip, $g_conf_log_level, 0, 0, $g_conf_key_dir, $g_conf_log_dir ); // 응답 전문 처리 $res_cd = $c_PayPlus->m_res_cd; // 결과 코드 $res_msg = $c_PayPlus->m_res_msg; // 결과 메시지 } else { $c_PayPlus->m_res_cd = "9562"; $c_PayPlus->m_res_msg = "연동 오류|tran_cd값이 설정되지 않았습니다."; } if ($res_cd != '0000') { $res_msg = iconv("euc-kr", "utf-8", $res_msg); /* echo ""; */ if(isset($_POST['pp_id']) && $_POST['pp_id']) { $page_return_url = G5_SHOP_URL.'/personalpayform.php?pp_id='.get_session('ss_personalpay_id'); } else { $page_return_url = G5_SHOP_URL.'/orderform.php'; if(get_session('ss_direct')) $page_return_url .= '?sw_direct=1'; } alert("$res_cd : $res_msg", $page_return_url); exit; } /* = -------------------------------------------------------------------------- = */ /* = 04. 실행 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 05. 승인 결과 값 추출 = */ /* = -------------------------------------------------------------------------- = */ if ( $req_tx == "pay" ) { if( $res_cd == "0000" ) { $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" ); // 결제 포인트사 코드 /* = -------------------------------------------------------------------------- = */ /* = 05-1. 신용카드 승인 결과 처리 = */ /* = -------------------------------------------------------------------------- = */ if ( $use_pay_method == "100000000000" ) { $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" ); // 할부 개월 수 $od_other_pay_type = $c_PayPlus->mf_get_res_data( "card_other_pay_type" ); // 간편결제유형 $kcp_pay_method = $c_PayPlus->mf_get_res_data( "pay_method" ); // 카카오페이 결제수단 // 카드 코드는 PACA, 카카오머니 코드는 PAKM // https://developer.kcp.co.kr/page/document/directpay if( $kcp_pay_method == "PAKM" ){ // 카카오머니 $card_mny = $kakaomny_mny = $c_PayPlus->mf_get_res_data( "kakaomny_mny" ); $app_time = $app_kakaomny_time = $c_PayPlus->mf_get_res_data( "app_kakaomny_time" ); $od_other_pay_type = 'NHNKCP_KAKAOMONEY'; } else if( $kcp_pay_method == "PANP" ){ // 네이버페이머니 $od_other_pay_type = 'NHNKCP_NAVERMONEY'; } } /* = -------------------------------------------------------------------------- = */ /* = 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" ); // 입금할 계좌 번호 } /* = -------------------------------------------------------------------------- = */ /* = 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_authno = $c_PayPlus->mf_get_res_data( "cash_authno" ); // 현금 영수증 승인 번호 $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 = */ /* ============================================================================== */;