/** * @action woocommerce_order_details_after_order_table * * @param WC_Order $order */ public static function iamport_order_detail(\WC_Order $order) { $checkout_methods = WSKL_Payment_Gates::get_checkout_methods('iamport'); $pay_method = $order->iamport_paymethod; $receipt_url = $order->iamport_receipt_url; $vbank_name = $order->iamport_vbank_name; $vbank_num = $order->iamport_vbank_num; $vbank_date = $order->iamport_vbank_date; $transction_id = $order->get_transaction_id(); ob_start(); switch ($pay_method) { case 'card': $pay_method_text = $checkout_methods['credit']; include_once WSKL_PATH . '/includes/lib/iamport/template-simple.php'; break; case 'trans': $pay_method_text = $checkout_methods['remit']; include_once WSKL_PATH . '/includes/lib/iamport/template-simple.php'; break; case 'phone': $pay_method_text = $checkout_methods['mobile']; include_once WSKL_PATH . '/includes/lib/iamport/template-simple.php'; break; case 'vbank': $pay_method_text = $checkout_methods['virtual']; include_once WSKL_PATH . '/includes/lib/iamport/template-vbank.php'; break; case 'kakao': $pay_method_text = $checkout_methods['kakao_pay']; include_once WSKL_PATH . '/includes/lib/iamport/template-simple.php'; break; } ob_end_flush(); }
public function __construct() { $this->local_settings(); //////////////////////Don't Change Here//////////////////////// $this->id = $this->_pg_agency . '_' . $this->method; $guided_methods = WSKL_Payment_Gates::get_checkout_methods(); $payment_gate_names = WSKL_Payment_Gates::get_pay_gates(); $this->method_title = $payment_gate_names['ags'] . " - {$guided_methods[$this->method]}"; $this->method_description = ''; $this->init_form_fields(); $this->init_settings(); $this->enabled = $this->get_option('enabled'); $this->title = $this->get_option('title'); $this->description = $this->get_option('description'); //////////////////////////////////////////////////////////////// add_action('wp_enqueue_scripts', array($this, 'js_and_css')); add_action('woocommerce_receipt_' . $this->id, array($this, 'order_pay_page')); add_filter('woocommerce_thankyou_order_received_text', array($this, 'order_received_text'), 10, 0); //add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) ); }
public function check_payment_gateways(array $available_gateways) { $wskl_pay_pates = \WSKL_Payment_Gates::get_pay_gates(); $verified = $this->verify(); /** @var \WC_Payment_Gateway $gateway */ foreach ($available_gateways as $idx => $gateway) { if (!$gateway instanceof \WC_Payment_Gateway) { continue; } $gate = substr($gateway->id, 0, strpos($gateway->id, '_')); if (!isset($wskl_pay_pates[$gate])) { continue; } if ($verified) { continue; } unset($available_gateways[$idx]); } return $available_gateways; }
<?php $methods = WSKL_Payment_Gates::get_checkout_methods(); $credit_default = $methods['credit'] . WSKL_Payment_Gates::get_checkout_method_postfix() . <<<EOD <br> 1.페이앱 결제는 1,2번째 칸은 ActiveX 인증 방식이 아니므로 결제창에서 신용카드 번호만 입력하면 신속하게 결제됩니다.<br> 2. 페이앱 결제창의 3번째 칸에서는 기존의 ActiveX 방식이 지원되므로 기존의 방식으로 결제가 가능합니다.<br> EOD; return array(array('id' => 'payapp_user_id', 'label' => __('판매자 아이디', 'wskl'), 'description' => __('페이앱 판매자 아이디를 입력해주십시오', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => ''), array('id' => 'payapp_link_key', 'label' => __('연동 Key', 'wskl'), 'description' => __('페이앱 연동 KEY를 입력해주십시오(중요)', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => ''), array('id' => 'payapp_link_val', 'label' => __('연동 Value', 'wskl'), 'description' => __('페이앱 연동 VALUE를 입력해주십시오(중요)', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => ''), array('id' => 'dummy_34', 'label' => __('판매자 등록', 'wskl'), 'description' => __(' <span class="wskl-notice">판매자 등록 과정은 매우 중요한 사항이므로 정확히 숙지하고 실행해주셔야 합니다. </span></br> 1. 다보리와 계약시 메일로 전달된 판매자 아이디를 입력합니다.</br> PayApp 판매자로 로그인 한 후 확인한 연동 KEY 와 연동 VALUE를 입력하고 저장합니다.</br><a href="https://seller.payapp.kr/c/apiconnect_info.html" target="_blank">https://seller.payapp.kr/c/apiconnect_info.html 연동정보 확인하러 가기</a></br> <span class="wskl-info">페이앱에서는 테스트 모드가 제공되지 않습니다. 대신 결제 실패의 경우가 발생하지 않습니다.<br>불편하시겠지만 결제 테스트 후 판매자 관리자로 로그인하여 해당 결제를 취소하여 주십시오.</span></br> ', 'wskl'), 'type' => 'caption', 'default' => ''));
public static function get_gateway_methods() { $enabled_methods = wskl_get_option('checkout_methods'); $available_methods = array_keys(WSKL_Payment_Gates::get_checkout_methods()); $result = array(); $checkout_methods = array_intersect($enabled_methods, $available_methods); foreach ($checkout_methods as $key) { $class_name = 'WC_Gateway_WSKL_Iamport_' . ucfirst($key); if (class_exists($class_name)) { $result[] = $class_name; } } return $result; }
private function settings_fields() { // specify settings fields $pg_agency = get_option(wskl_get_option_name('pg_agency')); $settings['preview'] = array('title' => __('일러두기', 'wskl'), 'description' => __('다보리를 만든 목적과 사용 방법 및 구매와 기술지원 방법과 업그레이드 등을 설명합니다.', 'wskl'), 'fields' => array(array('id' => 'dummy_1', 'label' => __('제작 목적', 'wskl'), 'description' => '<ol class="wskl-notice">' . '<li>' . __('워드프레스와 우커머스를 Cafe24나 고도몰처럼" 더 쉽고 더 편리하게 만들었습니다.', 'wskl') . '</li>' . '<li>' . __('쇼핑몰 영업에 꼭 필요한 기능만을 모두 담아서 최소의 비용으로 제공합니다.', 'wskl') . '</li>' . '<li>' . __('"다보리 마케팅 자동화 서버와 연동"하여 중소상공인을 위한 "마케팅 자동화" 서비스를 제공합니다.', 'wskl') . '</li>' . '</ol>', 'type' => 'caption', 'default' => ''), array('id' => 'dummy_2', 'label' => __('사용방법', 'wskl'), 'description' => __('<span class="wskl-notice">플러그인 인증키로 "제품 인증"을 하기 전에는 본플러그인의 기능을 사용할 수 없습니다.<br/></span> <a href="https://www.dabory.com/" target="_blank" >"다보리 플러그인 인증키 확인" 페이지로 바로가기</a> ', 'wskl'), 'type' => 'caption', 'default' => ''), array('id' => 'dummy_5', 'label' => __('업데이트/기술지원', 'wskl'), 'description' => __(' <a href="http://www.symphonysoft.co.kr/%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8/" target="_blank" >플러그인 다운로드</a> <a href="https://www.dabory.co.kr/cs/service/" target="_blank">기술지원 요청 바로가기</a> <a href="https://www.dabory.com/shoppingmall/webhosting/" target="_blank" >전용관리 웹호스팅 알아보기</a><br/> ', 'wskl'), 'type' => 'caption', 'default' => ''), array('id' => 'enable_config_editor', 'label' => __('설정편집', 'wskl'), 'description' => __('간단한 wp-config.php 설정 편집 기능 사용.<br><span class="wskl-notice">이 설정은 wp-config.php 파일을 편집합니다. 유지보수시에만 제한적으로 이용하세요.</span>', 'wskl'), 'type' => 'checkbox', 'default' => ''))); $payment_description = ''; // $essential_description = ''; // $extension_description = ''; // $marketing_automation_description = ''; if (isset($_GET['tab']) && $_GET['tab'] == 'authentication') { $payment_description = sprintf('%s <a href="#" id="payment_license_activation">%s</a><br/><span id="payment_license_status">%s</span>', __('활성화 키를 입력후 기능을 활성화하십시오.', 'wskl'), __('키 인증', 'wskl'), WSKL_Auth::get_license_duration_string('payment')); // $essential_description = sprintf( // '%s <a href="#" id="essential_license_activation">%s</a><br/><span id="essential_license_status">%s</span>', // __( '핵심기능 키를 입력후 기능을 활성화하십시오.', 'wskl' ), // __( '핵심기능 인증', 'wskl' ), // WSKL_Auth::get_license_duration_string( 'essential' ) // ); // // $extension_description = sprintf( // '%s <a href="#" id="extension_license_activation">%s</a><br/><span id="extension_license_status">%s</span>', // __( '확장기능 키를 입력후 기능을 활성화하십시오.', 'wskl' ), // __( '확장기능 인증', 'wskl' ), // WSKL_Auth::get_license_duration_string( 'extension' ) // ); // // $marketing_automation_description = sprintf( // '%s <a href="#" id="marketing_automation_license_activation">%s</a><br/><span id="marketing_automation_license_status">%s</span>', // __( '마케팅자동화 키를 입력후 기능을 활성화하십시오.', 'wskl' ), // __( '마케팅자동화 인증', 'wskl' ), // WSKL_Auth::get_license_duration_string( 'marketing' ) // ); } $settings['authentication'] = array('title' => __('제품인증', 'wskl'), 'description' => __('제품 구매 또는 무료 사용시 www.dabory.com에서 부여된 활성화키로 플러그인을 먼저 활성화후 사용 가능합니다.<br/> <a href="https://www.dabory.com/my-account/view-order/" target="_blank" ><span class="wskl-notice">"다보리 플러그인 인증키 확인" 페이지로 바로가기</span></a>', 'wskl'), 'fields' => array(array('id' => 'dummy_3', 'label' => __('사이트 주소(URL)', 'wskl'), 'description' => __(' ' . get_option('siteurl') . '<br/> <span class="wskl-notice">인증키는 사이트 주소와 다보리 메타(meta) 서버 측과 동기화되어 활성화되므로 <br/> 관리자모드 "설정"에서 "사이트를 변경하는 경우" 다시 기능 활성화를 하셔야 합니다. </span> ', 'wskl'), 'type' => 'caption', 'default' => ''), array('id' => 'payment_license', 'label' => __('활성화 키', 'wskl'), 'description' => $payment_description, 'type' => 'longtext', 'default' => '', 'placeholder' => ''))); $settings['checkout-payment-gates'] = array('title' => __('지불기능(A)', 'wskl'), 'description' => __('국내의 모든 지불 대행 회사의 결제 플러그인을 지원합니다.<br/> <span class="wskl-notice">현재 지원되지 않는 플러그인은 무료로 개발해드립니다.</span><br/> 결제대행(PG)회사를 추가하기를 원하는 경우 service@econoq.co.kr 로 메일 주시면 1주일이내에 개발해 드리겠습니다.<br/> <a href="http://www.symphonysoft.co.kr/" target="_blank">신규 플러그인 개발 요청 하러 가기</a><br/>', 'wskl'), 'fields' => array(array('id' => 'enable_sym_pg', 'label' => __('다보리 PG 사용 설정', 'wskl'), 'description' => __('다보리 PG (Payment Gateway) 기능 사용 여부를 설정합니다.', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'company', 'label' => __('회사명 입력 가능', 'wskl'), 'description' => __('사업자 대상 위주 판매의 경우 회사명을 입력 가능 설정을 합니다.', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'pg_agency', 'label' => __('결제대행업체', 'wskl'), 'description' => __('<span class="wskl-notice">변경시 자동으로 저장됩니다.</span> ', 'wskl'), 'type' => 'select', 'options' => WSKL_Payment_Gates::get_pay_gates(), 'default' => 'payapp'))); switch ($pg_agency) { // 기존 PG Agency (Active-X 기반) 공통 설정 필드 #1 case 'kcp': case 'inicis': case 'ags': $agencies_common_fields = (include WSKL_PATH . '/includes/admin/settings/structures/checkout-payment-gates/fields/classic-pg-agencies-common-fields-1.php'); $settings['checkout-payment-gates']['fields'] = array_merge($settings['checkout-payment-gates']['fields'], $agencies_common_fields); break; // 페이앱 전용 필드 #1 // 페이앱 전용 필드 #1 case 'payapp': array_push($settings['checkout-payment-gates']['fields'], array('id' => 'checkout_methods', 'label' => __('결제방식 지정', 'wskl'), 'description' => __(' 사용하실 결제방식을 지정해 주십시오.', 'wskl'), 'type' => 'checkbox_multi', 'options' => WSKL_Payment_Gates::get_checkout_methods(), 'default' => array('credit', '신용카드'))); break; // 아임포트 전용 필드 #1 // 아임포트 전용 필드 #1 case 'iamport': array_push($settings['checkout-payment-gates']['fields'], array('id' => 'checkout_methods', 'label' => __('결제방식 지정', 'wskl'), 'description' => __(' 사용하실 결제방식을 지정해 주십시오.', 'wskl'), 'type' => 'checkbox_multi', 'options' => WSKL_Payment_Gates::get_checkout_methods('iamport'), 'default' => array('credit', '신용카드')), array('id' => 'dummy_33', 'label' => __('아임포트 결정방법', 'wskl'), 'description' => __('<span class="wskl-notice">아임포트 결제와 관련된 내용은 아임포트 서버에서 실행되는 내용이므로 다보리에서 책임지지 않습니다. </span><br><a href="https://admin.iamport.kr/settings" target="_blank">아임포트 PG 설정 바로가기</a><br/> 1. 아임포트에서는 현재 카카오페이, LGU+, KCP, 이니시스, JT-Net, 나이스정보통신이 지원되며 <br>가맹점 설정은 아임포트 사이트에 회원가입/로그인한 후 설정하여야 합니다.', 'wskl'), 'type' => 'caption', 'default' => '')); break; } switch ($pg_agency) { // 페이앱 전용 필드 #2: 인증사항 case 'payapp': $settings['checkout-payment-gates']['fields'] = array_merge($settings['checkout-payment-gates']['fields'], include WSKL_PATH . '/includes/admin/settings/structures/checkout-payment-gates/fields/payapp/payapp-fields.php'); break; case 'kcp': array_push($settings['checkout-payment-gates']['fields'], array('id' => 'kcp_sitename', 'label' => __('사이트이름', 'wskl'), 'description' => __('자체적으로 정한 사이트 이름을 입력해주십시오. (반드시 영문자로 설정하여 주시기 바랍니다.)', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => __('예) 다보리 쇼핑몰', 'wskl')), array('id' => 'kcp_sitecd', 'label' => __('Site Code', 'wskl'), 'description' => __('KCP 에서 발급된 Site Code 를 정확히 입력해주십시오.(중요)', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => __('예) T0000', 'wskl')), array('id' => 'kcp_sitekey', 'label' => __('Site Key', 'wskl'), 'description' => __('KCP 에서 발급된 Site Key를 정확히 입력해주십시오.(중요)', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => __('예) 3grptw1.zW0GSo4PQdaGvsF__', 'wskl')), array('id' => 'dummy_11', 'label' => __('상점등록', 'wskl'), 'description' => __('<span class="wskl-notice">상점등록 과정은 매우 중요한 사항이므로 정확히 숙지하고 실행해주셔야 합니다. </span></br> 1. KCP와 계약 체결 후 다음의 내용을 발급 받습니다.</br> A.Site Code와 Site Key를 입력하고 저장합니다.</br> 2. 당 플러그인의 KCP 홈 폴더중 “bin” 폴더에 있는 pp_cli 화일의 실행권한을 755로 바꾸어 줍니다. 그대로 둘 경우 결제 않됨.</br> 예)/public_html/wp-content/plugins/wskl/includes/lib/homekcp/bin/pp_cli</br> (1) ssh로 로그인 후, 해당폴더에서 "chmod 755 pp_cli" 실행 또는</br> (2) FTP 로 접속하여 해당 화일에 오른쪽 마우스를 클릭 - "화일 권한" 확인 후 755 로 저장</br> <span class="wskl-info">테스트시에는기본 설치된 테스트용 KCP TEST 상점이 사용되므로 참고하세요</span></br>', 'wskl'), 'type' => 'caption', 'default' => '')); break; case 'inicis': array_push($settings['checkout-payment-gates']['fields'], array('id' => 'inicis_admin', 'label' => __('키패스워드', 'wskl'), 'description' => __('키패스워드입력 - 상점관리자 패스워드와 무관합니다.(중요)', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => __('예) 1111', 'wskl')), array('id' => 'inicis_mid', 'label' => __('상점 아이디', 'wskl'), 'description' => __('이니시스에서 발급된 상점아이디를 대소문자 구분하여 입력해주십시오.(중요)', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => __('예) INIpayTest', 'wskl')), array('id' => 'inicis_url', 'label' => __('상점 URL', 'wskl'), 'description' => __('상점의 홈페이지 주소를 입력해주십시오.( http://포함 )', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => __('예) http://www.your_domain.co.kr', 'wskl')), array('id' => 'dummy_11', 'label' => __('상점등록', 'wskl'), 'description' => __('<span class="wskl-notice">상점등록 과정은 매우 중요한 사항이므로 정확히 숙지하고 실행해주셔야 합니다. </span></br> 1. 이니시스와 계약 체결 후 다음의 내용을 발급 받습니다.</br> A. 키패스워드(숫자 4자리)와 상점 아이디(10자리)를 해당설정에 입력하고 저장합니다.</br> B.키화일 등 4개 (keypass.enc, mcert.pem, mpriv.pem, readme.txt)</br> 2. 당 플러그인의 이니페이 홈 폴더중 “key” 폴더에 상점아이디와 동일한 이름의 서브 디렉터리를 만듭니다(대소문자 구별함.).</br> 예)/public_html/wp-content/plugins/wskl/includes/lib/homeinicis/key/[상점아이디]</br> 3. 발급받은 화일 4개 (keypass.enc, mcert.pem, mpriv.pem, readme.txt)를 2.에서 만든 폴더에 복사합니다.</br> <span class="wskl-info">테스트시에는기본 설치된 테스트용 INIpayTest 상점아이디폴더가 사용되므로 참고하세요</span></br>', 'wskl'), 'type' => 'caption', 'default' => '')); break; case 'lgu+': break; case 'ags': array_push($settings['checkout-payment-gates']['fields'], array('id' => 'ags_storenm', 'label' => __('상점명', 'wskl'), 'description' => __('올더게이트 상점명을 입력해주십시오', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => __('예) 올더게이트', 'wskl')), array('id' => 'ags_storeid', 'label' => __('상점 ID', 'wskl'), 'description' => __('올더게이트에서 발급된 상점ID를 정확히 입력해주십시오.(중요)', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => __('예) aegis', 'wskl')), array('id' => 'ags_mallurl', 'label' => __('상점 URL', 'wskl'), 'description' => __('상점의 홈페이지 주소를 입력해주십시오.( http://포함 )', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => __('예) http://www.allthegate.com', 'wskl')), array('id' => 'ags_hp_id', 'label' => __('CPID(모바일결제)', 'wskl'), 'description' => __('올더게이트에서 발급받으신 CPID로 변경', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => ''), array('id' => 'ags_hp_pwd', 'label' => __('CP 비밀번호(모바일결제)', 'wskl'), 'description' => __('올더게이트에서 발급받으신 비밀번호로 변경', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => ''), array('id' => 'ags_hp_subid', 'label' => __('SUB_ID(모바일결제)', 'wskl'), 'description' => __('올더게이트에서 발급받으신 상점만 입력', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => ''), array('id' => 'ags_prodcode', 'label' => __('상품코드(모바일결제)', 'wskl'), 'description' => __('올더게이트에서 발급받으신 상품코드로 변경', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => ''), array('id' => 'ags_unittype', 'label' => __('상품종류(모바일결제)', 'wskl'), 'description' => __('올더게이트에서 발급받으신 상품종류로 변경: 디지털컨텐츠=1, 실물(상품)=2', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => '')); break; case 'iamport': array_push($settings['checkout-payment-gates']['fields'], array('id' => 'iamport_user_code', 'label' => __('가맹점 식별코드', 'wskl'), 'description' => __('아임포트의 가맹점 식별코드를 입력하여 주십시오.', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => ''), array('id' => 'iamport_rest_key', 'label' => __('REST API 키', 'wskl'), 'description' => __('아임포트의 REST API 키를 입력하여 주십시오.', 'wskl'), 'type' => 'text', 'default' => '', 'placeholder' => ''), array('id' => 'iamport_rest_secret', 'label' => __('REST API secret', 'wskl'), 'description' => __('아임포트의 REST API secret 입력하여 주십시오.', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => ''), array('id' => 'dummy_31', 'label' => __('가맹점 등록', 'wskl'), 'description' => __(' <span class="wskl-notice">아임포트의 가맹점 등록 과정은 좀 특이하므로 세심한 주의를 요합니다.<br>고객의 결제 진행시 결제 정보를 아임포트 서버로 보내주면 아임포트 서버가 결제 처리를 대행하는<br> 구조이므로 각 결제 업체의 PG 연동 정보가 아임포트 회원 정보에 설정되어야 합니다.</span></br><span class="wskl-info"> 1. 아임포트 회원가입/로그인 후 시스템설정->내정보 에서 확인된 정보를 입력합니다.</br> 아임포트 회원로그인 후 확인한 REST API 정보를 입력하고 저장합니다.</br><a href="https://admin.iamport.kr/settings" target="_blank">https://admin.iamport.kr/settings REST API 정보를 확인하러 가기</a></br> 2. <a href="https://admin.iamport.kr/settings" target="_blank">https://admin.iamport.kr/settings</a> 의 "PG연동 설정"에서 <br>각 결제 대행업체에서 발급 받은 PG연동 정보를 설정합니다. </br> </font></br> ', 'wskl'), 'type' => 'caption', 'default' => '')); break; } // 페이앱, 아임포트는 추가설정내용 없음. if (!in_array($pg_agency, array('payapp', 'iamport'))) { array_push($settings['checkout-payment-gates']['fields'], array('id' => 'dummy_1', 'label' => __('추가설정내용', 'wskl'), 'description' => __('<span class="wskl-notice">해당페이지 설정후 반드시 추가해야할 "우커머스 결제설정" 내용입니다.</span><a href="' . esc_url(add_query_arg(array('page' => 'wc-settings', 'tab' => 'checkout'), admin_url('admin.php'))) . '" target="_blank">결제설정 바로가기</a><br/> 1. "해당 페이지를 설정하면 우커머스->설정->결제 설정"의 하위메뉴에 지정한 결제 방법이 추가됩니다. <br/> 각각의 하위메뉴로 들어가서 활성화에 체크하여 주십시오. <br/> 2. "우커머스->설정->결제옵션->지불게이트웨이"에서 고객의 결제페이지에 보일 "결제 방법의 순서"를 결정하여 주십시오.<br/> 3. "우커머스->설정->결제설정"의 각 결제 방식을 선택하면 고객의 결제페이지에 보일 결제방식에 대한 안내문 변경이 가능합니다.<br/>', 'wskl'), 'type' => 'caption', 'default' => '')); } $settings['essential-features'] = (include WSKL_PATH . '/includes/admin/settings/structures/essential-features.php'); $settings['convenience-features'] = (include WSKL_PATH . '/includes/admin/settings/structures/convenience-features.php'); $settings['social-login'] = array('title' => __('소셜기능(S)', 'wskl'), 'description' => __('계정관리와 로그인 관련 설정입니다.(소셜 아이콘은 includes/lib/custom 폴더를 참조)', 'wskl'), 'fields' => array(array('id' => 'enable_social_login', 'label' => __('다보리 소셜 로그인 활성화 ', 'wskl'), 'description' => __('다보리에서 제공한 로그인을 사용하게 됩니다.', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'fb_login', 'label' => __('페이스북 계정으로 로그인 활성화 ', 'wskl'), 'description' => __('활성화이후 발급키 입력창이 나타납니다.', 'wskl'), 'type' => 'checkbox', 'default' => ''))); if (get_option(WSKL_PREFIX . 'fb_login') == 'on') { array_push($settings['social-login']['fields'], array('id' => 'fb_app_id', 'label' => __(' [페이스북] App ID', 'wskl'), 'description' => __('페이스북의 App ID 를 입력하십시오', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => ''), array('id' => 'fb_app_secret', 'label' => __(' [페이스북] App Secret', 'wskl'), 'description' => __('페이스북의 App Secret을 입력하십시오', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => ''), array('id' => 'fb_login_link_text', 'label' => __(' [페이스북]링크 텍스트', 'wskl'), 'description' => __('로그인 링크에 보여질 텍스트 또는 이미지 태그를 입력하십시오. 기본 아이콘을 사용하려면 \'[icon]\'으로 입력하세요.', 'wskl'), 'type' => 'textarea', 'default' => '[icon]', 'placeholder' => ''), array('id' => 'dummy_13', 'label' => __(' [페이스북] 키발급', 'wskl'), 'description' => __(' <span class="wskl-notice">반드시 https://developers.facebook.com 에서 키발급을 먼저 받으십시오.</span> <a href="https://developers.facebook.com" target="_blank" >키발급 바로가기</a><br/> 1. My App 메뉴에서 Add a New App 을 클릭한 후 Website 를 선택하십시오. <br/> 2. 해당웹사이트의 이름을 입력하시고 Create New Facebook ID 하십시오. <br/> 3. 반드시 Site URL에 http://를 포함한 고객의 웹사이트 주소를 입력하십시오. <br/> 4. App ID 생성이 완료되면 반드시 해당 App의 Settings 로 가셔서 App Domains와 Website에서 <br/>고객의 웹사이트 주소가 일치하는 지 확인하세요. <span class="wskl-notice">웹사이트 주소가 바뀔때 반드시 여기와 일치시켜야 합니다.</span><br/> 5. App ID와 App Secret 을 확인하신 후 다보리 플러그인의 해당 키값을 입력하고 저장하여 주십시오.<br/> ', 'wskl'), 'type' => 'caption', 'default' => '')); } array_push($settings['social-login']['fields'], array('id' => 'naver_login', 'label' => __('네이버 계정으로 로그인 활성화 ', 'wskl'), 'description' => __('활성화이후 발급키 입력창이 나타납니다. ', 'wskl'), 'type' => 'checkbox', 'default' => '')); if (get_option($this->_prefix . 'naver_login') == 'on') { array_push($settings['social-login']['fields'], array('id' => 'naver_client_id', 'label' => __(' [네이버] Client ID', 'wskl'), 'description' => __('네이버의 Client ID를 입력하십시오', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => ''), array('id' => 'naver_client_secret', 'label' => __(' [네이버] Client Secret', 'wskl'), 'description' => __('네이버의 Client Secret 을 입력하십시오', 'wskl'), 'type' => 'longtext', 'default' => '', 'placeholder' => ''), array('id' => 'naver_login_link_text', 'label' => __(' [네이버] 링크 텍스트', 'wskl'), 'description' => __('로그인 링크에 보여질 텍스트 또는 이미지 태그를 입력하십시오. 기본 아이콘을 사용하려면 \'[icon]\'으로 입력하세요.', 'wskl'), 'type' => 'textarea', 'default' => '[icon]', 'placeholder' => ''), array('id' => 'dummy_14', 'label' => __(' [네이버] 키발급', 'wskl'), 'description' => __(' <span class="wskl-notice">반드시 http://developer.naver.com/wiki/pages/NaverLogin 에서 키발급을 먼저 받으십시오.</span> <a href=" http://developer.naver.com/wiki/pages/NaverLogin" target="_blank" >키발급 바로가기</a><br/> 1. [키발급 관리]를 선택한 후 네이버 로그인을 선택하십시오.. <br/> 2. 새 애플리케이션을 등록하고 서비스 환경은 [www-Web]으로 선택하십시오.. <br/> 3. PC웹과 모바일 웹에서 고객의 웹사이트 주소를 입력하시고 콜백도 동일하게 입력하십시오. <br/> 4. Client ID 생성이 완료되면 어플리케이션 메뉴의 [일반]메뉴로 고객의 PC웹과 모바일 웹사이트 주소가 일치하는 지 확인하세요. <br/> <span class="wskl-notice">웹사이트 주소가 바뀔때 반드시 여기와 일치시켜야 합니다.</span><br/> 5. Client ID와 Client Secret 을 확인하신 후 다보리 플러그인의 해당 키값을 입력하고 저장하여 주십시오.<br/> ', 'wskl'), 'type' => 'caption', 'default' => '')); } $settings['protection-features'] = array('title' => __('차단보안기능(R)', 'wskl'), 'description' => __('특별한 관리없이 악성댓글이나 악성트래픽이 대폭 감소합니다. 한국인 대상 사이트의 경우 한국,미국만 오픈해도 됩니다.', 'wskl'), 'fields' => array(array('id' => 'enable_countryip_block', 'label' => __('국가별 IP 차단', 'wskl'), 'description' => __('국가별 IP를 차단하여 해킹을 미연에 방지합니다.</br> 활성화시 반드시 아래의 "화이트리스트 국가코드"를 넣어 주십시오', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'white_ipcode_list', 'label' => __('화이트 IP 코드 리스트', 'wskl'), 'description' => __('차단하지 않을 국가의 IP 코드를 추가합니다. 컴마로 분리. 자세한 국가코드는 <a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2" target="_blank">ISO 3166-1 alpha-2</a>를 참고하세요. </br><span class="wskl-description">예) KR,US,JP,CN => KR-한국 US-미국, JP-일본, CN-중국</span>', 'wskl'), 'type' => 'longtext', 'default' => 'KR,US,JP,CN', 'placeholder' => 'KR,US,JP,CN'), array('id' => 'dummy_1', 'label' => __('작동 상황', 'wskl'), 'description' => site_url() == wskl_get_option('ip_block_target') ? '<span class="wskl-info">' . __('차단 기능이 동작합니다.', 'wskl') . '</span>' : '<span class="wskl-notice">' . __('도메인이 변경되어 기능이 중지되었습니다. 설정 저장 버튼을 눌러 다시 활성화시켜 주세요', 'wskl') . '</span>'))); $settings['marketing'] = (include WSKL_PATH . '/includes/admin/settings/structures/marketing-automation.php'); if (wskl_lab_enabled()) { $settings['beta-features'] = (include WSKL_PATH . '/includes/admin/settings/structures/beta-features.php'); } if (wskl_debug_enabled()) { $settings['developer'] = (include WSKL_PATH . '/includes/admin/settings/structures/developer.php'); } $settings = apply_filters('wskl_settings_fields', $settings); return $settings; }
<?php return array(array('id' => 'enable_testmode', 'label' => __('테스트 모드로 설정', 'wskl'), 'description' => __('결제 테스트 모드로 설정되어 실제적인 결제는 되지 않습니다.', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'enable_showinputs', 'label' => __('필드보임 설정', 'wskl'), 'description' => __('테스트용으로 사용되므로 일반적인경우 비활성화 해주세요.', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'checkout_methods', 'label' => __('결제방식 지정', 'wskl'), 'description' => __(' 사용하실 결제방식을 지정해 주십시오.', 'wskl'), 'type' => 'checkbox_multi', 'options' => WSKL_Payment_Gates::get_checkout_methods(), 'default' => array('credit', '신용카드')), array('id' => 'enable_https', 'label' => __('HTTPS 사용', 'wskl'), 'description' => __('결제페이지 스크립트을 HTTPS(보안모드)방식으로 호출합니다. 홈페이지 보안 인증 서비스를 받지 않는 사이트의 경우 무시하셔도 됩니다.', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'enable_escrow', 'label' => __('에스크로 설정', 'wskl'), 'description' => __('에스크로 방식으로 결제를 진행합니다.', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'escrow_delivery', 'label' => __('에스크로 예상 배송일', 'wskl'), 'description' => __('에스크로 설정시 배송소요기간(일). (에스크로아닌 경우 해당사항 없음)', 'wskl'), 'type' => 'shorttext', 'default' => '', 'placeholder' => ''));
static $methods; if (!$methods) { $methods = array('credit' => __('신용카드', 'wskl'), 'remit' => __('실시간 계좌이체', 'wskl'), 'virtual' => __('가상계좌 이체', 'wskl'), 'mobile' => __('모바일소액결제', 'wskl')); } switch ($extra_agency_slug) { case 'iamport': return array_merge($methods, array('kakao_pay' => __('카카오페이', 'wskl'))); } return $methods; } public static function get_checkout_method_postfix() { return __('로 결제합니다.', 'wskl'); } public static function add_api_request($api_request) { if (class_exists($api_request)) { new $api_request(); } } public static function output_pay_gate_error() { printf('<div class="notice error"><p class="wskl-warning">%s: %s</p></div>', __('다음 PG 모듈이 발견되지 않았습니다.', 'wskl'), static::$pay_gate); } public static function get_pay_gates() { return array('payapp' => __('페이앱', 'wskl'), 'kcp' => __('KCP', 'wskl'), 'inicis' => __('이니시스', 'wskl'), 'ags' => __('올더게이트', 'wskl'), 'iamport' => __('아임포트', 'wskl')); } } WSKL_Payment_Gates::init();