Skip to main content

React to subscription events from any bridge

Free Beginner Since v1.0.0

SubscriptionListener relays bridge events as WordPress actions, making the same code work regardless of whether the site uses MemberPress, WooCommerce Subscriptions, Restrict Content Pro, or a custom bridge. This recipe shows the three core lifecycle hooks — activation, cancellation, and tier change — wired to an external CRM.

Code

<?php
add_action( 'benecaster_subscription_activated', function (
    int    $user_id,
    int    $show_id,
    string $tier_slug,
    string $source       // 'new', 'resubscribe', or 'migration'
) {
    if ( $source === 'new' ) {
        my_crm_tag_contact( get_userdata( $user_id )->user_email, [
            'benecaster_subscriber' => true,
            'tier'                  => $tier_slug,
        ] );
    }
}, 10, 4 );

add_action( 'benecaster_subscription_cancelled', function (
    int $user_id,
    int $show_id
) {
    my_crm_remove_tag( get_userdata( $user_id )->user_email, 'benecaster_subscriber' );
}, 10, 2 );

add_action( 'benecaster_subscription_tier_changed', function (
    int    $user_id,
    int    $show_id,
    string $old_tier_slug,
    string $new_tier_slug
) {
    my_crm_update_field(
        get_userdata( $user_id )->user_email,
        'podcast_tier',
        $new_tier_slug
    );
}, 10, 4 );

View on GitHub →

Hooks Used