mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-01 07:02:48 +08:00
Add addition Place Order description in block
This commit is contained in:
parent
9d933b2b73
commit
de1ab5b7bf
4 changed files with 57 additions and 28 deletions
|
@ -321,11 +321,19 @@ const PayPalComponent = ({
|
||||||
const features = ['products'];
|
const features = ['products'];
|
||||||
|
|
||||||
if ((config.addPlaceOrderMethod || config.usePlaceOrder) && !config.scriptData.continuation) {
|
if ((config.addPlaceOrderMethod || config.usePlaceOrder) && !config.scriptData.continuation) {
|
||||||
|
let descriptionElement = <div dangerouslySetInnerHTML={{__html: config.description}}></div>;
|
||||||
|
if (config.placeOrderButtonDescription) {
|
||||||
|
descriptionElement = <div>
|
||||||
|
<p dangerouslySetInnerHTML={{__html: config.description}}></p>
|
||||||
|
<p style={{textAlign: 'center'}} className={'ppcp-place-order-description'} dangerouslySetInnerHTML={{__html: config.placeOrderButtonDescription}}></p>
|
||||||
|
</div>;
|
||||||
|
}
|
||||||
|
|
||||||
registerPaymentMethod({
|
registerPaymentMethod({
|
||||||
name: config.id,
|
name: config.id,
|
||||||
label: <div dangerouslySetInnerHTML={{__html: config.title}}/>,
|
label: <div dangerouslySetInnerHTML={{__html: config.title}}/>,
|
||||||
content: <div dangerouslySetInnerHTML={{__html: config.description}}/>,
|
content: descriptionElement,
|
||||||
edit: <div dangerouslySetInnerHTML={{__html: config.description}}/>,
|
edit: descriptionElement,
|
||||||
placeOrderButtonLabel: config.placeOrderButtonText,
|
placeOrderButtonLabel: config.placeOrderButtonText,
|
||||||
ariaLabel: config.title,
|
ariaLabel: config.title,
|
||||||
canMakePayment: () => config.enabled,
|
canMakePayment: () => config.enabled,
|
||||||
|
|
|
@ -38,6 +38,7 @@ return array(
|
||||||
$container->get( 'blocks.add-place-order-method' ),
|
$container->get( 'blocks.add-place-order-method' ),
|
||||||
$container->get( 'wcgateway.use-place-order-button' ),
|
$container->get( 'wcgateway.use-place-order-button' ),
|
||||||
$container->get( 'wcgateway.place-order-button-text' ),
|
$container->get( 'wcgateway.place-order-button-text' ),
|
||||||
|
$container->get( 'wcgateway.place-order-button-description' ),
|
||||||
$container->get( 'wcgateway.all-funding-sources' )
|
$container->get( 'wcgateway.all-funding-sources' )
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
|
@ -108,6 +108,13 @@ class PayPalPaymentMethod extends AbstractPaymentMethodType {
|
||||||
*/
|
*/
|
||||||
protected $place_order_button_text;
|
protected $place_order_button_text;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The text for additional "Place order" description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $place_order_button_description;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All existing funding sources for PayPal buttons.
|
* All existing funding sources for PayPal buttons.
|
||||||
*
|
*
|
||||||
|
@ -130,6 +137,7 @@ class PayPalPaymentMethod extends AbstractPaymentMethodType {
|
||||||
* @param bool $add_place_order_method Whether to create a non-express method with the standard "Place order" button.
|
* @param bool $add_place_order_method Whether to create a non-express method with the standard "Place order" button.
|
||||||
* @param bool $use_place_order Whether to use the standard "Place order" button instead of PayPal buttons.
|
* @param bool $use_place_order Whether to use the standard "Place order" button instead of PayPal buttons.
|
||||||
* @param string $place_order_button_text The text for the standard "Place order" button.
|
* @param string $place_order_button_text The text for the standard "Place order" button.
|
||||||
|
* @param string $place_order_button_description The text for additional "Place order" description.
|
||||||
* @param array $all_funding_sources All existing funding sources for PayPal buttons.
|
* @param array $all_funding_sources All existing funding sources for PayPal buttons.
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
|
@ -145,22 +153,24 @@ class PayPalPaymentMethod extends AbstractPaymentMethodType {
|
||||||
bool $add_place_order_method,
|
bool $add_place_order_method,
|
||||||
bool $use_place_order,
|
bool $use_place_order,
|
||||||
string $place_order_button_text,
|
string $place_order_button_text,
|
||||||
|
string $place_order_button_description,
|
||||||
array $all_funding_sources
|
array $all_funding_sources
|
||||||
) {
|
) {
|
||||||
$this->name = PayPalGateway::ID;
|
$this->name = PayPalGateway::ID;
|
||||||
$this->module_url = $module_url;
|
$this->module_url = $module_url;
|
||||||
$this->version = $version;
|
$this->version = $version;
|
||||||
$this->smart_button = $smart_button;
|
$this->smart_button = $smart_button;
|
||||||
$this->plugin_settings = $plugin_settings;
|
$this->plugin_settings = $plugin_settings;
|
||||||
$this->settings_status = $settings_status;
|
$this->settings_status = $settings_status;
|
||||||
$this->gateway = $gateway;
|
$this->gateway = $gateway;
|
||||||
$this->final_review_enabled = $final_review_enabled;
|
$this->final_review_enabled = $final_review_enabled;
|
||||||
$this->cancellation_view = $cancellation_view;
|
$this->cancellation_view = $cancellation_view;
|
||||||
$this->session_handler = $session_handler;
|
$this->session_handler = $session_handler;
|
||||||
$this->add_place_order_method = $add_place_order_method;
|
$this->add_place_order_method = $add_place_order_method;
|
||||||
$this->use_place_order = $use_place_order;
|
$this->use_place_order = $use_place_order;
|
||||||
$this->place_order_button_text = $place_order_button_text;
|
$this->place_order_button_text = $place_order_button_text;
|
||||||
$this->all_funding_sources = $all_funding_sources;
|
$this->place_order_button_description = $place_order_button_description;
|
||||||
|
$this->all_funding_sources = $all_funding_sources;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -223,23 +233,24 @@ class PayPalPaymentMethod extends AbstractPaymentMethodType {
|
||||||
);
|
);
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'id' => $this->gateway->id,
|
'id' => $this->gateway->id,
|
||||||
'title' => $this->gateway->title,
|
'title' => $this->gateway->title,
|
||||||
'description' => $this->gateway->description,
|
'description' => $this->gateway->description,
|
||||||
'enabled' => $this->settings_status->is_smart_button_enabled_for_location( $script_data['context'] ),
|
'enabled' => $this->settings_status->is_smart_button_enabled_for_location( $script_data['context'] ),
|
||||||
'fundingSource' => $this->session_handler->funding_source(),
|
'fundingSource' => $this->session_handler->funding_source(),
|
||||||
'finalReviewEnabled' => $this->final_review_enabled,
|
'finalReviewEnabled' => $this->final_review_enabled,
|
||||||
'addPlaceOrderMethod' => $this->add_place_order_method,
|
'addPlaceOrderMethod' => $this->add_place_order_method,
|
||||||
'usePlaceOrder' => $this->use_place_order,
|
'usePlaceOrder' => $this->use_place_order,
|
||||||
'placeOrderButtonText' => $this->place_order_button_text,
|
'placeOrderButtonText' => $this->place_order_button_text,
|
||||||
'enabledFundingSources' => $funding_sources,
|
'placeOrderButtonDescription' => $this->place_order_button_description,
|
||||||
'ajax' => array(
|
'enabledFundingSources' => $funding_sources,
|
||||||
|
'ajax' => array(
|
||||||
'update_shipping' => array(
|
'update_shipping' => array(
|
||||||
'endpoint' => WC_AJAX::get_endpoint( UpdateShippingEndpoint::ENDPOINT ),
|
'endpoint' => WC_AJAX::get_endpoint( UpdateShippingEndpoint::ENDPOINT ),
|
||||||
'nonce' => wp_create_nonce( UpdateShippingEndpoint::nonce() ),
|
'nonce' => wp_create_nonce( UpdateShippingEndpoint::nonce() ),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'scriptData' => $script_data,
|
'scriptData' => $script_data,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1183,6 +1183,15 @@ return array(
|
||||||
__( 'Proceed to PayPal', 'woocommerce-paypal-payments' )
|
__( 'Proceed to PayPal', 'woocommerce-paypal-payments' )
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
'wcgateway.place-order-button-description' => function ( ContainerInterface $container ) : string {
|
||||||
|
/**
|
||||||
|
* The text for additional description, when the "Place order" button mode is enabled.
|
||||||
|
*/
|
||||||
|
return apply_filters(
|
||||||
|
'woocommerce_paypal_payments_place_order_button_description',
|
||||||
|
__( 'Clicking "Proceed to PayPal", will redirect you to PayPal to complete your purchase.', 'woocommerce-paypal-payments' )
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
'wcgateway.helper.vaulting-scope' => static function ( ContainerInterface $container ): bool {
|
'wcgateway.helper.vaulting-scope' => static function ( ContainerInterface $container ): bool {
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue