Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google / Apple Pay is here! Stripe Checkout supported #43

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

philipxyc
Copy link
Contributor

@philipxyc philipxyc commented Sep 1, 2022

Stripe Checkout is the checkout page built by Stripe. It is an off-site checkout procedure similar to Paypal Express. The off-site checkout procedure means the user will be directed to another page for completing the checkout.

I'm more than happy to make this an open-source contribution instead of a paid extension.

image
(A little bonus here is Wechat Pay 微信支付 and Alipay 支付宝 can also be supported with stripe checkout!)

Pros & Cons compared to the existing stripe payment method

Pros

  • Of course, Google / Apple Pay is supported.
  • And a benefit that may not be very obvious is you don't need a verification of your domain at Apple! Stripe has already handled that for you.
  • Feeling more secure from customers' perspective. Some customers are very cautious about entering credit card information on a non-well-known website. Now they can feel more at ease because they are entering their credentials at a Stripe.com website.

Cons

The payment credential cannot be saved to the user profile. If your website has a lot of repeat visitors that have registered and saved their credit cards on the site, the existing Stripe payment should be a better fit for you.
However, compared to paying with the "saved payment profile", there would be only two more clicks if the customer is using Google/Apple pay at the stripe checkout page. Moreover, the Stripe Checkout also provides a "Remember my payment info" feature, which basically auto-fills the customer's credit card information after a simple verification.

Potentially blocked by #42

The feature is almost complete though with a workaround that disabled the callback of existing stripe payment. It can be very easily replaced with a more elegant workaround that gives two Stripe extensions different fixed callback URL. But I would still advocate making the callback URL a secret by including a random hash in it.

Please let me know if is there anything I can improve here. Thanks!

@sampoyigi
Copy link
Member

Not sure your got my response to your email, I would have preferred this as an extension to avoid the maintenance costs.

Can we use the existing Stripe payment type with an option to enable/disable the off-page checkout, rather than a separate payment type.

@philipxyc
Copy link
Contributor Author

Oh yes I got your response on email. I'm not pretty sure how to make only this Stripe Checkout method a standalone extension. This code change is almost 70% copied from Paypal express + 25% copied from Stripe. It should be pretty robust as long as the other two is doing well. And if there is a bug, either Paypal or Stripe should also have. Thus I think it would be better just leave it on the main stream. I also have this option available on my site for a few days, got some customers paid with this option and no bug till now.

It a good idea to make an option to enable/disable the off-page checkout, but I'm concerning if it worth the change. Theoretically the name Stripe vs Stripe Checkout should not trouble the website users, I've renamed Stripe to be "Credit Card Onsite", and Stripe Checkout to be "Google Pay / Apple Pay / Credit Card" on my site. The only confusion is on the site owner side, we can make a explanation on the doc for that. And it can be seen I enabled both Stripes here, but making the off-page checkout toggle will disabled me to do that.

@tares003
Copy link

tares003 commented Apr 2, 2023

@philipxyc Hey, Nice work! any guide how install your version? it seems like it's not merged onto the main extension? T

@tares003
Copy link

tares003 commented May 4, 2023

@philipxyc @sampoyigi

@philipxyc Hey, Nice work! any guide how install your version? it seems like it's not merged onto the main extension? T

@sampoyigi
Copy link
Member

Happy to merge this PR or a new one that adds this as part of existing Stripe implementation 🙂

@tares003
Copy link

tares003 commented May 5, 2023

Happy to merge this PR or a new one that adds this as part of existing Stripe implementation 🙂

What would be nice if toggle to enable this feature? :)

@DimiDR
Copy link

DimiDR commented Jan 8, 2024

Is it possible to merge this? :)

@FoxMcWeezer
Copy link

Any hope of merging this 2-year old PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants