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

Added support to Cartes Bancaires #8568

Merged
merged 9 commits into from
Apr 9, 2024
Merged

Added support to Cartes Bancaires #8568

merged 9 commits into from
Apr 9, 2024

Conversation

gpressutto5
Copy link
Contributor

@gpressutto5 gpressutto5 commented Apr 3, 2024

Fixes #8062

Changes proposed in this Pull Request

Cartes Bancaires is France’s local card network. More than 95% of these cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either Cartes Bancaires or the Visa or Mastercard networks.

When these cards are used in Stores that do not support this branch, they default to Visa or Mastercard, otherwise, Stripe renders a dropdown with the brands.
To support CB, we nee you need to use EUR and use a French account. Other countries in the EEA require processing 50 EUR LIVE before Cartes Bancaires is enabled. Any country not part of the EEA does not support Cartes Bancaires, so the brands dropdown is never rendered.

image

Testing instructions

  • Make sure you are using a French Stripe account and processing EUR.
  • Go to checkout and use one of the cobranded test cards
  • Test saving and reusing saved cards
  • Check the transactions page and the transactions in Stripe dashboard to ensure the correct brand is being used

image

image

image

image

Known error:
The transactions list does not show CB, it will only render Visa or Mastercard. I'm working on a fix for that from the server and it will not require another PR for the client.

image


  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests (or have a good reason not to test in description ☝️)
  • Tested on mobile (or does not apply)

Post merge

@botwoo
Copy link
Collaborator

botwoo commented Apr 3, 2024

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 8568 or branch name cobranded-cards in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: dc017ec
  • Build time: 2024-04-05 18:40:41 UTC

Note: the build is updated when a new commit is pushed to this PR.

Copy link
Contributor

github-actions bot commented Apr 3, 2024

Size Change: +74 B (0%)

Total Size: 1.22 MB

Filename Size Change
release/woocommerce-payments/assets/css/admin.css 1.08 kB +17 B (+2%)
release/woocommerce-payments/assets/css/admin.rtl.css 1.08 kB +17 B (+2%)
release/woocommerce-payments/dist/index.js 290 kB +35 B (0%)
release/woocommerce-payments/dist/settings.js 201 kB +5 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/success.css 158 B
release/woocommerce-payments/assets/css/success.rtl.css 158 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 1.92 kB
release/woocommerce-payments/dist/blocks-checkout.css 1.91 kB
release/woocommerce-payments/dist/blocks-checkout.js 56.4 kB
release/woocommerce-payments/dist/cart-block.js 21.4 kB
release/woocommerce-payments/dist/cart.js 4.42 kB
release/woocommerce-payments/dist/checkout-rtl.css 405 B
release/woocommerce-payments/dist/checkout.css 405 B
release/woocommerce-payments/dist/checkout.js 37.2 kB
release/woocommerce-payments/dist/index-rtl.css 40.2 kB
release/woocommerce-payments/dist/index.css 40.1 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.05 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.28 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 59.4 kB
release/woocommerce-payments/dist/multi-currency.css 3.29 kB
release/woocommerce-payments/dist/multi-currency.js 54.5 kB
release/woocommerce-payments/dist/order-rtl.css 733 B
release/woocommerce-payments/dist/order.css 735 B
release/woocommerce-payments/dist/order.js 41.7 kB
release/woocommerce-payments/dist/payment-gateways-rtl.css 1.21 kB
release/woocommerce-payments/dist/payment-gateways.css 1.21 kB
release/woocommerce-payments/dist/payment-gateways.js 38.5 kB
release/woocommerce-payments/dist/payment-request-rtl.css 155 B
release/woocommerce-payments/dist/payment-request.css 155 B
release/woocommerce-payments/dist/payment-request.js 12.4 kB
release/woocommerce-payments/dist/product-details-rtl.css 236 B
release/woocommerce-payments/dist/product-details.css 236 B
release/woocommerce-payments/dist/product-details.js 17 kB
release/woocommerce-payments/dist/settings-rtl.css 11 kB
release/woocommerce-payments/dist/settings.css 10.8 kB
release/woocommerce-payments/dist/subscription-edit-page.js 669 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 19.4 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 710 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 18.5 kB
release/woocommerce-payments/dist/tos-rtl.css 235 B
release/woocommerce-payments/dist/tos.css 236 B
release/woocommerce-payments/dist/tos.js 21 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 4.58 kB
release/woocommerce-payments/dist/woopay-express-button-rtl.css 155 B
release/woocommerce-payments/dist/woopay-express-button.css 155 B
release/woocommerce-payments/dist/woopay-express-button.js 21 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.44 kB
release/woocommerce-payments/dist/woopay.css 4.41 kB
release/woocommerce-payments/dist/woopay.js 70.9 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 622 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 812 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.44 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.01 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 522 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 581 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/babel.config.js 160 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.css 2.37 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.js 13.5 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.rtl.css 2.37 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.03 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 291 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 403 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 299 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 742 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 572 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 411 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.4 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.8 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.83 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.52 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 502 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 355 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 429 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 781 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.27 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 392 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.05 kB

