mf_clear(); /* ------------------------------------------------------------------------------ */ /* = 02. 인스턴스 생성 및 초기화 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 03. 처리 요청 정보 설정 = */ /* = -------------------------------------------------------------------------- = */ /* = -------------------------------------------------------------------------- = */ /* = 03-1. 승인 요청 = */ /* = -------------------------------------------------------------------------- = */ if ( $req_tx == "pay" ) { $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 ); // 응답 전문 처리 $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값이 설정되지 않았습니다."; } /* = -------------------------------------------------------------------------- = */ /* = 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" ); // 할부 개월 수 } /* = -------------------------------------------------------------------------- = */ /* = 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" ); // 현금 영수증 승인 번호 } } /* = -------------------------------------------------------------------------- = */ /* = 05. 승인 결과 처리 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 06. 승인 및 실패 결과 DB처리 = */ /* = -------------------------------------------------------------------------- = */ /* = 결과를 업체 자체적으로 DB처리 작업하시는 부분입니다. = */ /* = -------------------------------------------------------------------------- = */ if ( $req_tx == "pay" ) { if( $res_cd == "0000" ) { // 06-1-1. 신용카드 if ( $use_pay_method == "100000000000" ) { } // 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" ) { } } /* = -------------------------------------------------------------------------- = */ /* = 06. 승인 및 실패 결과 DB처리 = */ /* ============================================================================== */ else if ( $req_cd != "0000" ) { } } /* ============================================================================== */ /* = 07. 승인 결과 DB처리 실패시 : 자동취소 = */ /* = -------------------------------------------------------------------------- = */ /* = 승인 결과를 DB 작업 하는 과정에서 정상적으로 승인된 건에 대해 = */ /* = DB 작업을 실패하여 DB update 가 완료되지 않은 경우, 자동으로 = */ /* = 승인 취소 요청을 하는 프로세스가 구성되어 있습니다. = */ /* = = */ /* = DB 작업이 실패 한 경우, bSucc 라는 변수(String)의 값을 "false" = */ /* = 로 설정해 주시기 바랍니다. (DB 작업 성공의 경우에는 "false" 이외의 = */ /* = 값을 설정하시면 됩니다.) = */ /* = -------------------------------------------------------------------------- = */ $bSucc = ""; // DB 작업 실패 또는 금액 불일치의 경우 "false" 로 세팅 /* = -------------------------------------------------------------------------- = */ /* = 07-1. DB 작업 실패일 경우 자동 승인 취소 = */ /* = -------------------------------------------------------------------------- = */ if ( $req_tx == "pay" ) { if( $res_cd == "0000" ) { if ( $bSucc == "false" ) { $c_PayPlus->mf_clear(); $tran_cd = "00200000"; $c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호 $c_PayPlus->mf_set_modx_data( "mod_type", "STSC" ); // 원거래 변경 요청 종류 $c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP $c_PayPlus->mf_set_modx_data( "mod_desc", "결과 처리 오류 - 자동 취소" ); // 변경 사유 $c_PayPlus->mf_do_tx( "", $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 ); $res_cd = $c_PayPlus->m_res_cd; $res_msg = $c_PayPlus->m_res_msg; } } } // End of [res_cd = "0000"] /* ============================================================================== */ /* ============================================================================== */ /* = 08. 폼 구성 및 결과페이지 호출 = */ /* ============================================================================== */ ?> 스마트폰 웹 결제창