[PoC] Show currency selector after payment methods#4982
Draft
daledupreez wants to merge 42 commits intoadd/checkout-sessions-pocfrom
Draft
[PoC] Show currency selector after payment methods#4982daledupreez wants to merge 42 commits intoadd/checkout-sessions-pocfrom
daledupreez wants to merge 42 commits intoadd/checkout-sessions-pocfrom
Conversation
* update logger methods * add changelog * fix phpstan * update changelog statement * move details from inline to context * update baseline
* remove deprecated apple pay class * add changelog * remove require * update baseline
* create WC_Subscription stub for phpstan * fix valid phpstan issues * update baseline * add changelog
* Removing the main PRB class * Revert unnecessary change * Fix tests * Removing test file * PHPStan baseline file update * Adding the deprecated function * Adding the deprecated function * Update changelog.txt Co-authored-by: daledupreez <dale.du.preez@automattic.com> * Changelog and readme entries update * Baseline file update * Reverting custom label structure removal * Removing class existence check * Updating PHPStan baseline file * Updating PHPStan baseline file * Updating PHPStan baseline file * Updating PHPStan baseline file * Updating version in deprecation warnings --------- Co-authored-by: daledupreez <dale.du.preez@automattic.com>
* Removing the main legacy checkout backend class * Removing unused methods * Emptying class and temporarily extending the UPE class for backwards compatibility * Update reference in JS file * Fix tests * Updating PHPStan baseline file * Update includes/abstracts/abstract-wc-stripe-payment-gateway-voucher.php Co-authored-by: daledupreez <dale.du.preez@automattic.com> * Update changelog.txt Co-authored-by: daledupreez <dale.du.preez@automattic.com> * Readme entry update * Revert class loading removal * Changing the target version * Baseline file update * Fix tests --------- Co-authored-by: daledupreez <dale.du.preez@automattic.com>
* Trim whitespace from customer name in metadata * Trim whitespace from customer name in metadata Trimmed whitespace from the customer name metadata. * Changelog and readme entries * Update changelog.txt Co-authored-by: daledupreez <daledupreez@gmail.com> * Update changelog entry for customer_name field --------- Co-authored-by: Wesley Rosa <wesleyjrosa@gmail.com> Co-authored-by: daledupreez <daledupreez@gmail.com>
…uest (#4932) * check if product exists before moving forward with add to cart logic in ajax * update phpstan baseline * add changelog
* fix amount in check ece availability function * add changelog * update changelog * cast amount to number
* Fix incorrect file name * Add changelog entry
* Fix incorrect file name * Add changelog entry
* add order check to prevent fatal error * add changelog
…ken (#4936) * add safety check for null token * update baseline * add changelog
* add order validation in multibanco email_instructions method * add changelog * update baseline
* use WC_STRIPE_PLUGIN_PATH constant instead of __DIR__ * add changelog
* Add unit tests to cover address normalization * Add changelog entries * Remove group annotation * Add type annotations Co-authored-by: Wesley Rosa <wesleyjrosa@gmail.com> --------- Co-authored-by: Wesley Rosa <wesleyjrosa@gmail.com>
* Try run all e2e tests on all PRs * Run test command directly to avoid default project being run as well * Add test:e2e-run command to avoid default project
* A workflow to create the release notes PR using Claude Code * Fix syntax * Add changelog entry * Remove unused input parameter
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.22 to 9.6.33. - [Release notes](https://github.com/sebastianbergmann/phpunit/releases) - [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.33/ChangeLog-9.6.md) - [Commits](sebastianbergmann/phpunit@9.6.22...9.6.33) --- updated-dependencies: - dependency-name: phpunit/phpunit dependency-version: 9.6.33 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Hack - Redirect to Stripe settings upon activation * Changelog and readme entries * Fix PHPStan issue * Fix PHPStan issue * Improve method description * Unit test * Fix tests * Update includes/class-wc-stripe.php Co-authored-by: Mayisha <33387139+Mayisha@users.noreply.github.com> * Changing the priority of the redirect callback * Fix redirect * Fix tests * Update includes/class-wc-stripe.php Co-authored-by: daledupreez <dale.du.preez@automattic.com> * Update woocommerce-gateway-stripe.php Co-authored-by: daledupreez <dale.du.preez@automattic.com> * Renaming the registered hook parameter * Removing custom exception class * Update readme.txt Co-authored-by: daledupreez <dale.du.preez@automattic.com> * Changelog entry update * Update tests/phpunit/WC_Stripe_Test.php Co-authored-by: daledupreez <dale.du.preez@automattic.com> --------- Co-authored-by: Mayisha <33387139+Mayisha@users.noreply.github.com> Co-authored-by: daledupreez <dale.du.preez@automattic.com>
* Add context files for AI agents * Fix the header * Add a section for caching * Mention phpunit convention
* Add a check to verify remote_oid exists locally * Add changelog entries * consolidate if blocks Co-authored-by: daledupreez <dale.du.preez@automattic.com> --------- Co-authored-by: daledupreez <dale.du.preez@automattic.com>
Bumps [symfony/process](https://github.com/symfony/process) from 5.4.47 to 5.4.51. - [Release notes](https://github.com/symfony/process/releases) - [Changelog](https://github.com/symfony/process/blob/8.1/CHANGELOG.md) - [Commits](symfony/process@v5.4.47...v5.4.51) --- updated-dependencies: - dependency-name: symfony/process dependency-version: 5.4.51 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add feature flag to control checkout sessions availability * update comment * check settings * add tests * update version * add changelog entry * update hook name * remove unused import * add note instead of using deprecated tag * move filter removal with cleanup * reverse check
* add nb_NO in locale map * add changelog * update changelog statement
…on fails (#4935) * update return type of create_token_from_setup_intent method * update the callers of create_token_from_setup_intent to consider the null value * update baseline * add changelog * update changelog statement * update error message when payment method change fails for subs due to token error * simplify error message * add notice in catch block
Bumps [locutus](https://github.com/locutusjs/locutus) and [@woocommerce/number](https://github.com/woocommerce/woocommerce). These dependencies needed to be updated together. Updates `locutus` from 2.0.15 to 2.0.39 - [Release notes](https://github.com/locutusjs/locutus/releases) - [Changelog](https://github.com/locutusjs/locutus/blob/main/CHANGELOG.md) - [Commits](locutusjs/locutus@v2.0.15...v2.0.39) Updates `@woocommerce/number` from 2.2.0 to 2.4.0 - [Release notes](https://github.com/woocommerce/woocommerce/releases) - [Commits](woocommerce/woocommerce@2.2.0...2.4.0) --- updated-dependencies: - dependency-name: locutus dependency-version: 2.0.39 dependency-type: indirect - dependency-name: "@woocommerce/number" dependency-version: 2.4.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Improve PHPDoc for payment token classes * Use object instead of stdClass for token helpers * Changelog * Improve dob wording
* Update PHPDoc in email notification classes * Changelog
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related to #4879
Changes proposed in this Pull Request:
This PR explores showing the currency selector for adaptive pricing after the payment method listing, rather than within the payment method section of checkout. A UX challenge that we've noticed is that when Stripe is not the first payment method, showing the currency selector above the payment methods results in us mixing interactions: shoppers are picking a payment method from a list, but we're showing a currency selector in the middle of that list.
The key aspects of this exploration are as follows:
ReactDOM.createPortal()(docs) to render the currency selector as a child of a separate DOM elementVideo
stripe_currency_selector_after_payment_methods.mov
One thing I realised is that our current admin UX makes it hard to enable additional payment methods that don't support the current store currency. However, that can restrict the available payment methods when a shopper picks another currency, as we may have made it hard to enable those payment methods.
Testing instructions
Changelog entry
Changelog Entry Comment
Comment
Post merge