diff --git a/mobile/shop/kcp/KCPComLibrary.php b/mobile/shop/kcp/KCPComLibrary.php new file mode 100644 index 000000000..077351a93 --- /dev/null +++ b/mobile/shop/kcp/KCPComLibrary.php @@ -0,0 +1,192 @@ + 'ApproveReq', + 'ApproveRes' => 'ApproveRes', + 'approve' => 'approve', + 'approveResponse' => 'approveResponse', + 'AccessCredentialType' => 'AccessCredentialType', + 'BaseRequestType' => 'BaseRequestType', + 'BaseResponseType' => 'BaseResponseType', + 'ErrorType' => 'ErrorType', + ); + + var $chatsetType; + var $accessCredentialType; + var $baseRequestType; + var $approveReq; + var $approveResponse; + var $resCD; + var $resMsg; + + + public function PayService( $wsdl = "", $options = array() ) + { + foreach( self::$classmap as $key => $value ) + { + if ( !isset( $options[ 'classmap' ][ $key ] ) ) + { + $options[ 'classmap' ][ $key ] = $value; + } + } + + parent::__construct( $wsdl, $options ); + + $accessCredentialType = null; + $baseRequestType = null; + $approveReq = null; + $resCD = "95XX"; + $resMsg = "연동 오류"; + } + + public function setCharSet( $charsetType ) + { + $this->chatsetType = $charsetType; + } + + public function setAccessCredentialType( $accessLicense, + $signature, + $timestamp ) + { + $this->accessCredentialType = new AccessCredentialType(); + + $this->accessCredentialType->accessLicense = $accessLicense; + $this->accessCredentialType->signature = $signature; + $this->accessCredentialType->timestamp = $timestamp; + } + + public function setBaseRequestType( $detailLevel, + $requestApp, + $requestID, + $userAgent, + $version ) + { + $this->baseRequestType = new BaseRequestType(); + + $this->baseRequestType->detailLevel = $detailLevel; + $this->baseRequestType->requestApp = $requestApp; + $this->baseRequestType->requestID = $requestID; + $this->baseRequestType->userAgent = $userAgent; + $this->baseRequestType->version = $version; + } + + public function setApproveReq( $escrow, + $orderID, + $paymentAmount, + $paymentMethod, + $productName, + $returnUrl, + $siteCode ) + { + $this->approveReq = new ApproveReq(); + + $productName_utf8 = ( $this->chatsetType == "euc-kr" ) ? iconv( "EUC-KR", "UTF-8", $productName ) : $productName; + + $this->approveReq->accessCredentialType = $this->accessCredentialType; + $this->approveReq->baseRequestType = $this->baseRequestType; + $this->approveReq->escrow = $escrow; + $this->approveReq->orderID = $orderID; + $this->approveReq->paymentAmount = $paymentAmount; + $this->approveReq->paymentMethod = $paymentMethod; + $this->approveReq->productName = $productName_utf8; + $this->approveReq->returnUrl = $returnUrl; + $this->approveReq->siteCode = $siteCode; + } + + public function approve() + { + $approve = new approve(); + + $approve->req = $this->approveReq; + + $this->approveResponse = $this->__soapCall( "approve", array( $approve ), + array( 'uri' => 'http://webservice.act.webpay.service.kcp.kr', + 'soapaction' => '' + ) + ); + + $this->resCD = $this->approveResponse->return->baseResponseType->error->code; + $this->resMsg = $this->approveResponse->return->baseResponseType->error->message; + + return $this->approveResponse->return; + } +} \ No newline at end of file diff --git a/mobile/shop/kcp/KCPPaymentService.wsdl b/mobile/shop/kcp/KCPPaymentService.wsdl new file mode 100644 index 000000000..2d6a4ee00 --- /dev/null +++ b/mobile/shop/kcp/KCPPaymentService.wsdl @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile/shop/kcp/approval_key.js b/mobile/shop/kcp/approval_key.js new file mode 100644 index 000000000..65431e5c6 --- /dev/null +++ b/mobile/shop/kcp/approval_key.js @@ -0,0 +1,112 @@ + var isIE = false; + var req01_AJAX; + var READY_STATE_UNINITIALIZED = 0; + var READY_STATE_LOADING = 1; + var READY_STATE_LOADED = 2; + var READY_STATE_INTERACTIVE = 3; + var READY_STATE_COMPLETE = 4; + var PayUrl =""; + + + function displayElement( targetObj, targetText, targetColor ) + { + if ( targetObj.childNodes.length > 0 ) + { + targetObj.replaceChild( document.createTextNode( targetText ), targetObj.childNodes[ 0 ] ); + } else + { + targetObj.appendChild( document.createTextNode( targetText ) ); + } + targetObj.style.color = targetColor; + } + + function clearElement( targetObj ) + { + for ( i = ( targetObj.childNodes.length - 1 ); i >= 0; i-- ) + { + targetObj.removeChild( targetObj.childNodes[ i ] ); + } + } + + function initRequest() + { + if ( window.XMLHttpRequest ) + { + return new XMLHttpRequest(); + } else if ( window.ActiveXObject ) + { + isIE = true; + return new ActiveXObject( "Microsoft.XMLHTTP" ); + } + } + + function sendRequest( url ) + { + req01_AJAX = null; + req01_AJAX = initRequest(); + + if ( req01_AJAX ) + { + req01_AJAX.onreadystatechange = process_AJAX; + req01_AJAX.open( "POST", url, true ); + req01_AJAX.send( null ); + } + } + + function kcp_AJAX() + { + var url = "./order_approval.php"; + var form = document.sm_form; + var params = "?site_cd=" + form.site_cd.value + + "&ordr_idxx=" + form.ordr_idxx.value + + "&good_mny=" + form.good_mny.value + + "&pay_method=" + form.pay_method.value + + "&escw_used=" + form.escw_used.value + + "&good_name=" + form.good_name.value + + "&Ret_URL=" + form.Ret_URL.value; + sendRequest( url + params ); + } + + function process_AJAX() + { + if ( req01_AJAX.readyState == READY_STATE_COMPLETE ) + { + if ( req01_AJAX.status == 200 ) + { + var result = null; + + if ( req01_AJAX.responseText != null ) + { + var txt = req01_AJAX.responseText.split(","); + + if( txt[0].replace(/^\s*/,'').replace(/\s*$/,'') == '0000' ) + { + document.getElementById("approval").value = txt[1].replace(/^\s*/,'').replace(/\s*$/,''); + PayUrl = txt[2].replace(/^\s*/,'').replace(/\s*$/,''); + alert("성공적으로 거래가 등록 되었습니다."); + call_pay_form(); + } + else + { + alert("실패 되었습니다.[" + txt[3].replace(/^\s*/,'').replace(/\s*$/,'') + "]"); + } + } + } + else + { + alert( req01_AJAX.responseText ); + } + } + else if ( req01_AJAX.readyState == READY_STATE_UNINITIALIZED ) + { + } + else if ( req01_AJAX.readyState == READY_STATE_LOADING ) + { + } + else if ( req01_AJAX.readyState == READY_STATE_LOADED ) + { + } + else if ( req01_AJAX.readyState == READY_STATE_INTERACTIVE ) + { + } + } \ No newline at end of file diff --git a/mobile/shop/kcp/bin/pp_cli b/mobile/shop/kcp/bin/pp_cli new file mode 100755 index 000000000..cfe783538 Binary files /dev/null and b/mobile/shop/kcp/bin/pp_cli differ diff --git a/mobile/shop/kcp/cancel.php b/mobile/shop/kcp/cancel.php new file mode 100644 index 000000000..8427346aa --- /dev/null +++ b/mobile/shop/kcp/cancel.php @@ -0,0 +1,135 @@ + + + + + + + *** KCP [AX-HUB Version] *** + + + + + + + +
+ +
+ + + + + + + +
+ + + + + + + + + + +
+ [취소요청] 이 페이지는 결제건에 대해 취소를 요청하는 샘플(예시) 페이지입니다. +
+

