Forked from ideadude/my_update_pmpro_stripe_statement_descriptor.php
Last active
November 27, 2023 14:21
-
-
Save kimwhite/7a05f890cdc9a6e673cc82827b4625a1 to your computer and use it in GitHub Desktop.
Change the statement descriptor for Stripe charges and subscriptions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Change the statement descriptor for Stripe charges and subscriptions. | |
* This is the message shown on the customer's credit card statement. | |
* Must contain at least one letter, 22 characters max. | |
* | |
* Requires PMPro 2.4.1+ | |
* | |
* Note: If your descriptor includes invalid characters or | |
* more than 22 chacters, checkout will fail. | |
* | |
* Copy this code into a custom plugin or code snippet. | |
*/ | |
function my_update_pmpro_stripe_statement_descriptor( $params, $order ) { | |
// Check the $order->membership_id to set statement descriptor based on membership level | |
$level_id = intval( $order->membership_id ); | |
if ( ! empty( $level_id ) ) { | |
switch ( $level_id ) { | |
case 1: | |
$params['statement_descriptor'] = 'Level 1 Descriptor'; | |
break; | |
case 2: | |
$params['statement_descriptor'] = 'Level 2 Descriptor'; | |
break; | |
case 3: | |
$params['statement_descriptor'] = 'Level 3 Descriptor'; | |
break; | |
default: | |
// Set a default statement descriptor if membership level is not defined | |
$params['statement_descriptor'] = 'Default Descriptor'; | |
} | |
} | |
return $params; | |
} | |
add_filter( 'pmpro_stripe_payment_intent_params', 'my_update_pmpro_stripe_statement_descriptor', 10, 2 ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment