Filter allows control of sending checkout emails

apply_filters( 'pmpro_send_checkout_emails', true);


Used by integrated payment gateways to filter the order.

add_filter( 'pmpro_checkout_order', object $morder );


Force PMPro to login over http or https in case other plugins (like WordPress MU Domain Mapping) conflict with what should be chosen here



Modifies the list of valid gateways used by PMPro. By default, it returns the gateway set in Memberships > Payment Settings in the WordPress Dashboard.

apply_filters( "pmpro_valid_gateways", array( "paypal", "paypalexpress" ) );


This hook allows you to modify the membership level object before checkout.

apply_filters('pmpro_checkout_level', object $pmpro_level);


Controls whether or not to show the “Apply Discount Code” field at checkout. By default, this field is only shown when there is a discount code which applies to this level.

apply_filters( "pmpro_show_discount_code", bool $pmpro_show_discount_code );


This filter is used to determine if the username/password account fields should show up at checkout. By default, it is shown when the user is logged out and not shown when logged in. The hook allows you to return true or false to override this behavior. If the fields are skipped while no user is logged in a username and password will be automatically generated for the new user after checkout.

apply_filters( "pmpro_skip_account_fields", bool $skip_account_fields, WP_user $current_user )


Filters the required fields for the Billing Address section on the checkout page. Passes the array of field names.

apply_filters("pmpro_required_billing_fields", array $pmpro_required_billing_fields);


Executes custom code which runs after the order has passed validation, before the registration is continued. Can be used to add custom validation.

apply_filters( "pmpro_registration_checks", $pmpro_continue_registration );