160 lines
5.0 KiB
PHP
160 lines
5.0 KiB
PHP
<?php
|
|
/**
|
|
* PayPal Settings
|
|
*
|
|
* @package easy-digital-downloads
|
|
* @copyright Copyright (c) 2021, Sandhills Development, LLC
|
|
* @license GPL2+
|
|
* @since 2.11
|
|
*/
|
|
|
|
namespace EDD\Gateways\PayPal\Admin;
|
|
|
|
use EDD\Gateways\PayPal;
|
|
|
|
/**
|
|
* Returns the URL to the PayPal Commerce settings page.
|
|
*
|
|
* @since 2.11
|
|
*
|
|
* @return string
|
|
*/
|
|
function get_settings_url() {
|
|
return admin_url( 'edit.php?post_type=download&page=edd-settings&tab=gateways§ion=paypal_commerce' );
|
|
}
|
|
|
|
/**
|
|
* Register the PayPal Standard gateway subsection
|
|
*
|
|
* @param array $gateway_sections Current Gateway Tab subsections
|
|
*
|
|
* @since 2.11
|
|
* @return array Gateway subsections with PayPal Standard
|
|
*/
|
|
function register_paypal_gateway_section( $gateway_sections ) {
|
|
$gateway_sections['paypal_commerce'] = __( 'PayPal', 'easy-digital-downloads' );
|
|
|
|
return $gateway_sections;
|
|
}
|
|
|
|
add_filter( 'edd_settings_sections_gateways', __NAMESPACE__ . '\register_paypal_gateway_section', 1, 1 );
|
|
|
|
/**
|
|
* Registers the PayPal Standard settings for the PayPal Standard subsection
|
|
*
|
|
* @param array $gateway_settings Gateway tab settings
|
|
*
|
|
* @since 2.11
|
|
* @return array Gateway tab settings with the PayPal Standard settings
|
|
*/
|
|
function register_gateway_settings( $gateway_settings ) {
|
|
|
|
$paypal_settings = array(
|
|
'paypal_settings' => array(
|
|
'id' => 'paypal_settings',
|
|
'name' => '<h3>' . __( 'PayPal Settings', 'easy-digital-downloads' ) . '</h3>',
|
|
'type' => 'header',
|
|
),
|
|
'paypal_documentation' => array(
|
|
'id' => 'paypal_documentation',
|
|
'name' => __( 'Documentation', 'easy-digital-downloads' ),
|
|
'desc' => documentation_settings_field(),
|
|
'type' => 'descriptive_text'
|
|
),
|
|
'paypal_connect_button' => array(
|
|
'id' => 'paypal_connect_button',
|
|
'name' => __( 'Connection Status', 'easy-digital-downloads' ),
|
|
'desc' => connect_settings_field(),
|
|
'type' => 'descriptive_text',
|
|
'class' => 'edd-paypal-connect-row',
|
|
),
|
|
'paypal_sandbox_client_id' => array(
|
|
'id' => 'paypal_sandbox_client_id',
|
|
'name' => __( 'Test Client ID', 'easy-digital-downloads' ),
|
|
'desc' => __( 'Enter your test client ID.', 'easy-digital-downloads' ),
|
|
'type' => 'text',
|
|
'size' => 'regular',
|
|
'class' => 'edd-hidden'
|
|
),
|
|
'paypal_sandbox_client_secret' => array(
|
|
'id' => 'paypal_sandbox_client_secret',
|
|
'name' => __( 'Test Client Secret', 'easy-digital-downloads' ),
|
|
'desc' => __( 'Enter your test client secret.', 'easy-digital-downloads' ),
|
|
'type' => 'password',
|
|
'size' => 'regular',
|
|
'class' => 'edd-hidden'
|
|
),
|
|
'paypal_live_client_id' => array(
|
|
'id' => 'paypal_live_client_id',
|
|
'name' => __( 'Live Client ID', 'easy-digital-downloads' ),
|
|
'desc' => __( 'Enter your live client ID.', 'easy-digital-downloads' ),
|
|
'type' => 'text',
|
|
'size' => 'regular',
|
|
'class' => 'edd-hidden'
|
|
),
|
|
'paypal_live_client_secret' => array(
|
|
'id' => 'paypal_live_client_secret',
|
|
'name' => __( 'Live Client Secret', 'easy-digital-downloads' ),
|
|
'desc' => __( 'Enter your live client secret.', 'easy-digital-downloads' ),
|
|
'type' => 'password',
|
|
'size' => 'regular',
|
|
'class' => 'edd-hidden'
|
|
),
|
|
);
|
|
|
|
$is_connected = PayPal\has_rest_api_connection();
|
|
if ( ! $is_connected ) {
|
|
$paypal_settings['paypal_settings']['tooltip_title'] = __( 'Connect with PayPal', 'easy-digital-downloads' );
|
|
$paypal_settings['paypal_settings']['tooltip_desc'] = __( 'Connecting your store with PayPal allows Easy Digital Downloads to automatically configure your store to securely communicate PayPal.<br \><br \>You may see "Sandhills Development, LLC", mentioned during the process—that is the company behind Easy Digital Downloads.', 'easy-digital-downloads' );
|
|
|
|
}
|
|
|
|
/**
|
|
* Filters the PayPal Settings.
|
|
*
|
|
* @param array $paypal_settings
|
|
*/
|
|
$paypal_settings = apply_filters( 'edd_paypal_settings', $paypal_settings );
|
|
$gateway_settings['paypal_commerce'] = $paypal_settings;
|
|
|
|
return $gateway_settings;
|
|
}
|
|
|
|
add_filter( 'edd_settings_gateways', __NAMESPACE__ . '\register_gateway_settings', 1, 1 );
|
|
|
|
/**
|
|
* Returns the content for the documentation settings.
|
|
*
|
|
* @since 2.11
|
|
* @return string
|
|
*/
|
|
function documentation_settings_field() {
|
|
ob_start();
|
|
?>
|
|
<p>
|
|
<?php
|
|
echo wp_kses( sprintf(
|
|
__( 'To learn more about the PayPal gateway, visit <a href="%s" target="_blank">our documentation</a>.', 'easy-digital-downloads' ),
|
|
'https://docs.easydigitaldownloads.com/article/2410-paypal'
|
|
), array( 'a' => array( 'href' => true, 'target' => true ) ) )
|
|
?>
|
|
</p>
|
|
<?php
|
|
if ( ! is_ssl() ) {
|
|
?>
|
|
<div class="notice notice-warning inline">
|
|
<p>
|
|
<?php
|
|
echo wp_kses( sprintf(
|
|
__( 'PayPal requires an SSL certificate to accept payments. You can learn more about obtaining an SSL certificate in our <a href="%s" target="_blank">SSL setup article</a>.', 'easy-digital-downloads' ),
|
|
'https://docs.easydigitaldownloads.com/article/994-how-to-set-up-ssl'
|
|
), array( 'a' => array( 'href' => true, 'target' => true ) ) );
|
|
?>
|
|
</p>
|
|
</div>
|
|
<?php
|
|
}
|
|
|
|
return ob_get_clean();
|
|
}
|