Update orderpay.pgkcp.php
This commit is contained in:
parent
59ad26943a
commit
3e2d163695
|
@ -8,11 +8,23 @@
|
||||||
|
|
||||||
if(!defined("_DEF_RSF_")) set_error_exit("do not allow access");
|
if(!defined("_DEF_RSF_")) set_error_exit("do not allow access");
|
||||||
|
|
||||||
|
$debug = get_requested_value("debug");
|
||||||
|
|
||||||
|
if($debug != "true") {
|
||||||
|
// 필수 항목 체크
|
||||||
|
$required_fields = array("pay_method_alias", "good_name", "good_mny", "buyr_name", "buyr_mail", "buyr_tel1");
|
||||||
|
foreach($required_fields as $name) {
|
||||||
|
if(array_key_empty($name, $requests['_POST'])) {
|
||||||
|
set_error_exit("required field is empty. " . $name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// detect CSRF attack
|
// detect CSRF attack
|
||||||
if(check_token_abuse_by_requests("_token")) {
|
if(check_token_abuse_by_requests("_token")) {
|
||||||
set_error("Access denied. (Expired session or Website attacker)");
|
set_error("Access denied. (Expired session or Website attacker)");
|
||||||
show_errors();
|
show_errors();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
set_session_token();
|
set_session_token();
|
||||||
|
|
||||||
|
@ -26,8 +38,9 @@ $pgkcp_config = get_pgkcp_config();
|
||||||
extract($pgkcp_config);
|
extract($pgkcp_config);
|
||||||
|
|
||||||
// initalize data
|
// initalize data
|
||||||
|
$payinfo = array();
|
||||||
$data = array(
|
$data = array(
|
||||||
"payinfo" => array(),
|
"payinfo" => $payinfo,
|
||||||
"redirect_url" => get_requested_value("redirect_url"),
|
"redirect_url" => get_requested_value("redirect_url"),
|
||||||
"_token" => get_session_token(),
|
"_token" => get_session_token(),
|
||||||
"_next_route" => "orderpay.step2.pgkcp",
|
"_next_route" => "orderpay.step2.pgkcp",
|
||||||
|
@ -46,12 +59,10 @@ $fieldnames = array(
|
||||||
"buyr_tel2" // 주문자 연락처 2
|
"buyr_tel2" // 주문자 연락처 2
|
||||||
);
|
);
|
||||||
foreach($fieldnames as $name) {
|
foreach($fieldnames as $name) {
|
||||||
$data['payinfo'][$name] = get_requested_value($name);
|
$payinfo[$name] = get_requested_value($name);
|
||||||
}
|
}
|
||||||
|
|
||||||
// pay_method 처리
|
// pay_method 처리
|
||||||
$pay_method = get_value_in_array("pay_method", $data['payinfo'], "");
|
|
||||||
$pay_method_alias = get_value_in_array("pay_method_alias", $data['payinfo'], "");
|
|
||||||
$pay_method_rules = array(
|
$pay_method_rules = array(
|
||||||
"CRE" => "100000000000", // 신용카드
|
"CRE" => "100000000000", // 신용카드
|
||||||
"ACC" => "010000000000", // 계좌이체
|
"ACC" => "010000000000", // 계좌이체
|
||||||
|
@ -62,47 +73,49 @@ $pay_method_rules = array(
|
||||||
"ARS" => "000000000010", // ARS
|
"ARS" => "000000000010", // ARS
|
||||||
"CAV" => "111000000000" // 신용카드/계좌이체/가상계좌
|
"CAV" => "111000000000" // 신용카드/계좌이체/가상계좌
|
||||||
);
|
);
|
||||||
|
$pay_method = get_value_in_array("pay_method", $payinfo, $pay_method_rules['CRE']);
|
||||||
|
$pay_method_alias = get_value_in_array("pay_method_alias", $payinfo, "");
|
||||||
foreach($pay_method_rules as $k=>$v) {
|
foreach($pay_method_rules as $k=>$v) {
|
||||||
if(in_array($pay_method_alias, $pay_method_rules)) {
|
if(in_array($pay_method_alias, $pay_method_rules)) {
|
||||||
$pay_method = $pay_method_rules[$pay_method_alias];
|
$pay_method = $pay_method_rules[$pay_method_alias];
|
||||||
$data['payinfo']['pay_method'] = $pay_method;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$payinfo['pay_method'] = $pay_method;
|
||||||
|
|
||||||
// 2.가맹점 필수 정보 설정: 승인(pay)/취소,매입(mod)
|
// 2.가맹점 필수 정보 설정: 승인(pay)/취소,매입(mod)
|
||||||
$req_tx = get_requested_value("req_tx");
|
$req_tx = get_requested_value("req_tx");
|
||||||
$data['payinfo']['req_tx'] = in_array($req_tx, array("pay", "mod")) ? $req_tx : "pay";
|
$payinfo['req_tx'] = in_array($req_tx, array("pay", "mod")) ? $req_tx : "pay";
|
||||||
$data['payinfo']['site_cd'] = $g_conf_site_cd;
|
$payinfo['site_cd'] = $g_conf_site_cd;
|
||||||
$data['payinfo']['site_name'] = $g_conf_site_name;
|
$payinfo['site_name'] = $g_conf_site_name;
|
||||||
|
|
||||||
// 할부옵션: 0 ~ 18 개월까지, 50,000원 이상만 가능
|
// 할부옵션: 0 ~ 18 개월까지, 50,000원 이상만 가능
|
||||||
$data['payinfo']['quotaopt'] = get_requested_value("quotaopt");
|
$payinfo['quotaopt'] = get_requested_value("quotaopt");
|
||||||
if(array_key_empty("quotaopt", $data['payinfo'])) {
|
if(array_key_empty("quotaopt", $payinfo)) {
|
||||||
$data['payinfo']['quotaopt'] = 12;
|
$payinfo['quotaopt'] = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 결제 금액/화폐단위: 필수항목
|
// 결제 금액/화폐단위: 필수항목
|
||||||
$currency = get_requested_value("currency");
|
$currency = get_requested_value("currency");
|
||||||
if(array_key_empty("currency", $data['payinfo'])) {
|
if(array_key_empty("currency", $payinfo)) {
|
||||||
$data['payinfo']['currency'] = "WON";
|
$payinfo['currency'] = "WON";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. 변경 제한 영역: 표준 웹 설정 영역
|
// 3. 변경 제한 영역: 표준 웹 설정 영역
|
||||||
$data['payinfo']['module_type'] = $module_type;
|
$payinfo['module_type'] = $module_type;
|
||||||
$data['payinfo']['res_cd'] = "";
|
$payinfo['res_cd'] = "";
|
||||||
$data['payinfo']['res_msg'] = "";
|
$payinfo['res_msg'] = "";
|
||||||
$data['payinfo']['enc_info'] = "";
|
$payinfo['enc_info'] = "";
|
||||||
$data['payinfo']['enc_data'] = "";
|
$payinfo['enc_data'] = "";
|
||||||
$data['payinfo']['ret_pay_method'] = "";
|
$payinfo['ret_pay_method'] = "";
|
||||||
$data['payinfo']['ordr_chk'] = ""; // 주문정보 검증 관련 정보
|
$payinfo['ordr_chk'] = ""; // 주문정보 검증 관련 정보
|
||||||
|
|
||||||
// 변경 제한 영역: 현금영수증 관련 정보
|
// 변경 제한 영역: 현금영수증 관련 정보
|
||||||
$data['payinfo']['cash_yn'] = "";
|
$payinfo['cash_yn'] = "";
|
||||||
$data['payinfo']['cash_tr_code'] = "";
|
$payinfo['cash_tr_code'] = "";
|
||||||
$data['payinfo']['cash_id_info'] = "";
|
$payinfo['cash_id_info'] = "";
|
||||||
|
|
||||||
// 변경 제한 영역: 2012년 8월 18일 전자상거래법 개정 (0:일회성 1:기간설정(ex 1:2012010120120131))
|
// 변경 제한 영역: 2012년 8월 18일 전자상거래법 개정 (0:일회성 1:기간설정(ex 1:2012010120120131))
|
||||||
$data['payinfo']['good_expr'] = "";
|
$payinfo['good_expr'] = "";
|
||||||
|
|
||||||
// 4. 옵션 정보: 결제에 필요한 추가 옵션 정보를 입력 및 설정합니다.
|
// 4. 옵션 정보: 결제에 필요한 추가 옵션 정보를 입력 및 설정합니다.
|
||||||
$default_options = array(
|
$default_options = array(
|
||||||
|
@ -134,25 +147,38 @@ $default_options = array(
|
||||||
foreach($default_options as $k=>$v) {
|
foreach($default_options as $k=>$v) {
|
||||||
$req_value = get_requested_value($k);
|
$req_value = get_requested_value($k);
|
||||||
if(!empty($req_value)) {
|
if(!empty($req_value)) {
|
||||||
$data['payinfo'][$k] = ($req_value === "_DEFAULT_") ? $v : $req_value;
|
$payinfo[$k] = ($req_value === "_DEFAULT_") ? $v : $req_value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 설정 불러오기
|
// 설정 불러오기
|
||||||
$data['payinfo']['g_conf_site_cd'] = $pgkcp_config['g_conf_site_cd'];
|
$payinfo['g_conf_site_cd'] = $pgkcp_config['g_conf_site_cd'];
|
||||||
$data['payinfo']['g_conf_site_name'] = $pgkcp_config['g_conf_site_name'];
|
$payinfo['g_conf_site_name'] = $pgkcp_config['g_conf_site_name'];
|
||||||
$data['payinfo']['module_type'] = $pgkcp_config['module_type'];
|
$payinfo['module_type'] = $pgkcp_config['module_type'];
|
||||||
|
|
||||||
|
// 결제 정보 업데이트
|
||||||
|
$data['payinfo'] = $payinfo;
|
||||||
|
|
||||||
// 스크립트 설정
|
// 스크립트 설정
|
||||||
$jsloader = new JSLoader();
|
$jsloader = new JSLoader();
|
||||||
$jsloader->add_scripts(base_url() . "view/public/route/orderpay.pgkcp.1.js");
|
$jsloader->add_scripts(base_url() . "view/public/js/route/orderpay.pgkcp.1.js");
|
||||||
$jsloader->add_scripts($g_conf_js_url);
|
$jsloader->add_scripts($g_conf_js_url);
|
||||||
$jsloader->add_scripts(base_url() . "view/public/route/orderpay.pgkcp.2.js");
|
$jsloader->add_scripts(base_url() . "view/public/js/route/orderpay.pgkcp.2.js");
|
||||||
$jsoutput = $jsloader->get_output();
|
$jsoutput = $jsloader->get_output();
|
||||||
$data['jsoutput'] = $jsoutput;
|
$data['jsoutput'] = $jsoutput;
|
||||||
|
|
||||||
// 결제 진행 URL
|
// 결제 진행 URL
|
||||||
$data['pgkcp_action_url'] = base_url();
|
$data['pgkcp_action_url'] = base_url();
|
||||||
|
|
||||||
|
// 디버그 시
|
||||||
|
if($debug == "true") {
|
||||||
|
$payinfo['good_name'] = "테스트 상품";
|
||||||
|
$payinfo['good_mny'] = "1";
|
||||||
|
$payinfo['buyr_name'] = "홍길동";
|
||||||
|
$payinfo['buyr_mail'] = "webmaster@example.org";
|
||||||
|
$payinfo['buyr_tel1'] = "01000000000";
|
||||||
|
$data['payinfo'] = $payinfo;
|
||||||
|
}
|
||||||
|
|
||||||
// 결제창 불러오기
|
// 결제창 불러오기
|
||||||
renderView("view_orderpay.pgkcp", $data);
|
renderView("view_orderpay.pgkcp", $data);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user