2022-10-31 15:57:00 +04:00
< ? php
/**
* The services of the Gateway module .
*
* @ package WooCommerce\PayPalCommerce\WcGateway
*/
// phpcs:disable WordPress.Security.NonceVerification.Recommended
declare ( strict_types = 1 );
namespace WooCommerce\PayPalCommerce\WcGateway ;
use WooCommerce\PayPalCommerce\Onboarding\State ;
2022-11-15 14:47:15 +04:00
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface ;
2022-10-31 15:57:00 +04:00
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings ;
return function ( ContainerInterface $container , array $fields ) : array {
$current_page_id = $container -> get ( 'wcgateway.current-ppcp-settings-page-id' );
if ( $current_page_id !== Settings :: PAY_LATER_TAB_ID ) {
return $fields ;
}
2022-11-02 17:34:53 +04:00
$settings = $container -> get ( 'wcgateway.settings' );
assert ( $settings instanceof Settings );
2022-10-31 15:57:00 +04:00
2022-11-02 17:34:53 +04:00
$vault_enabled = $settings -> has ( 'vault_enabled' ) && $settings -> get ( 'vault_enabled' );
2022-10-31 15:57:00 +04:00
2022-11-02 17:34:53 +04:00
$pay_later_messaging_enabled_label = $vault_enabled
? __ ( " You have PayPal vaulting enabled, that's why Pay Later options are unavailable now. You cannot use both features at the same time. " , 'woocommerce-paypal-payments' )
: __ ( 'Enabled' , 'woocommerce-paypal-payments' );
2022-11-15 18:46:44 +04:00
$default_locations = array_keys ( $container -> get ( 'wcgateway.settings.pay-later.messaging-locations' ) );
2022-11-02 17:34:53 +04:00
$render_preview_element = function ( string $id , string $type ) : string {
return '
2022-11-04 10:05:32 +02:00
< div class = " ppcp-preview ppcp-' . $type . '-preview pay-later " >
2022-11-02 17:34:53 +04:00
< h4 > ' . __( ' Preview ', ' woocommerce - paypal - payments ' ) . ' </ h4 >
< div id = " ' . $id . ' " class = " ppcp-' . $type . '-preview-inner " ></ div >
</ div > ' ;
};
2022-10-31 15:57:00 +04:00
$pay_later_fields = array (
2022-11-08 16:38:48 +04:00
'pay_later_button_heading' => array (
'heading' => __ ( 'Pay Later Button' , 'woocommerce-paypal-payments' ),
'type' => 'ppcp-heading' ,
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
'description' => sprintf (
// translators: %1$s and %2$s are the opening and closing of HTML <a> tag.
__ ( 'When enabled, a %1$sPay Later button%2$s is displayed for eligible customers.%3$sPayPal buttons must be enabled to display the Pay Later button.' , 'woocommerce-paypal-payments' ),
'<a href="https://woocommerce.com/document/woocommerce-paypal-payments/#pay-later-buttons" target="_blank">' ,
'</a>' ,
'</ br>'
),
),
2022-10-31 15:57:00 +04:00
'pay_later_button_enabled' => array (
'title' => __ ( 'Enable/Disable' , 'woocommerce-paypal-payments' ),
'type' => 'checkbox' ,
2022-11-02 17:34:53 +04:00
'label' => esc_html ( $pay_later_messaging_enabled_label ),
2022-10-31 15:57:00 +04:00
'default' => true ,
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
2022-11-02 17:34:53 +04:00
'input_class' => $vault_enabled ? array ( 'ppcp-disabled-checkbox' ) : array (),
),
'pay_later_button_locations' => array (
'title' => __ ( 'Pay Later Button Locations' , 'woocommerce-paypal-payments' ),
'type' => 'ppcp-multiselect' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => $default_locations ,
2022-11-02 17:34:53 +04:00
'desc_tip' => false ,
2022-11-08 16:38:48 +04:00
'description' => __ ( 'Select where the Pay Later button should be displayed.' , 'woocommerce-paypal-payments' ),
2022-11-02 17:34:53 +04:00
'options' => $container -> get ( 'wcgateway.settings.pay-later.button-locations' ),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_button_preview' => array (
'type' => 'ppcp-text' ,
'text' => $render_preview_element ( 'ppcpPayLaterButtonPreview' , 'button' ),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
2022-10-31 15:57:00 +04:00
),
// Messaging.
'pay_later_messaging_heading' => array (
'heading' => __ ( 'Pay Later Messaging' , 'woocommerce-paypal-payments' ),
'type' => 'ppcp-heading' ,
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
2022-11-08 16:38:48 +04:00
'description' => sprintf (
// translators: %1$s and %2$s are the opening and closing of HTML <a> tag.
2022-11-15 18:46:44 +04:00
__ ( 'When enabled, %1$sPayPal Pay Later messaging%2$s is displayed for eligible customers.%3$sCustomers automatically see the most relevant Pay Later offering.' , 'woocommerce-paypal-payments' ),
2022-11-08 16:38:48 +04:00
'<a href="https://woocommerce.com/document/woocommerce-paypal-payments/#pay-later-messaging" target="_blank">' ,
'</a>' ,
'</ br>'
),
2022-10-31 15:57:00 +04:00
),
2022-11-02 17:34:53 +04:00
'pay_later_messaging_enabled' => array (
'title' => __ ( 'Enable/Disable' , 'woocommerce-paypal-payments' ),
'type' => 'checkbox' ,
'label' => esc_html ( $pay_later_messaging_enabled_label ),
'default' => true ,
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
'input_class' => $vault_enabled ? array ( 'ppcp-disabled-checkbox' ) : array (),
),
2022-10-31 15:57:00 +04:00
'pay_later_messaging_locations' => array (
'title' => __ ( 'Pay Later Messaging Locations' , 'woocommerce-paypal-payments' ),
'type' => 'ppcp-multiselect' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => $default_locations ,
2022-10-31 15:57:00 +04:00
'desc_tip' => false ,
2022-11-08 16:38:48 +04:00
'description' => __ ( 'Select where the Pay Later messaging should be displayed.' , 'woocommerce-paypal-payments' ),
2022-10-31 15:57:00 +04:00
'options' => $container -> get ( 'wcgateway.settings.pay-later.messaging-locations' ),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_enable_styling_per_messaging_location' => array (
2022-11-15 18:46:44 +04:00
'title' => __ ( 'Customize Messaging Per Location' , 'woocommerce-paypal-payments' ),
2022-10-31 15:57:00 +04:00
'type' => 'checkbox' ,
2022-11-15 18:46:44 +04:00
'label' => __ ( 'Customize Pay Later messaging style per location' , 'woocommerce-paypal-payments' ),
2022-10-31 15:57:00 +04:00
'default' => false ,
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_general_message_layout' => array (
'title' => __ ( 'Messaging Layout' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'text' ,
'desc_tip' => true ,
'description' => __ ( 'The layout of the message.' , 'woocommerce-paypal-payments' ),
'options' => array (
'text' => __ ( 'Text' , 'woocommerce-paypal-payments' ),
2022-11-15 18:46:44 +04:00
'flex' => __ ( 'Banner' , 'woocommerce-paypal-payments' ),
2022-10-31 15:57:00 +04:00
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_general_message_logo' => array (
'title' => __ ( 'Messaging Logo' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => 'inline' ,
2022-10-31 15:57:00 +04:00
'desc_tip' => true ,
'description' => __ ( 'What logo the text message contains. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'primary' => __ ( 'Primary' , 'woocommerce-paypal-payments' ),
'alternative' => __ ( 'Alternative' , 'woocommerce-paypal-payments' ),
'inline' => __ ( 'Inline' , 'woocommerce-paypal-payments' ),
'none' => __ ( 'None' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_general_message_position' => array (
'title' => __ ( 'Messaging Logo Position' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'left' ,
'desc_tip' => true ,
'description' => __ ( 'The position of the logo. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'left' => __ ( 'Left' , 'woocommerce-paypal-payments' ),
'right' => __ ( 'Right' , 'woocommerce-paypal-payments' ),
'top' => __ ( 'Top' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_general_message_color' => array (
'title' => __ ( 'Messaging Text Color' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'black' ,
'desc_tip' => true ,
'description' => __ ( 'The color of the text. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'black' => __ ( 'Black' , 'woocommerce-paypal-payments' ),
'white' => __ ( 'White' , 'woocommerce-paypal-payments' ),
'monochrome' => __ ( 'Monochrome' , 'woocommerce-paypal-payments' ),
'grayscale' => __ ( 'Grayscale' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_general_message_flex_color' => array (
'title' => __ ( 'Messaging Color' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => 'white-no-border' ,
2022-10-31 15:57:00 +04:00
'desc_tip' => true ,
2022-11-15 18:46:44 +04:00
'description' => __ ( 'The color of the text. Only applicable, when the layout style Banner is used.' , 'woocommerce-paypal-payments' ),
2022-10-31 15:57:00 +04:00
'options' => array (
'blue' => __ ( 'Blue' , 'woocommerce-paypal-payments' ),
'black' => __ ( 'Black' , 'woocommerce-paypal-payments' ),
'white' => __ ( 'White' , 'woocommerce-paypal-payments' ),
'white-no-border' => __ ( 'White no border' , 'woocommerce-paypal-payments' ),
'gray' => __ ( 'Gray' , 'woocommerce-paypal-payments' ),
'monochrome' => __ ( 'Monochrome' , 'woocommerce-paypal-payments' ),
'grayscale' => __ ( 'Grayscale' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_general_message_flex_ratio' => array (
'title' => __ ( 'Messaging Ratio' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => '8x1' ,
2022-10-31 15:57:00 +04:00
'desc_tip' => true ,
2022-11-15 18:46:44 +04:00
'description' => __ ( 'The width/height ratio of the banner. Only applicable, when the layout style Banner is used.' , 'woocommerce-paypal-payments' ),
2022-10-31 15:57:00 +04:00
'options' => array (
'1x1' => __ ( '1x1' , 'woocommerce-paypal-payments' ),
'1x4' => __ ( '1x4' , 'woocommerce-paypal-payments' ),
'8x1' => __ ( '8x1' , 'woocommerce-paypal-payments' ),
'20x1' => __ ( '20x1' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
2022-11-02 17:34:53 +04:00
'pay_later_general_message_preview' => array (
'type' => 'ppcp-text' ,
'text' => $render_preview_element ( 'ppcpGeneralMessagePreview' , 'message' ),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
2022-10-31 15:57:00 +04:00
2022-11-02 19:28:16 +04:00
// Single product.
2022-11-02 17:34:53 +04:00
'pay_later_product_messaging_heading' => array (
'heading' => __ ( 'Pay Later Messaging on Single Product' , 'woocommerce-paypal-payments' ),
'type' => 'ppcp-heading' ,
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array (),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_product_message_layout' => array (
'title' => __ ( 'Single Product Messaging Layout' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'text' ,
'desc_tip' => true ,
'description' => __ ( 'The layout of the message.' , 'woocommerce-paypal-payments' ),
'options' => array (
'text' => __ ( 'Text' , 'woocommerce-paypal-payments' ),
2022-11-15 18:46:44 +04:00
'flex' => __ ( 'Banner' , 'woocommerce-paypal-payments' ),
2022-11-02 17:34:53 +04:00
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_product_message_logo' => array (
'title' => __ ( 'Single Product Messaging Logo' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => 'inline' ,
2022-11-02 17:34:53 +04:00
'desc_tip' => true ,
'description' => __ ( 'What logo the text message contains. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'primary' => __ ( 'Primary' , 'woocommerce-paypal-payments' ),
'alternative' => __ ( 'Alternative' , 'woocommerce-paypal-payments' ),
'inline' => __ ( 'Inline' , 'woocommerce-paypal-payments' ),
'none' => __ ( 'None' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_product_message_position' => array (
'title' => __ ( 'Single Product Messaging Logo Position' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'left' ,
'desc_tip' => true ,
'description' => __ ( 'The position of the logo. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'left' => __ ( 'Left' , 'woocommerce-paypal-payments' ),
'right' => __ ( 'Right' , 'woocommerce-paypal-payments' ),
'top' => __ ( 'Top' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_product_message_color' => array (
'title' => __ ( 'Single Product Messaging Text Color' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'black' ,
'desc_tip' => true ,
'description' => __ ( 'The color of the text. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'black' => __ ( 'Black' , 'woocommerce-paypal-payments' ),
'white' => __ ( 'White' , 'woocommerce-paypal-payments' ),
'monochrome' => __ ( 'Monochrome' , 'woocommerce-paypal-payments' ),
'grayscale' => __ ( 'Grayscale' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_product_message_flex_color' => array (
'title' => __ ( 'Single Product Messaging Color' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => 'white-no-border' ,
2022-11-02 17:34:53 +04:00
'desc_tip' => true ,
2022-11-15 18:46:44 +04:00
'description' => __ ( 'The color of the text. Only applicable, when the layout style Banner is used.' , 'woocommerce-paypal-payments' ),
2022-11-02 17:34:53 +04:00
'options' => array (
'blue' => __ ( 'Blue' , 'woocommerce-paypal-payments' ),
'black' => __ ( 'Black' , 'woocommerce-paypal-payments' ),
'white' => __ ( 'White' , 'woocommerce-paypal-payments' ),
'white-no-border' => __ ( 'White no border' , 'woocommerce-paypal-payments' ),
'gray' => __ ( 'Gray' , 'woocommerce-paypal-payments' ),
'monochrome' => __ ( 'Monochrome' , 'woocommerce-paypal-payments' ),
'grayscale' => __ ( 'Grayscale' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_product_message_flex_ratio' => array (
'title' => __ ( 'Single Product Messaging Ratio' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => '8x1' ,
2022-11-02 17:34:53 +04:00
'desc_tip' => true ,
2022-11-15 18:46:44 +04:00
'description' => __ ( 'The width/height ratio of the banner. Only applicable, when the layout style Banner is used.' , 'woocommerce-paypal-payments' ),
2022-11-02 17:34:53 +04:00
'options' => array (
'1x1' => __ ( '1x1' , 'woocommerce-paypal-payments' ),
'1x4' => __ ( '1x4' , 'woocommerce-paypal-payments' ),
'8x1' => __ ( '8x1' , 'woocommerce-paypal-payments' ),
'20x1' => __ ( '20x1' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_product_message_preview' => array (
'type' => 'ppcp-text' ,
'text' => $render_preview_element ( 'ppcpProductMessagePreview' , 'message' ),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
2022-10-31 15:57:00 +04:00
2022-11-02 19:28:16 +04:00
// Cart.
2022-11-02 17:34:53 +04:00
'pay_later_cart_messaging_heading' => array (
'heading' => __ ( 'Pay Later Messaging on Cart' , 'woocommerce-paypal-payments' ),
'type' => 'ppcp-heading' ,
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array (),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_cart_message_layout' => array (
'title' => __ ( 'Cart Messaging Layout' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'text' ,
'desc_tip' => true ,
'description' => __ ( 'The layout of the message.' , 'woocommerce-paypal-payments' ),
'options' => array (
'text' => __ ( 'Text' , 'woocommerce-paypal-payments' ),
2022-11-15 18:46:44 +04:00
'flex' => __ ( 'Banner' , 'woocommerce-paypal-payments' ),
2022-11-02 17:34:53 +04:00
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_cart_message_logo' => array (
'title' => __ ( 'Cart Messaging Logo' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => 'inline' ,
2022-11-02 17:34:53 +04:00
'desc_tip' => true ,
'description' => __ ( 'What logo the text message contains. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'primary' => __ ( 'Primary' , 'woocommerce-paypal-payments' ),
'alternative' => __ ( 'Alternative' , 'woocommerce-paypal-payments' ),
'inline' => __ ( 'Inline' , 'woocommerce-paypal-payments' ),
'none' => __ ( 'None' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_cart_message_position' => array (
'title' => __ ( 'Cart Messaging Logo Position' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'left' ,
'desc_tip' => true ,
'description' => __ ( 'The position of the logo. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'left' => __ ( 'Left' , 'woocommerce-paypal-payments' ),
'right' => __ ( 'Right' , 'woocommerce-paypal-payments' ),
'top' => __ ( 'Top' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_cart_message_color' => array (
'title' => __ ( 'Cart Messaging Text Color' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'black' ,
'desc_tip' => true ,
'description' => __ ( 'The color of the text. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'black' => __ ( 'Black' , 'woocommerce-paypal-payments' ),
'white' => __ ( 'White' , 'woocommerce-paypal-payments' ),
'monochrome' => __ ( 'Monochrome' , 'woocommerce-paypal-payments' ),
'grayscale' => __ ( 'Grayscale' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_cart_message_flex_color' => array (
'title' => __ ( 'Cart Messaging Color' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => 'white-no-border' ,
2022-11-02 17:34:53 +04:00
'desc_tip' => true ,
2022-11-15 18:46:44 +04:00
'description' => __ ( 'The color of the text. Only applicable, when the layout style Banner is used.' , 'woocommerce-paypal-payments' ),
2022-11-02 17:34:53 +04:00
'options' => array (
'blue' => __ ( 'Blue' , 'woocommerce-paypal-payments' ),
'black' => __ ( 'Black' , 'woocommerce-paypal-payments' ),
'white' => __ ( 'White' , 'woocommerce-paypal-payments' ),
'white-no-border' => __ ( 'White no border' , 'woocommerce-paypal-payments' ),
'gray' => __ ( 'Gray' , 'woocommerce-paypal-payments' ),
'monochrome' => __ ( 'Monochrome' , 'woocommerce-paypal-payments' ),
'grayscale' => __ ( 'Grayscale' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_cart_message_flex_ratio' => array (
'title' => __ ( 'Cart Messaging Ratio' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => '8x1' ,
2022-11-02 17:34:53 +04:00
'desc_tip' => true ,
2022-11-15 18:46:44 +04:00
'description' => __ ( 'The width/height ratio of the banner. Only applicable, when the layout style Banner is used.' , 'woocommerce-paypal-payments' ),
2022-11-02 17:34:53 +04:00
'options' => array (
'1x1' => __ ( '1x1' , 'woocommerce-paypal-payments' ),
'1x4' => __ ( '1x4' , 'woocommerce-paypal-payments' ),
'8x1' => __ ( '8x1' , 'woocommerce-paypal-payments' ),
'20x1' => __ ( '20x1' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_cart_message_preview' => array (
'type' => 'ppcp-text' ,
'text' => $render_preview_element ( 'ppcpCartMessagePreview' , 'message' ),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
2022-10-31 15:57:00 +04:00
2022-11-02 19:28:16 +04:00
// Checkout.
2022-11-02 17:34:53 +04:00
'pay_later_checkout_messaging_heading' => array (
'heading' => __ ( 'Pay Later Messaging on Checkout' , 'woocommerce-paypal-payments' ),
'type' => 'ppcp-heading' ,
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array (),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_checkout_message_layout' => array (
'title' => __ ( 'Checkout Messaging Layout' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'text' ,
'desc_tip' => true ,
'description' => __ ( 'The layout of the message.' , 'woocommerce-paypal-payments' ),
'options' => array (
'text' => __ ( 'Text' , 'woocommerce-paypal-payments' ),
2022-11-15 18:46:44 +04:00
'flex' => __ ( 'Banner' , 'woocommerce-paypal-payments' ),
2022-11-02 17:34:53 +04:00
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_checkout_message_logo' => array (
'title' => __ ( 'Checkout Messaging Logo' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => 'inline' ,
2022-11-02 17:34:53 +04:00
'desc_tip' => true ,
'description' => __ ( 'What logo the text message contains. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'primary' => __ ( 'Primary' , 'woocommerce-paypal-payments' ),
'alternative' => __ ( 'Alternative' , 'woocommerce-paypal-payments' ),
'inline' => __ ( 'Inline' , 'woocommerce-paypal-payments' ),
'none' => __ ( 'None' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_checkout_message_position' => array (
'title' => __ ( 'Checkout Messaging Logo Position' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'left' ,
'desc_tip' => true ,
'description' => __ ( 'The position of the logo. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'left' => __ ( 'Left' , 'woocommerce-paypal-payments' ),
'right' => __ ( 'Right' , 'woocommerce-paypal-payments' ),
'top' => __ ( 'Top' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_checkout_message_color' => array (
'title' => __ ( 'Checkout Messaging Text Color' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
'default' => 'black' ,
'desc_tip' => true ,
'description' => __ ( 'The color of the text. Only applicable, when the layout style Text is used.' , 'woocommerce-paypal-payments' ),
'options' => array (
'black' => __ ( 'Black' , 'woocommerce-paypal-payments' ),
'white' => __ ( 'White' , 'woocommerce-paypal-payments' ),
'monochrome' => __ ( 'Monochrome' , 'woocommerce-paypal-payments' ),
'grayscale' => __ ( 'Grayscale' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_checkout_message_flex_color' => array (
'title' => __ ( 'Checkout Messaging Color' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => 'white-no-border' ,
2022-11-02 17:34:53 +04:00
'desc_tip' => true ,
2022-11-15 18:46:44 +04:00
'description' => __ ( 'The color of the text. Only applicable, when the layout style Banner is used.' , 'woocommerce-paypal-payments' ),
2022-11-02 17:34:53 +04:00
'options' => array (
'blue' => __ ( 'Blue' , 'woocommerce-paypal-payments' ),
'black' => __ ( 'Black' , 'woocommerce-paypal-payments' ),
'white' => __ ( 'White' , 'woocommerce-paypal-payments' ),
'white-no-border' => __ ( 'White no border' , 'woocommerce-paypal-payments' ),
'gray' => __ ( 'Gray' , 'woocommerce-paypal-payments' ),
'monochrome' => __ ( 'Monochrome' , 'woocommerce-paypal-payments' ),
'grayscale' => __ ( 'Grayscale' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_checkout_message_flex_ratio' => array (
'title' => __ ( 'Checkout Messaging Ratio' , 'woocommerce-paypal-payments' ),
'type' => 'select' ,
'class' => array (),
'input_class' => array ( 'wc-enhanced-select' ),
2022-11-15 18:46:44 +04:00
'default' => '8x1' ,
2022-11-02 17:34:53 +04:00
'desc_tip' => true ,
2022-11-15 18:46:44 +04:00
'description' => __ ( 'The width/height ratio of the banner. Only applicable, when the layout style Banner is used.' , 'woocommerce-paypal-payments' ),
2022-11-02 17:34:53 +04:00
'options' => array (
'1x1' => __ ( '1x1' , 'woocommerce-paypal-payments' ),
'1x4' => __ ( '1x4' , 'woocommerce-paypal-payments' ),
'8x1' => __ ( '8x1' , 'woocommerce-paypal-payments' ),
'20x1' => __ ( '20x1' , 'woocommerce-paypal-payments' ),
),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
'pay_later_checkout_message_preview' => array (
'type' => 'ppcp-text' ,
'text' => $render_preview_element ( 'ppcpCheckoutMessagePreview' , 'message' ),
'screens' => array ( State :: STATE_ONBOARDED ),
'requirements' => array ( 'messages' ),
'gateway' => Settings :: PAY_LATER_TAB_ID ,
),
2022-10-31 15:57:00 +04:00
);
return array_merge ( $fields , $pay_later_fields );
};