assets
7 months ago
src
7 months ago
extensions.php
1 year ago
module.php
1 year ago
services.php
7 months ago
services.php
38 lines
| 1 | <?php |
| 2 | |
| 3 | /** |
| 4 | * The blocks module services. |
| 5 | * |
| 6 | * @package WooCommerce\PayPalCommerce\Blocks |
| 7 | */ |
| 8 | declare (strict_types=1); |
| 9 | namespace WooCommerce\PayPalCommerce\Blocks; |
| 10 | |
| 11 | use WooCommerce\PayPalCommerce\Blocks\Endpoint\GetPayPalOrderFromSession; |
| 12 | use WooCommerce\PayPalCommerce\Blocks\Endpoint\UpdateShippingEndpoint; |
| 13 | use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface; |
| 14 | use WooCommerce\PayPalCommerce\Button\Assets\SmartButtonInterface; |
| 15 | use WC_Cart; |
| 16 | return array('blocks.url' => static function (ContainerInterface $container): string { |
| 17 | return plugins_url('/modules/ppcp-blocks/', $container->get('ppcp.path-to-plugin-main-file')); |
| 18 | }, 'blocks.method' => static function (ContainerInterface $container): \WooCommerce\PayPalCommerce\Blocks\PayPalPaymentMethod { |
| 19 | return new \WooCommerce\PayPalCommerce\Blocks\PayPalPaymentMethod($container->get('blocks.url'), $container->get('ppcp.asset-version'), function () use ($container): SmartButtonInterface { |
| 20 | return $container->get('button.smart-button'); |
| 21 | }, $container->get('wcgateway.settings'), $container->get('wcgateway.settings.status'), $container->get('wcgateway.paypal-gateway'), $container->get('blocks.settings.final_review_enabled'), $container->get('session.cancellation.view'), $container->get('session.handler'), $container->get('wc-subscriptions.helper'), $container->get('blocks.add-place-order-method'), $container->get('wcgateway.use-place-order-button'), $container->get('wcgateway.place-order-button-text'), $container->get('wcgateway.place-order-button-description'), $container->get('wcgateway.all-funding-sources')); |
| 22 | }, 'blocks.advanced-card-method' => static function (ContainerInterface $container): \WooCommerce\PayPalCommerce\Blocks\AdvancedCardPaymentMethod { |
| 23 | return new \WooCommerce\PayPalCommerce\Blocks\AdvancedCardPaymentMethod($container->get('blocks.url'), $container->get('ppcp.asset-version'), $container->get('wcgateway.credit-card-gateway'), function () use ($container): SmartButtonInterface { |
| 24 | return $container->get('button.smart-button'); |
| 25 | }, $container->get('wcgateway.settings'), $container->get('wcgateway.configuration.card-configuration')); |
| 26 | }, 'blocks.settings.final_review_enabled' => static function (ContainerInterface $container): bool { |
| 27 | $settings = $container->get('wcgateway.settings'); |
| 28 | assert($settings instanceof ContainerInterface); |
| 29 | return $settings->has('blocks_final_review_enabled') ? (bool) $settings->get('blocks_final_review_enabled') : \true; |
| 30 | }, 'blocks.endpoint.update-shipping' => static function (ContainerInterface $container): UpdateShippingEndpoint { |
| 31 | return new UpdateShippingEndpoint($container->get('button.request-data'), $container->get('api.endpoint.order'), $container->get('api.factory.purchase-unit'), $container->get('woocommerce.logger.woocommerce')); |
| 32 | }, 'blocks.add-place-order-method' => function (ContainerInterface $container): bool { |
| 33 | /** |
| 34 | * Whether to create a non-express method with the standard "Place order" button redirecting to PayPal. |
| 35 | */ |
| 36 | return apply_filters('woocommerce_paypal_payments_blocks_add_place_order_method', \true); |
| 37 | }); |
| 38 |