get( 'button.smart-button' ); /** * The Smart Button. * * @var SmartButtonInterface $smart_button */ $smart_button->render_wrapper(); } ); add_action( 'wp_enqueue_scripts', static function () use ( $c ) { $smart_button = $c->get( 'button.smart-button' ); /** * The Smart Button. * * @var SmartButtonInterface $smart_button */ $smart_button->enqueue(); } ); add_filter( 'woocommerce_create_order', static function ( $value ) use ( $c ) { $early_order_handler = $c->get( 'button.helper.early-order-handler' ); if ( ! is_null( $value ) ) { $value = (int) $value; } /** * The Early Order Handler * * @var EarlyOrderHandler $early_order_handler */ return $early_order_handler->determine_wc_order_id( $value ); } ); $this->register_ajax_endpoints( $c ); } /** * Registers the Ajax Endpoints. * * @param ContainerInterface $container The Container. */ private function register_ajax_endpoints( ContainerInterface $container ) { add_action( 'wc_ajax_' . DataClientIdEndpoint::ENDPOINT, static function () use ( $container ) { $endpoint = $container->get( 'button.endpoint.data-client-id' ); /** * The Data Client ID Endpoint. * * @var DataClientIdEndpoint $endpoint */ $endpoint->handle_request(); } ); add_action( 'wc_ajax_' . StartPayPalVaultingEndpoint::ENDPOINT, static function () use ( $container ) { $endpoint = $container->get( 'button.endpoint.vault-paypal' ); assert( $endpoint instanceof StartPayPalVaultingEndpoint ); $endpoint->handle_request(); } ); add_action( 'wc_ajax_' . ChangeCartEndpoint::ENDPOINT, static function () use ( $container ) { $endpoint = $container->get( 'button.endpoint.change-cart' ); /** * The Change Cart Endpoint. * * @var ChangeCartEndpoint $endpoint */ $endpoint->handle_request(); } ); add_action( 'wc_ajax_' . ApproveOrderEndpoint::ENDPOINT, static function () use ( $container ) { $endpoint = $container->get( 'button.endpoint.approve-order' ); /** * The Approve Order Endpoint. * * @var ApproveOrderEndpoint $endpoint */ $endpoint->handle_request(); } ); add_action( 'wc_ajax_' . CreateOrderEndpoint::ENDPOINT, static function () use ( $container ) { $endpoint = $container->get( 'button.endpoint.create-order' ); /** * The Create Order Endpoint. * * @var CreateOrderEndpoint $endpoint */ $endpoint->handle_request(); } ); } /** * Returns the key for the module. * * @return string|void */ public function getKey() { } }