That is more or less the class I created to wrap stripe checkout in a promise. I then dependency inject that into any view-model that I need it and when the user clicks a button (or whatever) I call this.stripeCheckout.popup(...) and take action on the promise.
I did need to add the configuration to my SystemJS config.js:
I had to create a proxy to host checkout.js because Stripe doesn't put the CORS headers on checkout.js. That was the most annoying part. I just spun up a simple ASP.NET WebAPI server in Azure that proxies checkout.js with a CORS header.