Hooks and Filters
The WPify Woo GP webpay plugin provides hooks and filters that allow developers to customize its behavior.
Settings Filters
Section titled “Settings Filters”wpify_woo_gpwebpay_settings
Section titled “wpify_woo_gpwebpay_settings”Filter gateway form field settings.
apply_filters( 'wpify_woo_gpwebpay_settings', array $settings );Parameters:
$settings(array) — Array of WooCommerce gateway form field definitions
Example — add a custom settings field:
/** * Add a custom field to GP webpay gateway settings * * @param array $settings Gateway settings * @return array */function my_gpwebpay_custom_settings( $settings ) { $settings['my_custom_field'] = array( 'title' => 'Custom Field', 'type' => 'text', 'description' => 'Custom field description', 'default' => '', );
return $settings;}add_filter( 'wpify_woo_gpwebpay_settings', 'my_gpwebpay_custom_settings' );Example — change the default gateway title:
/** * Change default payment gateway title * * @param array $settings Gateway settings * @return array */function my_gpwebpay_default_title( $settings ) { $settings['title']['default'] = 'Pay with GP webpay';
return $settings;}add_filter( 'wpify_woo_gpwebpay_settings', 'my_gpwebpay_default_title' );Redirect Filters
Section titled “Redirect Filters”wpify_woo_gpwebpay_error_redirect_url
Section titled “wpify_woo_gpwebpay_error_redirect_url”Filter the URL where customers are redirected after a failed payment.
apply_filters( 'wpify_woo_gpwebpay_error_redirect_url', string $url, WC_Order $order, string $message );Parameters:
$url(string) — The redirect URL (defaults to the checkout page)$order(WC_Order) — WooCommerce order object$message(string) — Error message from GP webpay
Example — redirect to a custom error page:
/** * Redirect to a custom page after failed GP webpay payment * * @param string $url Redirect URL * @param WC_Order $order Order * @param string $message Error message * @return string */function my_gpwebpay_error_redirect( $url, $order, $message ) { return home_url( '/payment-failed/?order=' . $order->get_id() );}add_filter( 'wpify_woo_gpwebpay_error_redirect_url', 'my_gpwebpay_error_redirect', 10, 3 );Example — log failed payments and keep default redirect:
/** * Log failed payment attempts * * @param string $url Redirect URL * @param WC_Order $order Order * @param string $message Error message * @return string */function my_gpwebpay_log_failed( $url, $order, $message ) { $logger = wc_get_logger(); $logger->warning( sprintf( 'GP webpay payment failed for order #%s: %s', $order->get_order_number(), $message ), [ 'source' => 'gpwebpay-custom' ] );
return $url;}add_filter( 'wpify_woo_gpwebpay_error_redirect_url', 'my_gpwebpay_log_failed', 10, 3 );Where to Place Your Code
Section titled “Where to Place Your Code”You can add custom functions either in your child theme’s functions.php or use the Code Snippets plugin.