asset_api = $asset_api; } /** * Initializes the payment method type. */ public function initialize() { $this->settings = get_option( 'woocommerce_paypal_settings', [] ); } /** * Returns if this payment method should be active. If false, the scripts will not be enqueued. * * @return boolean */ public function is_active() { return filter_var( $this->get_setting( 'enabled', false ), FILTER_VALIDATE_BOOLEAN ); } /** * Returns an array of scripts/handles to be registered for this payment method. * * @return array */ public function get_payment_method_script_handles() { $this->asset_api->register_script( 'wc-payment-method-paypal', 'build/wc-payment-method-paypal.js' ); return [ 'wc-payment-method-paypal' ]; } /** * Returns an array of key=>value pairs of data made available to the payment methods script. * * @return array */ public function get_payment_method_data() { return [ 'title' => $this->get_setting( 'title' ), 'description' => $this->get_setting( 'description' ), 'supports' => $this->get_supported_features(), ]; } /** * Returns an array of supported features. * * @return string[] */ public function get_supported_features() { $gateway = new WC_Gateway_Paypal(); $features = array_filter( $gateway->supports, array( $gateway, 'supports' ) ); return apply_filters( '__experimental_woocommerce_blocks_payment_gateway_features_list', $features, $this->get_name() ); } }