소스 수정시 소스 안에 ※ 주의 ※표시가 포함된 문장은 + 가맹점의 상황에 맞게 적절히 수정 적용하시기 바랍니다.

+

이 페이지는 결제된 건에 대한 취소를 요청하는 페이지 입니다.

+

+ 결제가 승인되면 결과값으로 KCP 거래번호(tno)값을 받으실 수 있습니다..
+ 가맹점에서는 이 KCP 거래번호(tno)값으로 취소요청을 하실 수 있습니다.

+
+ + + + + + + + + + + + + + + + + + + + +
취소 요청 정보
요청 구분취소 요청
KCP 거래번호
변경 사유
+ + + + + + + + +
+ + 처음으로 이동합니다 +
+ +
Copyright(c) KCP Inc. All rights reserved.
+ + + + + +
+
+ + diff --git a/mobile/shop/kcp/order_approval.php b/mobile/shop/kcp/order_approval.php new file mode 100644 index 000000000..7a70fa156 --- /dev/null +++ b/mobile/shop/kcp/order_approval.php @@ -0,0 +1,56 @@ + +setCharSet( $charSetType ); + + $payService->setAccessCredentialType( $accessLicense, $signature, $timestamp ); + $payService->setBaseRequestType( $detailLevel, $requestApp, $requestID, $userAgent, $version ); + $payService->setApproveReq( $escrow, $orderID, $paymentAmount, $paymentMethod, $productName, $returnUrl, $siteCode ); + + $approveRes = $payService->approve(); + + printf( "%s,%s,%s,%s", $payService->resCD, $approveRes->approvalKey, + $approveRes->payUrl, $payService->resMsg ); + + } + catch (SoapFault $ex ) + { + printf( "%s,%s,%s,%s", "95XX", "", "", "연동 오류 (PHP SOAP 모듈 설치 필요)" ); + } +?> \ No newline at end of file diff --git a/mobile/shop/kcp/order_approval_form.php b/mobile/shop/kcp/order_approval_form.php new file mode 100644 index 000000000..ceb7fdd9e --- /dev/null +++ b/mobile/shop/kcp/order_approval_form.php @@ -0,0 +1,319 @@ + + + + + + + +스마트폰 웹 결제창 + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + diff --git a/mobile/shop/kcp/pp_ax_hub.php b/mobile/shop/kcp/pp_ax_hub.php new file mode 100644 index 000000000..87ecb5c3f --- /dev/null +++ b/mobile/shop/kcp/pp_ax_hub.php @@ -0,0 +1,424 @@ + + +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. 폼 구성 및 결과페이지 호출 = */ + /* ============================================================================== */ +?> + + + 스마트폰 웹 결제창 + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/mobile/shop/kcp/pp_ax_hub_lib.php b/mobile/shop/kcp/pp_ax_hub_lib.php new file mode 100644 index 000000000..88586d984 --- /dev/null +++ b/mobile/shop/kcp/pp_ax_hub_lib.php @@ -0,0 +1,260 @@ +m_payx_common = ""; + $this->m_payx_card = ""; + $this->m_ordr_data = ""; + $this->m_rcvr_data = ""; + $this->m_escw_data = ""; + $this->m_modx_data = ""; + $this->m_encx_data = ""; + $this->m_encx_info = ""; + } + + function mf_init( $mode ) + { + if ( $mode == "1" ) + { + if ( !extension_loaded( 'pp_cli_dl_php' ) ) + { + dl( "pp_cli_dl_php.so" ); + } + } + } + + function mf_clear() + { + $this->m_payx_common = ""; + $this->m_payx_card = ""; + $this->m_ordr_data = ""; + $this->m_rcvr_data = ""; + $this->m_escw_data = ""; + $this->m_modx_data = ""; + $this->m_encx_data = ""; + $this->m_encx_info = ""; + } + + function mf_gen_trace_no( $site_cd, $ip, $mode ) + { + if ( $mode == "1" ) + { + $trace_no = lfPP_CLI_DL__gen_trace_no( $site_cd, $ip ); + } + else + { + $trace_no = ""; + } + + return $trace_no; + } + + /* -------------------------------------------------------------------- */ + /* - FUNC : ENC DATA 정보 설정 함수 - */ + /* -------------------------------------------------------------------- */ + function mf_set_payx_common_data( $name, $val ) + { + if ( $val != "" ) + { + $this->m_payx_common .= ( $name . '=' . $val . chr( 31 ) ); + } + } + + function mf_set_payx_card_data( $name, $val ) + { + if ( $val != "" ) + { + $this->m_payx_card .= ( $name . '=' . $val . chr( 31 ) ); + } + } + + function mf_set_ordr_data( $name, $val ) + { + if ( $val != "" ) + { + $this->m_ordr_data .= ( $name . '=' . $val . chr( 31 ) ); + } + } + + function mf_set_rcvr_data( $name, $val ) + { + if ( $val != "" ) + { + $this->m_rcvr_data .= ( $name . '=' . $val . chr( 31 ) ); + } + } + + function mf_set_escw_data( $name, $val ) + { + if ( $val != "" ) + { + $this->m_escw_data .= ( $name . '=' . $val . chr( 29 ) ); + } + } + + function mf_set_modx_data( $name, $val ) + { + if ( $val != "" ) + { + $this->m_modx_data .= ( $name . '=' . $val . chr( 31 ) ); + } + } + + function mf_set_encx_data( $encx_data, $encx_info ) + { + $this->m_encx_data = $encx_data; + $this->m_encx_info = $encx_info; + } + + /* -------------------------------------------------------------------- */ + /* - FUNC : 지불 처리 함수 - */ + /* -------------------------------------------------------------------- */ + function mf_do_tx( $trace_no, $home_dir, $site_cd, + $site_key, $tx_cd, $pub_key_str, + $pa_url, $pa_port, $user_agent, + $ordr_idxx, $cust_ip, + $log_level, $opt, $mode ) + { + $payx_data = $this->mf_get_payx_data(); + + $ordr_data = $this->mf_get_data( "ordr_data", $this->m_ordr_data ); + $rcvr_data = $this->mf_get_data( "rcvr_data", $this->m_rcvr_data ); + $escw_data = $this->mf_get_data( "escw_data", $this->m_escw_data ); + $modx_data = $this->mf_get_data( "mod_data", $this->m_modx_data ); + + if ( $mode == "1" ) + { + $res_data = lfPP_CLI_DL__do_tx_2( $trace_no, $home_dir, $site_cd, + $site_key, $tx_cd, $pub_key_str, + $pa_url, $pa_port, $user_agent, + $ordr_idxx, + $payx_data, $ordr_data, + $rcvr_data, $escw_data, + $modx_data, + $this->m_encx_data, $this->m_encx_info, + $log_level, $opt ); + } + else + { + $res_data = $this->mf_exec( $home_dir . "/bin/pp_cli", + "-h", + "home=" . $home_dir . "," . + "site_cd=" . $site_cd . "," . + "site_key=" . $site_key . "," . + "tx_cd=" . $tx_cd . "," . + "pa_url=" . $pa_url . "," . + "pa_port=" . $pa_port . "," . + "ordr_idxx=" . $ordr_idxx . "," . + "payx_data=" . $payx_data . "," . + "ordr_data=" . $ordr_data . "," . + "rcvr_data=" . $rcvr_data . "," . + "escw_data=" . $escw_data . "," . + "modx_data=" . $modx_data . "," . + "enc_data=" . $this->m_encx_data . "," . + "enc_info=" . $this->m_encx_info . "," . + "trace_no=" . $trace_no . "," . + "cust_ip=" . $cust_ip . "," . + "log_level=" . $log_level . "," . + "opt=" . $opt . "" ); + if ( $res_data == "" ) + { + $res_data = "res_cd=9502" . chr( 31 ) . "res_msg=연동 모듈 호출 오류"; + } + } + + parse_str( str_replace( chr( 31 ), "&", $res_data ), $this->m_res_data ); + + $this->m_res_cd = $this->m_res_data[ "res_cd" ]; + $this->m_res_msg = $this->m_res_data[ "res_msg" ]; + } + + /* -------------------------------------------------------------------- */ + /* - FUNC : 처리 결과 값을 리턴하는 함수 - */ + /* -------------------------------------------------------------------- */ + function mf_get_res_data( $name ) + { + return $this->m_res_data[ $name ]; + } + + function mf_get_payx_data() + { + if ( $this->m_payx_common != "" || $this->m_payx_card != "" ) + { + $my_data = "payx_data="; + } + + if ( $this->m_payx_common != "" ) + { + $my_data .= "common=" . $this->m_payx_common . chr( 30 ); + } + + if ( $this->m_payx_card != "" ) + { + $my_data .= ( "card=" . $this->m_payx_card . chr( 30 ) ); + } + + return $my_data; + } + + function mf_get_data( $data_name, $data ) + { + if ( $data != "" ) + { + $my_data = $data_name . "=" . $data; + } + else + { + $my_data = ""; + } + + return $my_data; + } + + function mf_exec() + { + $arg = func_get_args(); + + if ( is_array( $arg[0] ) ) $arg = $arg[0]; + + $exec_cmd = array_shift( $arg ); + + while ( list(,$i) = each($arg) ) + { + $exec_cmd .= " " . escapeshellarg( $i ); + } + + $rt = exec( $exec_cmd ); + + return $rt; + } + } +?> \ No newline at end of file diff --git a/mobile/shop/kcp/real_KCPPaymentService.wsdl b/mobile/shop/kcp/real_KCPPaymentService.wsdl new file mode 100644 index 000000000..6a463bb32 --- /dev/null +++ b/mobile/shop/kcp/real_KCPPaymentService.wsdl @@ -0,0 +1,145 @@ + + + + KCP Payment Service + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile/shop/kcp/result.php b/mobile/shop/kcp/result.php new file mode 100644 index 000000000..8e03f4cb8 --- /dev/null +++ b/mobile/shop/kcp/result.php @@ -0,0 +1,433 @@ + + 업체로 문의하여 확인하시기 바랍니다."; + } + else + { + $res_msg_bsucc = "결제는 정상적으로 이루어졌지만 업체에서 결제 결과를 처리하는 중 오류가 발생하여 시스템에서 자동으로 취소 요청을 하였으나,
취소가 실패 되었습니다.
업체로 문의하여 확인하시기 바랍니다."; + } + } + } + + /* = -------------------------------------------------------------------------- = */ + /* = 가맹점 측 DB 처리 실패시 상세 결과 메시지 설정 끝 = */ + /* ============================================================================== */ +?> + + + + + + + 스마트폰 웹 결제창 + + + + + + + + +
+ + + + + + +
+ + + + + + + + +
+ [결과출력] 이 페이지는 결제 결과를 출력하는 샘플(예시) 페이지입니다. +
+ 결제 결과를 출력하는 페이지 입니다.
+ 요청이 정상적으로 처리된 경우 결과코드(res_cd)값이 0000으로 표시됩니다. +
+ + + + + + + + + + + + +
처리 결과()
결과코드
결과 메세지
결과 상세 메세지
+ + + + + + + + + + + + + + + + + + + + +
주 문 정 보
주문번호
KCP 거래번호
결제금액
상품명
주문자명
주문자 전화번호
주문자 휴대폰번호
주문자 E-mail
+ + + + + + + + + + + + + + + + + + + + + + + +
신용카드 정보
결제수단신용카드
결제카드 /
승인시간
승인번호
할부개월
무이자여부
영수증 확인영수증을 확인합니다. +
※ 영수증 확인은 실제결제의 경우에만 가능합니다.
+ + + + + + + + + + + + +
계좌이체 정보
결제수단계좌이체
이체 은행
이체 은행코드
승인 시간
+ + + + + + + + + + + + +
가상계좌 정보
결제수단가상계좌
입금할 은행
입금할 계좌 예금주
입금할 계좌 번호
+ + + + + + + + + + + + + + + + + + + + + + +
포인트 정보
결제수단포인트
포인트사
결제 및 인증 아이디
포인트 승인시간
포인트 승인번호
적립금액 or 사용금액
발생 포인트
사용가능 포인트
총 누적 포인트
+ + + + + + + + + + + +
휴대폰 정보
결제수단휴대폰
승인시간
통신사코드
휴대폰번호
+ + + + + + + + + + + +
상품권 정보
결제수단상품권
발급사코드
승인시간
승인번호
+ + + + + + + + + + + + + +
현금영수증 정보
현금영수증 등록여부
현금영수증 승인번호
영수증 확인현금영수증을  확인합니다. +
※ 영수증 확인은 실제결제의 경우에만 가능합니다.
+ + + +
처음으로 이동합니다
+
Copyright(c) KCP Inc. All rights reserved.
+
+ +