Verify self-registered user with credit-card payment

I would like to know what would be the best way to add a second step after self-registration where user is redirected to a payment gateway, small fee is taken to assure that the credit card is valid and then, after successful transaction, user is again redirected back to ‘successful registration page’ Custom attribute should be created for the user for this type of verification and if the user is not verified in this way, he/she would not be able to login.