Implement purchase flow