This sounds like custom development work, I doubt there is a pre-built solution. At its most basic, I’d say you need to a membership solution. There are a several out there, some free, some premium.
Then in your front-end you can wrap the display of all the custom fields with current_user_can()
using a capability that only that level has. For custom user roles you can probably just get away with:
if( current_user_can('gold_member') ) {
echo 'whoa check this out';
} else {
echo 'sorry, no need to be a gold member to see this';
}
EDIT
or to make it post specific:
if( current_user_can('read_post_14') ) {
echo 'whoa check this out';
} else {
echo 'sorry, no need to be a gold member to see this';
}
You’d have to create a new role for each post though…. possibly on the save_post
hook. But I’m not sure how you’d assign the role to user when he/she pays for a specific post.