Skip to content

Hooks and Filters

The WPify Woo GP webpay plugin provides hooks and filters that allow developers to customize its behavior.

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' );

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 );

You can add custom functions either in your child theme’s functions.php or use the Code Snippets plugin.