Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save strangerstudios/5093710 to your computer and use it in GitHub Desktop.
Save strangerstudios/5093710 to your computer and use it in GitHub Desktop.
Cancel PMPro membership when the subscription is deleted at Stripe
/*
Cancel subscriptions when the subscription is deleted at Stripe
Requires PMPro 1.6 or higher.
*/
function my_pmpro_stripe_subscription_deleted($user_id)
{
//cancel the membership
pmpro_changeMembershipLevel(0, $user_id);
}
add_action("pmpro_stripe_subscription_deleted", "my_pmpro_stripe_subscription_deleted");
@dhiraj28691
Copy link

It is not working using the latest version of Pmpro.
Also if am cancelling customer account from stripe then I can see under edit user a meesage is displayed "This subscription is not found in stripe." But this code is not cancelling the subscription

@mzupek
Copy link

mzupek commented Jul 16, 2015

Has anyone had success using this...I created a custom plugin to get my membership levels to change when this pmpro_stripe_subscription_deleted is fired... no luck???

@strangerstudios
Copy link
Author

Make sure that you have a webhook in Stripe setup to hit the URL mentioned on the payment settings tab of the PMPro settings. You can view events in the Stripe dashboard. At the bottom of the page, it will give you info on if/how the webhook fired and if there were any errors.

@aakankshk
Copy link

Hi

if i want to delete the account if recurring payment fails

@italianfresh
Copy link

italianfresh commented Dec 7, 2021

Hi, I know this thread is from a long time ago but I have a similar problem.

I want to do the same as the partner but when trying to collect the $user_id it says that the variable is not defined.

I have tried with $user_id, $user->ID and with get_current_user_id()

It is not capable of knowing the user id and therefore it is not able to assign the level I want.

If anyone knows or can help me.

Thanks!

My code:

add_action("pmpro_stripe_subscription_deleted",` "asign_elemental_level_when_cancel_in_stripe");

function asign_elemental_level_when_cancel_in_stripe($user_id) {
pmpro_changeMembershipLevel(3, $user_id);
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment