I've done both ways and I think the answer is actually a little of column A and a little of column B. I think having a project or an idea that requires this new language is a great way to maintain motivation and consistency in learning, and I think courses have their place as well. I think a good idea is to learn a little bit, build something, learn a little bit, build something. You have to constantly be striving for something that is just out of your reach. I think the project method keeps you constantly striving for just a little bit more.
It's not terrible. They do have elements/checkout to make things faster/easier. I've implemented stripe on a couple different projects just using their docs. Their docs are seriously amazing, and it looks a lot more complicated than it is because there's a lot of stuff you don't need to worry about if you're just doing subscriptions. They're just very thorough. If you need help with anything specific just shoot me a message. I'd be happy to show you how I'm implementing it right now.
It’s really easy to say to yourself ‘this needs to be better before someone sees it’ and that’s just plain wrong. Most of us have the fear of rejection, and that’s normal and natural but also something that entrepreneurs need to ignore. Getting your product out early and into the hands of users for feedback is essential to a successful product. Building is an iterative process, and your product will never be perfect. Get to an MVP show it to someone, change it. Repeat.