What major steps you have done for a user to pay via bitcoin? Are you redirecting user to the bitcoin website for the payment or any other confirmation reference code? As it can be done with the help of Advance Custom Field, and you can add the conditional logic which can change the user role aswell