Just to be clear, are you saying that this new payment method will only be supported (at least for now) for those with a checkout.js integration, not those using stripe.js and their own front-end/branding?
Obvious feature request #1: Support it via stripe.js and the usual APIs as soon as possible.
Obvious feature request #2: In the meantime, provide a version of checkout.js that is (a) stable and (b) simplified to support Alipay only (so those of us who prefer to accept other payment methods can still do so via stripe.js without winding up with multiple confusing options and bad UX).
Can you say more about "(a) stable"? If you mean that you've had problems with robustness or availability, I'd love to hear about that, because in general we believe it's been very good on those fronts.
If you mean that it the UI changes from time to time, then (for better or worse), that's a fundamental property of Checkout: we are continually iterating and optimizing and adding new features (like Alipay!). We do understand that it's not for everyone, but a lot of people use it for exactly that reason.
Sorry, I didn't actually answer your initial question: yes, Alipay is only available through a checkout.js integration, not a stripe.js integration. I think it's unlikely that we will do a stripe.js integration for Alipay - as Patrick mentioned above, it would probably have to be a redirect model like Alipay's other integrations.
However, it's possible that we could do a special alipay.js, which I think is what you're getting at with #2. This wouldn't be Stripe Checkout, exactly, but a standalone Alipay product where we provide the UI is certainly something we'd think about down the line. We don't have any specific plans here but feel free to email me at avi@stripe.com if you want to talk more about that.
By stable, I meant something that doesn't have the unpredictable UI variations of checkout.js, which for some of us is a significant concern. (See various previous HN discussions about Stripe, particularly around the time the phone number/remember me changes came in.)
When there was always the alternative of using stripe.js (as also repeatedly mentioned in previous HN discussions) this wasn't a huge deal, because anyone who wanted stability could just go the other path. I think some of the concerns before were more about how many of us didn't realise that Stripe sees checkout.js as an ever-evolving test bed.
If that no longer applies then there is now a need to choose between instability with checkout.js and losing features with stripe.js. When I first joined this discussion today, I was happy at the idea of Stripe starting to support a broader range of payment options. As I'm reading more, my joy is turning to concern that checkout.js is becoming the preferred integration method with significant downsides for those who don't comply.
I do understand that there may be good reasons for locking in your choice of payment UI. On the other hand, this is not the first time I've dealt with a payment service where you can't cleanly integrate the whole process into your own brand/UX, and interrupting that flow rarely turns out happily for conversion rates or, sometimes, brand reputation.
With that in mind, if proper support isn't available for Alipay, then some sort of alipay.js as you mentioned would certainly be welcome, particularly if it allows at least basic styling customisation to match the colour scheme and typography of the merchant's site.
Thanks very much for the feedback. (Feedback helps! As you may remember from the previous thread, we did change the Remember Me + phone number fields to be optional, in large part because of the feedback we got on HN.)
Each new payment method comes with its own constraints. We'll always try to give our users as many options as possible while working within those constraints. The constraints with Alipay are particularly tight, and for now the only way we can satisfy them is through checkout.js - but over time, if we can relax that, we will. We're definitely not moving to a model where Checkout is always the first or only way to integrate a new feature. For example, the two other alternative payment methods we have in beta right now are ACH and Bitcoin, neither of which are built into Checkout. We do hope to eventually support both of these in Checkout, of course, but in those cases, it was easiest to do the API first; in the Alipay case, it was by far the easiest thing to do Checkout first.
(Feedback helps! As you may remember from the previous thread, we did change the Remember Me + phone number fields to be optional, in large part because of the feedback we got on HN.)
That's good to know. FWIW, I hadn't heard anything about that change, which would have been of immediate interest to at least one team I worked on that was still relying on checkout.js at the time.
Each new payment method comes with its own constraints. We'll always try to give our users as many options as possible while working within those constraints. The constraints with Alipay are particularly tight, and for now the only way we can satisfy them is through checkout.js - but over time, if we can relax that, we will.
Understood, and thanks again for taking the time to explain.
Obvious feature request #1: Support it via stripe.js and the usual APIs as soon as possible.
Obvious feature request #2: In the meantime, provide a version of checkout.js that is (a) stable and (b) simplified to support Alipay only (so those of us who prefer to accept other payment methods can still do so via stripe.js without winding up with multiple confusing options and bad UX).