How to properly collect payment details?