get_option( 'api_username' ); $sandbox_api_username = $this->get_option( 'sandbox_api_username' ); $needs_creds = empty( $api_username ); $needs_sandbox_creds = empty( $sandbox_api_username ); $enable_ips = wc_gateway_ppec()->ips->is_supported(); if ( $enable_ips && $needs_creds ) { $ips_button = '' . __( 'Setup or link an existing PayPal account', 'woocommerce-gateway-paypal-express-checkout' ) . ''; $api_creds_text = sprintf( __( '%s or click here to toggle manual API credential input.', 'woocommerce-gateway-paypal-express-checkout' ), $ips_button ); } else { $reset_link = add_query_arg( array( 'reset_ppec_api_credentials' => 'true', 'environment' => 'live', 'reset_nonce' => wp_create_nonce( 'reset_ppec_api_credentials' ), ), wc_gateway_ppec()->get_admin_setting_link() ); $api_creds_text = sprintf( __( 'To reset current credentials and use other account click here.', 'woocommerce-gateway-paypal-express-checkout' ), $reset_link, __( 'Reset current credentials', 'woocommerce-gateway-paypal-express-checkout' ) ); } if ( $enable_ips && $needs_sandbox_creds ) { $sandbox_ips_button = '' . __( 'Setup or link an existing PayPal Sandbox account', 'woocommerce-gateway-paypal-express-checkout' ) . ''; $sandbox_api_creds_text = sprintf( __( '%s or click here to toggle manual API credential input.', 'woocommerce-gateway-paypal-express-checkout' ), $sandbox_ips_button ); } else { $reset_link = add_query_arg( array( 'reset_ppec_api_credentials' => 'true', 'environment' => 'sandbox', 'reset_nonce' => wp_create_nonce( 'reset_ppec_api_credentials' ), ), wc_gateway_ppec()->get_admin_setting_link() ); $sandbox_api_creds_text = sprintf( __( 'Your account setting is set to sandbox, no real charging takes place. To accept live payments, switch your environment to live and connect your PayPal account. To reset current credentials and use other sandbox account click here.', 'woocommerce-gateway-paypal-express-checkout' ), $reset_link, __( 'Reset current sandbox credentials', 'woocommerce-gateway-paypal-express-checkout' ) ); } $credit_enabled_label = __( 'Enable PayPal Credit', 'woocommerce-gateway-paypal-express-checkout' ); if ( ! wc_gateway_ppec_is_credit_supported() ) { $credit_enabled_label .= '
' . __( 'This option is disabled. Currently PayPal Credit only available for U.S. merchants.', 'woocommerce-gateway-paypal-express-checkout' ) . '
'; } wc_enqueue_js( " jQuery( function( $ ) { var ppec_mark_fields = '#woocommerce_ppec_paypal_title, #woocommerce_ppec_paypal_description'; var ppec_live_fields = '#woocommerce_ppec_paypal_api_username, #woocommerce_ppec_paypal_api_password, #woocommerce_ppec_paypal_api_signature, #woocommerce_ppec_paypal_api_certificate, #woocommerce_ppec_paypal_api_subject'; var ppec_sandbox_fields = '#woocommerce_ppec_paypal_sandbox_api_username, #woocommerce_ppec_paypal_sandbox_api_password, #woocommerce_ppec_paypal_sandbox_api_signature, #woocommerce_ppec_paypal_sandbox_api_certificate, #woocommerce_ppec_paypal_sandbox_api_subject'; var enable_toggle = $( 'a.ppec-toggle-settings' ).length > 0; var enable_sandbox_toggle = $( 'a.ppec-toggle-sandbox-settings' ).length > 0; $( '#woocommerce_ppec_paypal_environment' ).change(function(){ $( ppec_sandbox_fields + ',' + ppec_live_fields ).closest( 'tr' ).hide(); if ( 'live' === $( this ).val() ) { $( '#woocommerce_ppec_paypal_api_credentials, #woocommerce_ppec_paypal_api_credentials + p' ).show(); $( '#woocommerce_ppec_paypal_sandbox_api_credentials, #woocommerce_ppec_paypal_sandbox_api_credentials + p' ).hide(); if ( ! enable_toggle ) { $( ppec_live_fields ).closest( 'tr' ).show(); } } else { $( '#woocommerce_ppec_paypal_api_credentials, #woocommerce_ppec_paypal_api_credentials + p' ).hide(); $( '#woocommerce_ppec_paypal_sandbox_api_credentials, #woocommerce_ppec_paypal_sandbox_api_credentials + p' ).show(); if ( ! enable_sandbox_toggle ) { $( ppec_sandbox_fields ).closest( 'tr' ).show(); } } }).change(); $( '#woocommerce_ppec_paypal_enabled' ).change(function(){ if ( $( this ).is( ':checked' ) ) { $( ppec_mark_fields ).closest( 'tr' ).show(); } else { $( ppec_mark_fields ).closest( 'tr' ).hide(); } }).change(); $( '#woocommerce_ppec_paypal_paymentaction' ).change(function(){ if ( 'sale' === $( this ).val() ) { $( '#woocommerce_ppec_paypal_instant_payments' ).closest( 'tr' ).show(); } else { $( '#woocommerce_ppec_paypal_instant_payments' ).closest( 'tr' ).hide(); } }).change(); if ( enable_toggle ) { $( document ).off( 'click', '.ppec-toggle-settings' ); $( document ).on( 'click', '.ppec-toggle-settings', function( e ) { $( ppec_live_fields ).closest( 'tr' ).toggle( 'fast' ); e.preventDefault(); } ); } if ( enable_sandbox_toggle ) { $( document ).off( 'click', '.ppec-toggle-sandbox-settings' ); $( document ).on( 'click', '.ppec-toggle-sandbox-settings', function( e ) { $( ppec_sandbox_fields ).closest( 'tr' ).toggle( 'fast' ); e.preventDefault(); } ); } }); " ); /** * Settings for PayPal Gateway. */ return apply_filters( 'woocommerce_paypal_express_checkout_settings', array( 'enabled' => array( 'title' => __( 'Enable/Disable', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'checkbox', 'label' => __( 'Enable PayPal Express Checkout', 'woocommerce-gateway-paypal-express-checkout' ), 'description' => __( 'This enables PayPal Express Checkout which allows customers to checkout directly via PayPal from your cart page.', 'woocommerce-gateway-paypal-express-checkout' ), 'desc_tip' => true, 'default' => 'yes', ), 'title' => array( 'title' => __( 'Title', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'text', 'description' => __( 'This controls the title which the user sees during checkout.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => __( 'PayPal Express Checkout', 'woocommerce-gateway-paypal-express-checkout' ), 'desc_tip' => true, ), 'description' => array( 'title' => __( 'Description', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'text', 'desc_tip' => true, 'description' => __( 'This controls the description which the user sees during checkout.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => __( 'Pay via PayPal; you can pay with your credit card if you don\'t have a PayPal account.', 'woocommerce-gateway-paypal-express-checkout' ), ), 'account_settings' => array( 'title' => __( 'Account Settings', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'title', 'description' => '', ), 'environment' => array( 'title' => __( 'Environment', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'select', 'class' => 'wc-enhanced-select', 'description' => __( 'This setting specifies whether you will process live transactions, or whether you will process simulated transactions using the PayPal Sandbox.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => 'live', 'desc_tip' => true, 'options' => array( 'live' => __( 'Live', 'woocommerce-gateway-paypal-express-checkout' ), 'sandbox' => __( 'Sandbox', 'woocommerce-gateway-paypal-express-checkout' ), ), ), 'api_credentials' => array( 'title' => __( 'API Credentials', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'title', 'description' => $api_creds_text, ), 'api_username' => array( 'title' => __( 'Live API Username', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'text', 'description' => __( 'Get your API credentials from PayPal.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => '', 'desc_tip' => true, ), 'api_password' => array( 'title' => __( 'Live API Password', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'password', 'description' => __( 'Get your API credentials from PayPal.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => '', 'desc_tip' => true, ), 'api_signature' => array( 'title' => __( 'Live API Signature', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'text', 'description' => __( 'Get your API credentials from PayPal.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => '', 'desc_tip' => true, 'placeholder' => __( 'Optional if you provide a certificate below', 'woocommerce-gateway-paypal-express-checkout' ), ), 'api_certificate' => array( 'title' => __( 'Live API Certificate', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'file', 'description' => $this->get_certificate_info( $this->get_option( 'api_certificate' ) ), 'default' => '', ), 'api_subject' => array( 'title' => __( 'Live API Subject', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'text', 'description' => __( 'If you\'re processing transactions on behalf of someone else\'s PayPal account, enter their email address or Secure Merchant Account ID (also known as a Payer ID) here. Generally, you must have API permissions in place with the other account in order to process anything other than "sale" transactions for them.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => '', 'desc_tip' => true, 'placeholder' => __( 'Optional', 'woocommerce-gateway-paypal-express-checkout' ), ), 'sandbox_api_credentials' => array( 'title' => __( 'Sandbox API Credentials', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'title', 'description' => $sandbox_api_creds_text, ), 'sandbox_api_username' => array( 'title' => __( 'Sandbox API Username', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'text', 'description' => __( 'Get your API credentials from PayPal.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => '', 'desc_tip' => true, ), 'sandbox_api_password' => array( 'title' => __( 'Sandbox API Password', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'password', 'description' => __( 'Get your API credentials from PayPal.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => '', 'desc_tip' => true, ), 'sandbox_api_signature' => array( 'title' => __( 'Sandbox API Signature', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'text', 'description' => __( 'Get your API credentials from PayPal.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => '', 'desc_tip' => true, ), 'sandbox_api_certificate' => array( 'title' => __( 'Sandbox API Certificate', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'file', 'description' => __( 'Get your API credentials from PayPal.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => '', 'desc_tip' => true, ), 'sandbox_api_subject' => array( 'title' => __( 'Sandbox API Subject', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'text', 'description' => __( 'If you\'re processing transactions on behalf of someone else\'s PayPal account, enter their email address or Secure Merchant Account ID (also known as a Payer ID) here. Generally, you must have API permissions in place with the other account in order to process anything other than "sale" transactions for them.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => '', 'desc_tip' => true, 'placeholder' => __( 'Optional', 'woocommerce-gateway-paypal-express-checkout' ), ), 'display_settings' => array( 'title' => __( 'Display Settings', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'title', 'description' => __( 'Customize the appearance of Express Checkout in your store.', 'woocommerce-gateway-paypal-express-checkout' ), ), 'brand_name' => array( 'title' => __( 'Brand Name', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'text', 'description' => __( 'A label that overrides the business name in the PayPal account on the PayPal hosted checkout pages.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => get_bloginfo( 'name', 'display' ), 'desc_tip' => true, ), 'button_size' => array( 'title' => __( 'Button Size', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'select', 'class' => 'wc-enhanced-select', 'description' => __( 'PayPal offers different sizes of the "PayPal Checkout" buttons, allowing you to select a size that best fits your site\'s theme. This setting will allow you to choose which size button(s) appear on your cart page.', 'woocommerce-gateway-paypal-express-checkout' ), 'default' => 'large', 'desc_tip' => true, 'options' => array( 'small' => __( 'Small', 'woocommerce-gateway-paypal-express-checkout' ), 'medium' => __( 'Medium', 'woocommerce-gateway-paypal-express-checkout' ), 'large' => __( 'Large', 'woocommerce-gateway-paypal-express-checkout' ), ), ), 'cart_checkout_enabled' => array( 'title' => __( 'Checkout on cart page', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'checkbox', 'label' => __( 'Enable PayPal checkout on the cart page', 'woocommerce-gateway-paypal-express-checkout' ), 'description' => __( 'This shows or hides the PayPal checkout button on the cart page.', 'woocommerce-gateway-paypal-express-checkout' ), 'desc_tip' => true, 'default' => 'yes', ), 'mark_enabled' => array( 'title' => __( 'PayPal Mark', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'checkbox', 'label' => __( 'Enable the PayPal Mark on regular checkout', 'woocommerce-gateway-paypal-express-checkout' ), 'description' => __( 'This enables the PayPal mark, which can be shown on regular WooCommerce checkout to use PayPal Express Checkout like a regular WooCommerce gateway.', 'woocommerce-gateway-paypal-express-checkout' ), 'desc_tip' => true, 'default' => 'no', ), 'logo_image_url' => array( 'title' => __( 'Logo Image (190×60)', 'woocommerce-gateway-paypal-express-checkout' ), 'type' => 'image', 'description' => __( 'If you want PayPal to co-brand the checkout page with your logo, enter the URL of your logo image here.