mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-06 18:16:38 +08:00
Add button and message previews
This commit is contained in:
parent
510cb4db49
commit
cc1fb62a6f
3 changed files with 446 additions and 385 deletions
|
@ -351,7 +351,7 @@ class SmartButton implements SmartButtonInterface {
|
||||||
* @throws NotFoundException When a setting was not found.
|
* @throws NotFoundException When a setting was not found.
|
||||||
*/
|
*/
|
||||||
private function render_message_wrapper_registrar(): bool {
|
private function render_message_wrapper_registrar(): bool {
|
||||||
if ( ! $this->settings_status->pay_later_messaging_is_enabled() ) {
|
if ( ! $this->settings_status->is_pay_later_messaging_enabled() ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -603,7 +603,7 @@ class SmartButton implements SmartButtonInterface {
|
||||||
* @throws NotFoundException When a setting was not found.
|
* @throws NotFoundException When a setting was not found.
|
||||||
*/
|
*/
|
||||||
private function message_values(): array {
|
private function message_values(): array {
|
||||||
if ( ! $this->settings_status->pay_later_messaging_is_enabled() ) {
|
if ( ! $this->settings_status->is_pay_later_messaging_enabled() ) {
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -954,7 +954,7 @@ class SmartButton implements SmartButtonInterface {
|
||||||
$disable_funding = $all_sources;
|
$disable_funding = $all_sources;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! $this->settings_status->pay_later_button_is_enabled_for_context( $this->context() ) ) {
|
if ( ! $this->settings_status->is_pay_later_button_enabled_for_context( $this->context() ) ) {
|
||||||
$disable_funding[] = 'credit';
|
$disable_funding[] = 'credit';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -963,7 +963,7 @@ class SmartButton implements SmartButtonInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
$enable_funding = array( 'venmo' );
|
$enable_funding = array( 'venmo' );
|
||||||
if ( $this->settings_status->pay_later_messaging_is_enabled() || ! in_array( 'credit', $disable_funding, true ) ) {
|
if ( $this->settings_status->is_pay_later_messaging_enabled() || ! in_array( 'credit', $disable_funding, true ) ) {
|
||||||
$enable_funding[] = 'paylater';
|
$enable_funding[] = 'paylater';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1061,7 +1061,7 @@ class SmartButton implements SmartButtonInterface {
|
||||||
$this->context() === 'product'
|
$this->context() === 'product'
|
||||||
&& (
|
&& (
|
||||||
( $this->settings->has( 'button_product_enabled' ) && $this->settings->get( 'button_product_enabled' ) ) ||
|
( $this->settings->has( 'button_product_enabled' ) && $this->settings->get( 'button_product_enabled' ) ) ||
|
||||||
( $this->settings_status->pay_later_messaging_is_enabled_for_location( 'product' ) )
|
( $this->settings_status->is_pay_later_messaging_enabled_for_location( 'product' ) )
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
$load_buttons = true;
|
$load_buttons = true;
|
||||||
|
@ -1077,7 +1077,7 @@ class SmartButton implements SmartButtonInterface {
|
||||||
$this->context() === 'cart'
|
$this->context() === 'cart'
|
||||||
&& (
|
&& (
|
||||||
( $this->settings->has( 'button_cart_enabled' ) && $this->settings->get( 'button_cart_enabled' ) ) ||
|
( $this->settings->has( 'button_cart_enabled' ) && $this->settings->get( 'button_cart_enabled' ) ) ||
|
||||||
( $this->settings_status->pay_later_messaging_is_enabled_for_location( 'cart' ) )
|
( $this->settings_status->is_pay_later_messaging_enabled_for_location( 'cart' ) )
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
$load_buttons = true;
|
$load_buttons = true;
|
||||||
|
|
|
@ -35,6 +35,14 @@ return function ( ContainerInterface $container, array $fields ): array {
|
||||||
? __( "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' )
|
? __( "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' );
|
: __( 'Enabled', 'woocommerce-paypal-payments' );
|
||||||
|
|
||||||
|
$render_preview_element = function ( string $id, string $type ): string {
|
||||||
|
return '
|
||||||
|
<div class="ppcp-' . $type . '-preview pay-later">
|
||||||
|
<h4>' . __( 'Preview', 'woocommerce-paypal-payments' ) . '</h4>
|
||||||
|
<div id="' . $id . '" class="ppcp-' . $type . '-preview-inner"></div>
|
||||||
|
</div>';
|
||||||
|
};
|
||||||
|
|
||||||
$pay_later_fields = array(
|
$pay_later_fields = array(
|
||||||
'pay_later_button_enabled' => array(
|
'pay_later_button_enabled' => array(
|
||||||
'title' => __( 'Enable/Disable', 'woocommerce-paypal-payments' ),
|
'title' => __( 'Enable/Disable', 'woocommerce-paypal-payments' ),
|
||||||
|
@ -59,6 +67,13 @@ return function ( ContainerInterface $container, array $fields ): array {
|
||||||
'requirements' => array( 'messages' ),
|
'requirements' => array( 'messages' ),
|
||||||
'gateway' => Settings::PAY_LATER_TAB_ID,
|
'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,
|
||||||
|
),
|
||||||
|
|
||||||
// Messaging.
|
// Messaging.
|
||||||
'pay_later_messaging_heading' => array(
|
'pay_later_messaging_heading' => array(
|
||||||
|
@ -209,6 +224,13 @@ return function ( ContainerInterface $container, array $fields ): array {
|
||||||
'requirements' => array( 'messages' ),
|
'requirements' => array( 'messages' ),
|
||||||
'gateway' => Settings::PAY_LATER_TAB_ID,
|
'gateway' => Settings::PAY_LATER_TAB_ID,
|
||||||
),
|
),
|
||||||
|
'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,
|
||||||
|
),
|
||||||
|
|
||||||
// Single product
|
// Single product
|
||||||
'pay_later_product_messaging_heading' => array(
|
'pay_later_product_messaging_heading' => array(
|
||||||
|
@ -326,6 +348,13 @@ return function ( ContainerInterface $container, array $fields ): array {
|
||||||
'requirements' => array( 'messages' ),
|
'requirements' => array( 'messages' ),
|
||||||
'gateway' => Settings::PAY_LATER_TAB_ID,
|
'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,
|
||||||
|
),
|
||||||
|
|
||||||
// Cart
|
// Cart
|
||||||
'pay_later_cart_messaging_heading' => array(
|
'pay_later_cart_messaging_heading' => array(
|
||||||
|
@ -443,6 +472,13 @@ return function ( ContainerInterface $container, array $fields ): array {
|
||||||
'requirements' => array( 'messages' ),
|
'requirements' => array( 'messages' ),
|
||||||
'gateway' => Settings::PAY_LATER_TAB_ID,
|
'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,
|
||||||
|
),
|
||||||
|
|
||||||
// Checkout
|
// Checkout
|
||||||
'pay_later_checkout_messaging_heading' => array(
|
'pay_later_checkout_messaging_heading' => array(
|
||||||
|
@ -560,6 +596,13 @@ return function ( ContainerInterface $container, array $fields ): array {
|
||||||
'requirements' => array( 'messages' ),
|
'requirements' => array( 'messages' ),
|
||||||
'gateway' => Settings::PAY_LATER_TAB_ID,
|
'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,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
return array_merge( $fields, $pay_later_fields );
|
return array_merge( $fields, $pay_later_fields );
|
||||||
|
|
|
@ -988,6 +988,15 @@ return array(
|
||||||
'requirements' => array(),
|
'requirements' => array(),
|
||||||
'gateway' => 'paypal',
|
'gateway' => 'paypal',
|
||||||
),
|
),
|
||||||
|
'button_product_preview' => array(
|
||||||
|
'type' => 'ppcp-text',
|
||||||
|
'text' => $render_preview_element( 'ppcpProductButtonPreview' ),
|
||||||
|
'screens' => array(
|
||||||
|
State::STATE_ONBOARDED,
|
||||||
|
),
|
||||||
|
'requirements' => array(),
|
||||||
|
'gateway' => 'paypal',
|
||||||
|
),
|
||||||
|
|
||||||
// Cart settings.
|
// Cart settings.
|
||||||
'button_cart_heading' => array(
|
'button_cart_heading' => array(
|
||||||
|
@ -1130,6 +1139,15 @@ return array(
|
||||||
'requirements' => array(),
|
'requirements' => array(),
|
||||||
'gateway' => 'paypal',
|
'gateway' => 'paypal',
|
||||||
),
|
),
|
||||||
|
'button_cart_preview' => array(
|
||||||
|
'type' => 'ppcp-text',
|
||||||
|
'text' => $render_preview_element( 'ppcpCartButtonPreview' ),
|
||||||
|
'screens' => array(
|
||||||
|
State::STATE_ONBOARDED,
|
||||||
|
),
|
||||||
|
'requirements' => array(),
|
||||||
|
'gateway' => 'paypal',
|
||||||
|
),
|
||||||
|
|
||||||
// Mini cart settings.
|
// Mini cart settings.
|
||||||
'button_mini-cart_heading' => array(
|
'button_mini-cart_heading' => array(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue