Membership plugin from Wpmudev.org should fit your needs:
http://premium.wpmudev.org/project/membership/
This is step 2 of the registration process with Membership:
EDIT:
According to comments that membership should give access to certain custom post type i would suggest this:
-
Create a template for that custom post type as
single-premium-videos.php
More info:
https://codex.wordpress.org/Post_Types#Template_Files -
Then add a check if the current user is member/has subscription
More info: http://premium.wpmudev.org/forums/topic/check-to-see-if-user-is-member-or-non-member#post-194924
Use current_user_is_member()
or current_user_has_subscription()
if(!current_user_is_member()) {
$location = get_bloginfo('url') . '/non-member-page';
// Redirect non-members to a new url
wp_redirect( $location );
exit;
}
Otherwise you can make also an if/else statement where you’ll show a different content to members and non-members on these custom post type pages
if(!current_user_is_member()) {
// Content for non-members
} else {
// Content for members
}