Block Disposable Emails on GiveWP Donations
Rejects donations made with throwaway email addresses (such as mailinator or 10minutemail), cutting down on card-testing fraud through your donation forms.
Opens WPIDE on
Code
$wpide_blocked = array( 'mailinator.com', '10minutemail.com', 'guerrillamail.com', 'tempmail.com', 'yopmail.com', 'trashmail.com', 'sharklasers.com', 'getnada.com' );
add_action( 'give_checkout_error_checks', function ( $valid_data, $data ) use ( $wpide_blocked ) {
$email = isset( $data['give_email'] ) ? strtolower( sanitize_email( $data['give_email'] ) ) : '';
$domain = substr( strrchr( $email, '@' ), 1 );
if ( $domain && in_array( $domain, $wpide_blocked, true ) && function_exists( 'give_set_error' ) ) {
give_set_error( 'wpide_disposable_email', __( 'Please use a permanent email address so we can send your receipt.' ) );
}
}, 10, 2 );
Notes
Add more domains to $wpide_blocked as you spot them.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.