How can i create a custom registration process

I would like to create a process where users will select one out of 2 subscriptions plans then will be asked to complete a form with several fields such as name, company, interests, drop down options etc and then move to check out and payment. The system should be able to save members details (completed on the registration form) after payment is done.
How do i apply short codes on a page?