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

Implement Stripe Express Checkout Elements (ECE) on the Product page #3441

Merged
merged 71 commits into from
Oct 1, 2024

Conversation

mattallan
Copy link
Contributor

@mattallan mattallan commented Sep 19, 2024

Fixes #3410

Important

This PR is based off the changes in #3436. This branch will need to be updated to include any future changes made to that base branch.

Changes proposed in this Pull Request:

This PR implements Stripe's ECE (Google Pay & Apple Pay buttons) on the product page:

Chrome Safari
image image

Testing instructions

There are A LOT scenarios to cover when testing these buttons from the product page. Let's start with the basics:

  1. Enable the ECE feature flag in the wp-options table.
update_option( '_wcstripe_feature_ece', 'yes' );
  1. Make sure Apple Pay and Google Pay are enabled:
    image
  2. Create a simple WC Product and visit the front-facing Product page
  3. Change the quantity of the product, confirm the ECE button was blocked and unblocked
  4. Click on the Google Pay button
  5. Confirm the order details and totals in Google Pay are correct
  6. Change shipping methods between free and flat rate and confirm price is correct
Free Flat rate
image image
  1. Complete the google pay purchase
  2. Confirm the order is created in WooCommerce
  3. Confirm the charge in Stripe is correct
    image

  • Covered with tests (or have a good reason not to test in description ☝️)
  • Added changelog entry in both changelog.txt and readme.txt (or does not apply)
  • Tested on mobile (or does not apply)

Post merge

Mayisha and others added 30 commits September 2, 2024 19:20
Base automatically changed from add/ece-for-shortcode-checkout to develop September 25, 2024 14:50
@mattallan
Copy link
Contributor Author

mattallan commented Sep 30, 2024

Full checklist I'm testing

  • Simple product
  • Variable product
  • Set quantity to 2 or 3 (confirm element is blocked and unblocked)
  • Bookings product
  • Simple subscription
  • Variable subscription
  • Synced subscription with no initial payment
  • Simple product with deposit
  • Variable product with deposit
  • Simple subscription with deposit
  • Variable subscription with deposit
  • Virtual/downloadable product
  • Virtual subscription
  • Store without taxes
  • Store with taxes
    • Prices include tax - tax applies
    • Prices include tax - outside of taxable region
    • Prices exclusive of tax

Non-successful test cases

  • Error notices when using a declining card
  • Abort/cancel ECE window and re-open
  • Use an invalid shipping address

@wjrosa
Copy link
Contributor

wjrosa commented Sep 30, 2024

Hey Matt! I see the changelog.txt entry is missing 👀

Copy link
Contributor

@wjrosa wjrosa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work, Matt!

  1. Change the quantity of the product, confirm the ECE button was blocked and unblocked

Screenshot 2024-09-30 at 09 06 16
(tried to get a blocked image, but the loading is too fast)

  1. Confirm the order details and totals in Google Pay are correct

Screenshot 2024-09-30 at 09 09 12

  1. Change shipping methods between free and flat rate and confirm price is correct

Screenshot 2024-09-30 at 09 15 48

  1. Confirm the order is created in WooCommerce

Screenshot 2024-09-30 at 09 19 24

  1. Confirm the charge in Stripe is correct

Screenshot 2024-09-30 at 09 21 26

It does not work on my Android phone, but none of our previous implementations for this project does. We need to double check later.

@mattallan
Copy link
Contributor Author

Thanks @wjrosa for the review!
I've pushed up fea0f12 to add the changelog entry back in

@mattallan mattallan merged commit e07054e into develop Oct 1, 2024
35 checks passed
@mattallan mattallan deleted the add/3410-implement-ece-product-page branch October 1, 2024 23:15
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.

[ECE] Implement ECE for payment processing on product page
4 participants