compressed-size-action

@gpressutto5 gpressutto5 marked this pull request as ready for review April 4, 2024 17:24
@gpressutto5 gpressutto5 requested review from a team and timur27 and removed request for a team April 4, 2024 17:24
Copy link
Contributor

@timur27 timur27 left a comment

Choose a reason for hiding this comment

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

The code looks good, I have a couple questions to the feature behavior and ACs:

  1. Looking at the Stripe charge object [example], I'm seeing "network": "visa" although the ACs of Enable card brand choice #8062 expect "network": "cartes_bancaires". Do you happen to know if it's us who need introduce more changes, or ACs need to change?
  2. You mentioned that the transactions list does not show CB. I see in order details doesn't show CB either but Visa credit card instead [example]. Is this also something to handle in a separate issue/PR?
  3. Enable card brand choice #8062 mentions the card should default to the brand selected by the merchant. Do you know if this expectation is still valid and if yes, how can merchant select the default brand?

@gpressutto5
Copy link
Contributor Author

  1. Did you select Cartes Bancaires when paying? The network should be visa only when you choose Visa, or you're not given a choice because the merchant does not support Cartes Bancaires.
  2. The order details should show Cartes Banceires if you've selected Caertes Bancaires. I think this problem is related to 1. I'm adding a few screenshots to the PR description to help with what to expect.
    image
  3. Oh, I missed that, thanks! I will work on that and request another review when it's done.

@gpressutto5 gpressutto5 marked this pull request as draft April 5, 2024 15:19
auto-merge was automatically disabled April 5, 2024 15:19

Pull request was converted to draft

@gpressutto5
Copy link
Contributor Author

@timur27 3. is potentially being removed from the AC list #8062 (comment), so I'm request another review.

@gpressutto5 gpressutto5 requested a review from timur27 April 5, 2024 18:39
@gpressutto5 gpressutto5 marked this pull request as ready for review April 8, 2024 15:33
Copy link
Contributor

@timur27 timur27 left a comment

Choose a reason for hiding this comment

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

@gpressutto5 understood about removing 3) from the ACs, can confirm that Cartes Bancaires appears in the charge object as well as in the order details. 👍

I assume that eftpos Australia co-branded cards don't need to be covered or will be covered separately?

Other than the above question, we're good to merge. 🚢

@gpressutto5 gpressutto5 added this pull request to the merge queue Apr 9, 2024
Merged via the queue into develop with commit c757b69 Apr 9, 2024
24 checks passed
@gpressutto5 gpressutto5 deleted the cobranded-cards branch April 9, 2024 16:45
Jinksi pushed a commit that referenced this pull request Apr 11, 2024
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.

Enable card brand choice
3 participants