Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save kimwhite/7a05f890cdc9a6e673cc82827b4625a1 to your computer and use it in GitHub Desktop.
Save kimwhite/7a05f890cdc9a6e673cc82827b4625a1 to your computer and use it in GitHub Desktop.
Change the statement descriptor for Stripe charges and subscriptions.
<?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