-
Notifications
You must be signed in to change notification settings - Fork 207
/
changelog.txt
1404 lines (1187 loc) · 80.4 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
*** Changelog ***
= 9.0.0 - xxxx-xx-xx =
* Add - Pre-fill user email and phone number for Link in the Payment Element.
* Remove - Remove Link autofill modal feature.
* Update - Improve accuracy of webhook status information displayed in settings page.
* Tweak - Standardize ECE Express payment buttons on Pay for Order page to match cart and checkout itemization behavior.
* Tweak - Remove duplicate notice about the new checkout experience.
* Tweak - Include page URL information in the SSL-required log for the Stripe Express Checkout Element.
* Fix - Fix ECE modal not loading on pay for order page when coupon is applied.
* Fix - Do not load express payment buttons on switch subscription page.
* Fix - Resolve a fatal error by casting product price and subscription sign up fee to 'float' while adding them.
* Fix - Return 'is_live' as true in account summary response when test mode is disabled in gateway settings and charge is enabled in Stripe account.
* Fix - Prevents notices being displayed on WordPress 6.7 due to loading translations too early (only shown on stores with WP_DEBUG enabled).
* Tweak - Update links to plugin documentation and Stripe documentation.
= 8.9.0 - 2024-11-14 =
* Update - Enhance webhook processing to enable retrieving orders using payment_intent metadata.
* Dev - Minor updates to the webhook handler class related to payment method names constants.
* Tweak - Improve error message displayed when payment method creation fails in classic checkout.
* Dev - Replace two occurrences of payment method names with their constant equivalents.
* Fix - Hide express checkout when credit card payments are not enabled.
* Fix - Fix issues when detaching payment methods on staging sites (with the new checkout experience enabled).
* Fix - Display a notice if taxes vary by customer's billing address when checking out using the Stripe Express Checkout Element.
* Tweak - Makes the new Stripe Express Checkout Element enabled by default in new accounts.
* Dev - Add multiple unit tests for the Stripe Express Checkout Element implementation (for both frontend and backend).
* Fix - Check if taxes are enabled when applying ECE tax compatibility check.
* Fix - Fix ECE error when initial address on load is not defined as a shipping zone.
* Fix - Corrected card brand capitalization on the My Account → Subscription page.
* Fix - Displays a specific message when an authentication error occurs during checkout for 3DS cards (shortcode version).
* Fix - Show 'Use a New Payment Method' radio button for logged in users only when card saving is enabled.
* Fix - Fix the display and usage of the Link payment method on the shortcode checkout page with the Stripe Express Checkout Element.
* Fix - Fix payment methods count on settings page.
* Update - Improve Express Payment button previews on the edit Block Checkout and Cart pages for Google Pay and Apple Pay.
* Tweak - Add error logging in ECE critical Ajax requests.
* Add - Add support for Stripe Link payments via the new Stripe Checkout Element on the block cart and block checkout pages.
* Add - Add support for Stripe Link payments via the new Stripe Checkout Element on the product, cart, checkout and pay for order pages.
* Tweak - Do not load ECE button if the total amount is 0.
* Add - Show ECE button preview on settings page.
* Tweak - Remove the subscription order notes added each time a source wasn't migrated.
* Tweak - Update ECE default button type.
* Fix - Fix position of ECE button on shortcode cart page.
* Fix - Call ECE specific 'paymentFailed' function only when payment request fails.
* Fix - Fix issue in purchasing subscriptions when the store has no shipping options.
= 8.8.2 - 2024-11-07 =
* Fix - Prevent marking renewal orders as processing/completed multiple times due to handling the Stripe webhook in parallel.
* Dev - Refactor lock_order_payment() to use order meta instead of transients.
* Update - Process successful payment intent webhooks asynchronously.
= 8.8.1 - 2024-10-28 =
* Tweak - Disables APMs when using the legacy checkout experience due Stripe deprecation by October 29, 2024.
* Fix - Prevent marking orders on-hold with order note "Process order to take payment" when the payment has failed.
* Fix - Prevent subscriptions from being marked as "Pending" when a customer attempts to change their payment method to a declining card.
* Fix - Delay updating the subscription's payment method until after the intent is confirmed when using the new checkout experience.
* Fix - Display a success notice to customers after successfully changing their subscription payment method to a card that required 3DS authentication.
= 8.8.0 - 2024-10-17 =
* Fix - Update URL and path constants to support use of symlinked plugin.
* Tweak - Disable ECE when cart has virtual products and tax is based on customer billing or shipping address.
* Fix - Fix the usage of coupons and the total shipping amount when using the Express Checkout Element on the shortcode checkout.
* Fix - Fixes some JS console errors when making a purchase with the Stripe Express Checkout Element on the shortcode checkout.
* Fix - Updates the display logic for the OAuth re-connect promotional surface to follow the latest changes made to the connection settings object.
* Fix - Remove unexpected HTML in error message for shortcode checkout.
* Fix - Ensure ordering for Stripe payment methods is saved even when setting up from scratch.
* Add - Implemented the "Update all subscriptions payment methods" checkbox on My Account → Payment methods for UPE payment methods.
* Add - Add support for the new Stripe Express Checkout Element on the block cart and checkout page.
* Add - Add support for the new Stripe Express Checkout Element on the shortcode checkout page.
* Add - Add support for the new Stripe Express Checkout Element on the shortcode cart page.
* Add - Add support for the new Stripe Express Checkout Element on the pay for order page.
* Add - Add support for the new Stripe Checkout Element on the product page.
* Dev - Introduces a new class with payment methods constants.
* Dev - Introduces a new class with currency codes constants.
* Dev - Improves the readability of the redirect URL generation code (UPE).
* Fix - Fix mandate creation for subscriptions and saved payment methods.
* Fix - Fix Google Pay address fields mapping for UAE addresses.
* Tweak - Render the Klarna payment page in the store locale.
* Tweak - Update the Apple Pay domain registration flow to use the new Stripe API endpoint.
* Fix - Fix empty error message for Express Payments when order creation fails.
* Fix - Fix multiple issues related to the reuse of Cash App Pay tokens (as a saved payment method) when subscribing.
* Fix - Move charge related code to separate try-catch to prevent renewal failure.
* Fix - Corrected translation text domain in UPE checkout integration.
* Fix - Resolve an issue where Stripe Payment Method API calls passed the token's database ID instead of the Stripe ID.
* Fix - Pre-orders set to pay upon release were remaining pending when attempting to pay using Stripe.
* Fix - Ensure subscription renewal order statement descriptors include the order number suffix.
* Fix - Resolved an issue which caused the WeChat Pay payment icon to not be displayed on shortcode checkout pages.
* Fix - Set order payment method title to the customizable title setting rather than the default label.
* Fix - Update Cash App payments to avoid confirming on creation, resolving issues with generic payment failures in live mode.
* Fix - Switch Google Pay and Apple Pay PRB flow to create PaymentMethod (pm_) instead of Source (src_), utilizing deferred intent processing.
* Tweak - Add order lock for redirect payments.
* Fix - Missing Stripe Fee and Stripe Payout details on orders that were captured manually.
* Fix - Allow legacy `src_` payment methods linked to a saved credit card to be displayed on the checkout and My Account pages when the new checkout experience is enabled.
= 8.7.0 - 2024-09-16 =
* Add - Introduces a new promotional surface to encourage merchants with the legacy checkout experience and APMs enabled to use the new checkout experience.
* Fix - Prevent duplicate failed-order emails from being sent.
* Fix - Support custom name and description for Afterpay.
* Fix - Link APM charge IDs in Order Details page to their Stripe dashboard payments page.
* Fix - Fix Indian subscription processing by forcing the recreation of mandates during switches (upgrading/downgrading).
* Fix - Add back support for Stripe Link autofill for shortcode checkout.
* Fix - Fix undefined method error caused by settings refactor when connecting Stripe account.
* Fix - Fix multiple compatibility issues and deprecation warnings when running the extension on PHP 8.1.
* Fix - Re-connect promotional surface blinking after disappearing for merchants that have already connected their Stripe account.
* Fix - Fix possible fatal errors when Stripe settings format is invalid during account connection.
* Fix - Clear webhook state after reconfiguring webhooks to remove outdated error and success statuses.
* Fix - Prevent payment methods from being detached from Stripe customers on non-production sites when a WP user is deleted with the new checkout experience enabled.
* Add - Log incoming webhook events and their request body.
* Add - Show UPE payment methods in saved order on block checkout page.
* Add - Display UI elements for connection type and expired keys status for Stripe accounts linked via the WooCommerce Stripe App.
* Tweak - Delete the notice about the missing customization options on the updated checkout experience.
* Fix - Prevent fatal error when canceling uncaptured orders by ensuring refunds array is expanded in Stripe API response.
* Fix - Fix error in saving settings when express payment methods are disabled.
* Fix - Catch error when getting intent from order.
* Fix - Handle undefined array key when no matching customer account is found when guest customers checkout.
* Tweak - Update capabilities to payment methods mapping.
* Fix - Address QIT Security test errors.
* Fix - Address QIT PHPStan test errors.
* Update - Specify the JS Stripe API version as 2024-06-20.
* Tweak - Use order ID from 'get_order_number' in stripe intent metadata.
* Fix - Ensure payment tokens are detached from Stripe when a user is deleted, regardless of if the admin user has a Stripe account.
* Fix - Address Klarna availability based on correct presentment currency rules.
* Fix - Use correct ISO country code of United Kingdom in supported country and currency list of AliPay and WeChat.
* Fix - Prevent duplicate order notes and emails being sent when purchasing subscription products with no initial payment.
* Add - Display an admin notice on the WooCommerce > Subscriptions screen for tracking the progress of SEPA subscriptions migrations after the legacy checkout is disabled.
* Add - Introduce a new tool on the WooCommerce > Status > Tools screen to restart the legacy SEPA subscriptions update.
* Fix - Remove the Stripe OAuth Keys when uninstalling the plugin.
* Fix - Resolve an error for checkout block where 'wc_stripe_upe_params' is undefined due to the script registering the variable not being loaded yet.
= 8.6.1 - 2024-08-09 =
* Tweak - Improves the wording of the invalid Stripe keys errors, instructing merchants to click the "Configure connection" button instead of manually setting the keys.
* Add - Includes a new promotional surface to encourage merchants to re-connect their Stripe account using the new flow.
* Add - Added filter to enable updating Level 3 data based on order data.
* Add - Replace account key sharing and replace it with an OAuth connect flow allowing users to connect their Stripe account automatically without the need to find keys.
* Add - Indicate the activation status of each payment method individually, instead of using a general notice.
* Fix - JS error when billing country field does not exist on the payment method page.
* Fix - Prevent multiple instances of the "Update the Payment Method" checkbox from displaying on the My Account > Payment Methods page when using the legacy checkout experience.
* Fix - Prevent duplicate customer creation during guest checkout.
* Fix - Hiding Multibanco payment method when the Stripe account country is not supported.
* Fix - Display the payment decline reason on the checkout when using Cash App or WeChat.
* Fix - Re-enable the "Place order" button on the block checkout after closing the WeChat or Cash App payment modal.
* Fix - When SEPA tokens are added via the My Account > Payment methods page, ensure they are attached to the Stripe customer.
* Fix - Clear the saved Stripe Link payment methods when a customer cache is cleared to ensure cached methods are updated promptly.
* Fix - Display Stripe Link payment methods correctly in both Block Checkout and My Account pages.
* Fix - Resolve an error when adding a saved card payment method in My Account when Stripe Link is enabled.
* Fix - Resolved an error when using 3D Secure-enabled cards with Stripe Link enabled.
* Fix - Corrected setup intent payment method types to include 'link' when Stripe Link is enabled, resolving errors during subscription signups.
* Fix - Resolved an issue where changing the payment method for subscriptions failed after 3D-Secure authentication.
* Fix - Prevent displaying the default admin description on the checkout page when a payment method description is empty.
* Fix - Adds back the ability to perform direct refunds for giropay orders via the order details page.
* Fix - After configuring webhooks automatically ensure only the latest webhook endpoint is active, deleting duplicates configured manually.
* Fix - Resolved PHP errors related to detaching payment methods after failed 3D-Secure challenges.
* Tweak - Minor text updates to webhook-related configuration labels and buttons.
* Tweak - Improve UX by using the 3DS verification modal to confirm setup intents for subscription sign-ups, ensuring customers stay on the checkout page.
* Tweak - Display a notice when the Stripe connect URL is not available.
* Fix - Prevent adding multiple copies of the same order notes.
* Tweak - Automatically configure webhooks after completing the OAuth Stripe flow.
* Tweak - Don't process webhooks when the webhook secret isn't set in the store.
= 8.5.2 - 2024-07-22 =
* Fix - Fixed errors when using Link to purchase subscription products that could lead to duplicate payment attempts.
* Fix - Prevent failures creating SetupIntents when using a non-saved payment method on the Legacy checkout experience.
* Fix - Ensure immediate balance transaction assignment for subscription renewals by specifying capture_method => automatic in Stripe payment intents.
* Dev - Bump L-2 versions for PHP tests.
* Dev - Bump WordPress "tested up to" version to 6.6.
= 8.5.1 - 2024-07-12 =
* Fix - Fixed fatal error caused by non-existent class.
= 8.5.0 - 2024-07-11 =
* Tweak - Remove Giropay from the list of payment methods (for all versions) due deprecation.
* Tweak - Additional visual improvement for the webhook configuration notice.
* Add - Allow changing display order of payment methods in the new checkout experience.
* Add - Update the payment method associated with a subscription to a PaymentMethod when it's using a Stripe Source that was migrated to PaymentMethods.
* Fix - Prevent subscriptions using Legacy SEPA from switching to Manual Renewal when disabling the Legacy experience.
* Tweak - Add a notice in checkout for Cash App transactions above 2000 USD to inform customers about the decline risk.
* Tweak - Improve the display of warning messages related to webhook configuration.
* Fix - When using a saved payment method, update the payment method's address immediately upon checkout. Fixes issues where Stripe may throw address validation errors.
* Tweak - Add a statement descriptor preview for Cash App Payments.
* Add - Allow customizing the title and description of the UPE payment methods.
* Fix - Ensure payments via redirect are processed through the webhook if the redirect never occurs. Resolves issues of orders being left as pending payment.
* Add - Introduce a way for store managers to automatically configure webhooks on their Stripe account with a single button in the admin settings.
* Fix - Ensure subscriptions purchased with iDEAL or Bancontact are correctly set to SEPA debit prior to processing the intitial payment.
* Tweak - Stripe API version updated to support 2024-06-20.
* Fix - Ensure SEPA tokens are attached to customers in the legacy checkout experience when the payment method is saved. This addresses subscription recurring payment "off-session" errors with SEPA.
* Tweak - Limit the configure webhooks button to 1 click per minute to prevent multiple webhook creations.
* Fix - Address Klarna currency rules to ensure correct presentment and availability based on merchant and customer locations.
* Fix - Prevent saved SEPA Sources from being displayed as available payment methods when the Updated checkout experience is enabled.
= 8.4.0 - 2024-06-13 =
* Tweak - Resets the list of payment methods when any Stripe key is updated.
* Fix - Removes the list of saved payment methods when the setting is disabled.
* Tweak - Update WooCommerce.com docs links.
* Fix - Correctly setting the preferred card brand when creating and updating a payment intent.
* Tweak - Update WordPress.org screenshots and captions.
* Fix - Added a feedback message + redirection back to cart when a Cash App payment fails.
* Fix - Remove the duplicated customization notice in the settings screen.
* Add - Include Cash App as a payment method for stores using the updated checkout experience.
* Fix - Fixed fatal errors with subscription helper methods when subscriptions classes (from WooCommerce Subscriptions) are not available.
* Add - Add a new dismissible banner to promote Stripe products to the settings page.
* Fix - Hiding BNPL payment methods when the Stripe account country is not supported.
* Fix - Resolved checkout error with UPE when using test mode customer in live mode or vice versa.
* Fix - Handle checkbox type required fields correctly on the shortcode checkout when paying with Google Pay/Apple Pay.
* Tweak - Remove unused confirmation modal a capability properties.
* Fix - Resgister script on the checkout page only when the gateway is enabled.
* Tweak - Allow to enable/disable payment methods irrespective of currency requirement.
* Add - Include WeChat Pay as a payment method for stores using the updated checkout experience.
* Add - Show currency requirement details in a popover.
* Fix - Resolve invalid recurring shipping method errors when attempting to purchase multiple subscriptions with Apple Pay or Google Pay.
* Fix - Deprecation errors on PHP 8.2 caused by using the deprecated constant FILTER_SANITIZE_STRING.
* Update - Declare compatibility with the Cart and Checkout blocks.
= 8.3.1 - 2024-05-30 =
* Fix - Error on some environments due to the parameter in the WC_Stripe_UPE_Payment_Gateway constructor method.
* Fix - Prevents orders purchased using a 3DS card being stuck as "pending payment" for stores with the Legacy Checkout Experience setting enabled.
= 8.3.0 - 2024-05-23 =
* Add - Add a new dismissible banner to promote Stripe products to the settings page.
* Add - Include Afterpay (Clearpay in the UK) as a payment method for stores using the updated checkout experience.
* Add - Include Affirm as a payment method for stores using the updated checkout experience.
* Add - Include Klarna as a payment method for stores using the updated checkout experience.
* Add - Additional information is displayed on the "Payment methods" page when listing co-branded credit cards.
* Fix - Resolved an error that could prevent purchasing subscriptions that have a capital letter in the billing period. eg "Year" instead of "year".
* Fix - The preferred card brand is used when paying with a co-branded credit card.
* Fix - Prevent duplicate stripe meta data on orders caused by processing redirect payments and webhooks simultaneously.
* Fix - Processing a refund of a non-card payments (i.e. iDeal, giropay) through the Stripe dashboard was not showing as refunded in WooCommerce for stores with UPE enabled.
* Fix - Prevent orders that require manual review in Stripe being marked as processing in WooCommerce before approval.
* Tweak - Credit card brand selection disabled when the "Legacy checkout experience" is enabled.
* Tweak - Improve performance with handling redirect payments by not constructing every payment gateway on each page load.
* Tweak - Adds the tracking of a selected card brand when paying using co-branded credit cards.
* Tweak - Improve the order note message recorded when a subscription-renewal order payment fails.
= 8.2.0 - 2024-04-11 =
* Tweak - Improve the display of the Stripe account ID in the settings page.
* Add - Enable custom styling of the Payment Elements for stores using the updated checkout experience.
* Fix - Alipay icon not being displayed on the Block checkout page.
* Fix - Ensure the hold stock setting does not cancel pending stripe orders that are still waiting for customer action (eg confirm 3DS or complete payment redirect).
* Fix - Prevent checkout errors when customers with one-word names process payment using Apple Pay or Google Pay.
* Tweak - Remove the functionality for saving the customized statement descriptors.
* Tweak - Remove unused WC_Stripe_Old_Settings_UPE_Toggle_Controller class and related scripts.
* Update - Save the Stripe default appearance settings in a transient instead of the browsers local storage.
* Tweak - Update Link by Stripe branding assets.
= 8.1.1 - 2024-04-04 =
* Fix - Do not hide PRB on cart and product page when there are required custom checkout fields.
* Fix - Issue with subscription renewal when the `start_date` of the mandate is set in the past.
= 8.1.0 - 2024-03-28 =
* Add - Include Stripe account details to the settings page.
* Add - Include Stripe API version in logs.
* Add - Enable the updated checkout experience (UPE) by default for new accounts.
* Add - Banner encouraging the transition to the updated checkout experience.
* Fix - Hiding the refund button and replacing it with a disabled "Refunding unavailable" button when the order is not captured.
* Fix - Incorrect payment amount sent to Stripe when using three-decimal currencies.
* Fix - PHP 8.2 deprecation warnings within the WC_Stripe_UPE_Payment_Method class.
* Fix - Resolved an issue with saving plugin settings when bank descriptor value is invalid.
* Fix - Issue with rendering Sepa on checkout page when card is disabled in non-UPE mode.
* Fix - Resolved an issue in processing subscription payments with currencies not supported for mandate data.
* Fix - Resolved an issue with subscription when attaching customers directly without 3DS due to Indian payment regulations.
* Fix - Error saving Stripe settings when testmode is enabled without any Stripe test API keys saved yet.
* Tweak - Update the Stripe JS library to 1.36.0.
* Tweak - Removed the "Early Access" pill and "Disable" option from the Stripe payment methods dropdown menu.
* Tweak - Remove unused UPE title field.
* Tweak - Add WooCommerce as a plugin dependency.
* Tweak - Update the interface for the setting to toggle the New checkout experience to make it relative to the Legacy one instead.
= 8.0.1 - 2024-03-13 =
* Fix - Resolved failing card payments when `statement_descriptor` parameter is used.
= 8.0.0 - 2024-02-29 =
* Add - Implement deferred payment intents for the Payment Element (or UPE), used on the updated checkout experience.
* Add - Implement split Payment Elements (or split UPE), splitting the payment method types under the updated checkout experience into different gateways.
* Add - Update the interface for customizing Stripe payment methods.
* Fix - When toggling on the Stripe gateway from the payment methods list, don't incorrectly redirect the merchant to Stripe settings when test mode is enabled.
* Fix - Hiding the expandable menu for UPE entirely when the feature is disabled.
* Fix - Critical error when deactivating the extension after deactivating WooCommerce.
* Fix - Add missing fee and payout information to the order details page in admin.
* Fix - Hiding "Early Access" label and "Refresh payment methods" button when UPE is disabled.
* Fix - Prevent undefined $latest_charge property warnings when signing up to subscriptions with no initial payment (eg free trials).
* Fix - Wrong status when purchasing a pre-order product with a new payment method.
* Tweak - Orders with `trash` status are not retrieving anymore when calling `get_order_by_intent_id` function.
* Tweak - Hide Stripe secret keys in the UI.
* Fix - Resolved failing payments when statement descriptor prefix starts with a number.
= 7.9.3 - 2024-02-12 =
* Fix - Resolved failing payments when statement descriptor only contains the order number.
= 7.9.2 - 2024-02-07 =
* Fix - Resolved an issue that could cause card payments to fail when providing a Bank statement description with the `statement_descriptor` parameter.
* Tweak - The Bank statement description settings in the Stripe plugin settings are no longer editable. The description is now automatically pulled from the Stripe account settings.
= 7.9.1 - 2024-01-16 =
* Fix - PHP fatal error when updating a user with saved tokens from the WP Dashboard.
= 7.9.0 - 2024-01-11 =
* Tweak - Updated supported/tested versions of WordPress and WooCommerce.
= 7.8.1 - 2023-12-28 =
* Fix - Check if a valid order of tye WC_Order is returned before calling `get_meta` function.
= 7.8.0 - 2023-12-21 =
* Fix - Resolved an issue with Stripe errors not being displayed on the checkout page for stores using custom payment method elements.
* Fix - Resolved a PHP fatal error occurring on stores that removed `WC_Email_Failed_Order` from the list of WC email classes while attempting to send the failed order email.
* Fix - Prevent incorrect totals displayed in Google Pay and Apple Pay when purchasing a virtual sychronised subscription from the product page.
* Fix - Hide the Google Pay and Apple Pay buttons on variable product pages, if the selected variation is not supported by Payment Request buttons.
* Fix - Don't require shipping when purchasing a virtual variable subscription product using Google Pay and Apple Pay.
* Fix - When using Payment Request buttons, fix $0 total for stores using a customized product page that adds the variation product ID directly into the cart.
* Fix - MultiBanco: HTML tags to print as expected on the Order Confirmation page, and "Thank you for your order" email.
* Tweak - Improve compatibility with PHP 8+.
* Tweak - Adjusted default height of express payment button from 40px to 48px. Existing stores retain their current button height settings.
* Tweak - Removed '- OR -' separator and updated placement of Express payment buttons (eg Apple Pay and Google Pay) on cart and product pages to align with WooCommerce Express payment button standards.
= 7.7.0 - 2023-11-09 =
* Add - Prevent saving the bank statement descriptor if it contains non-Latin characters.
* Fix - Display the Payment Request Buttons' error message in the classic checkout page.
* Fix - Prevent escaping the anchor tag under the Apple Pay domain registration failure notice.
* Fix - Use the card's payer name for Payment Request Buttons when the billing name isn't available.
* Fix - Display the Payment Request Buttons according to the selected settings.
* Tweak - Record Track events during the onboarding process.
* Tweak - Prevent Google Pay and Apple Pay from showing up in the UPE card Element.
* Tweak - Use admin theme color in selectors.
* Tweak - Refactor `is_valid_pay_for_order_endpoint` for better performance.
* Fix - Catch request failure errors.
* Tweak - Add test mode notice.
* Fix - Remove ugx from the zero decimal currency list as a special case in Stripe.
* Fix - Deleting customer on staging site detaches tokens from customer in Stripe.
* Fix - Resolved an issue preventing changing a subscriptions payment method when UPE is enabled.
* Fix - Send customer billing and address details to Stripe when changing a subscriptions payment method.
* Add - Attach billing details to customers created in Stripe to support Indian merchants in processing international transactions.
* Fix - Prevent "Invalid recurring shipping method" errors when attempting to purchase a synchronised subscription with payment request buttons.
* Fix - When using Payment Request buttons on variable product pages, ensure shipping is properly calculated after the customer closes the window and changes variations.
* Fix - Purchasing a virtual variable product using Apple Pay and Google Pay on the product page will no longer require shipping details.
= 7.6.2 - 2023-10-31 =
* Deprecate - Remove Sofort support for new accounts.
* Fix - Add Order Key Validation.
= 7.6.1 - 2023-10-17 =
* Fix - Add nonce check to OAuth flow.
= 7.6.0 - 2023-09-14 =
* Fix - PHP fatal error when saving a non-UPE payment method and the Stripe request to retrieve it fails.
* Fix - Missing mapping for formal German (de_DE_formal), Swiss German (de_CH), and informal Swiss German (de_CH_informal) locales for Stripe emails.
* Fix - Set failed order as pre order
* Tweak - Include check during the connect redirect flow.
* Tweak - Skip Apple Pay registration for accounts from India.
* Tweak - Refactor post_meta calls for HPOS compatibility.
= 7.5.0 - 2023-08-10 =
* Fix - Unable to process 0 amount subscription.
* Fix - Resolved an issue that prevented customers using saved `card_` prefixed payment methods on checkout.
= 7.4.2 - 2023-07-31 =
* Fix - Add order key validation for UPE.
* Fix - Enhance query parameters validation in redirected requests.
* Fix - Resolved an issue with orders getting stuck on Pending Payment status when UPE is enabled and customer creates account during checkout.
* Fix - Stripe source and customer tokens not being saved on subscriptions when UPE is enabled and subscription is purchased by guest customer.
* Fix - Make the gateway unavailable when using it in live mode without SSL.
* Fix - Remove Stripe Link PRB when disabled from settings.
* Fix - Lookup existing refunds by refund ID when processing webhooks.
* Fix - Exclude Link from disable UPE confirmation modal in settings.
* Fix - Fix JS (ES5) compatibility on older browsers for the shortcode checkout.
= 7.4.1 - 2023-05-30 =
* Fix - Add Order Key Validation.
* Fix - Add sanitization and escaping some outputs.
= 7.4.0 - 2023-05-03 =
* Fix - Issue processing renewals for subscriptions without parent orders.
= 7.3.0 - 2023-04-12 =
* Fix - The payment requests are updated when product add-ons are changed (Product Add-ons extension).
* Add - Support eMandates for recurring payments made in INR
= 7.2.0 - 2023-03-09 =
* Fix - Hide PRB box in checkout block when PRBs disabled.
* Fix - Fix semi-hidden modal inline notices.
= 7.1.0 - 2023-02-08 =
* Fix - Replace some post meta methods with equivalent methods compatible with HPOS.
* Fix - Rare cases of payment processing failing when webhooks arrive before customer is redirected when UPE is enabled will no longer occur.
* Tweak - Update minimum supported versions for WordPress, WooCommerce, and PHP.
* Update – Declare this plugin compatible with High-Performance Order Storage (HPOS).
= 7.0.2 - 2023-01-11 =
* Fix - Expand charges object from incoming webhooks using Stripe API version 2022-11-15.
* Fix - Expand refunds on charge object from incoming webhooks using Stripe API version 2022-11-15.
* Fix - Fix critical error on PHP 8+ when php_uname() is disabled
= 7.0.1 - 2022-11-11 =
* Fix - Issue where subscription renewal payments were being charged twice no longer present.
= 7.0.0 - 2022-11-10 =
* Add - Update Express Checkout section UI.
* Add - Auto-complete first and last name on checkout form when using Link payment method.
* Add - Allow subscription orders to be paid with Link payment method.
* Add - Add inbox notification for Link payment method.
* Tweak - Adjust texts and links in WC admin advanced settings.
* Add - Restrict the Link payment method only for US merchants.
= 6.9.0 - 2022-10-19 =
* Tweak - Remove remaining traces of old Stripe settings.
* Add - Add Boleto expiration setting.
* Add - Declare incompatibility with HPOS.
= 6.8.0 - 2022-09-28 =
* Fix - Minor adjustments for Custom Order Tables compatibility.
* Fix - Upgrade from Payment Element beta.
= 6.7.0 - 2022-09-06 =
* Fix - Check payment method before updating payment method title.
* Fix - Use the eslint config at the root of the repo.
= 6.6.0 - 2022-08-17 =
* Fix - Fix "Pending" text instead of numeric amount on Payment Request button on iOS.
= 6.5.1 - 2022-08-01 =
* Fix - Stripe Link missing styles and logo for email trigger button.
* Fix - Stripe Link fatal error on `get_upe_enabled_payment_method_ids` method.
* Fix - Remove Link beta headers on checkout.
= 6.5.0 - 2022-07-28 =
* Add - Stripe Link: Add beta headers for Stripe server requests
* Add - Stripe Link payment method option in admin
* Add - Stripe Link payment method on checkout form
* Add - Stripe Link payment method on blocks checkout form
= 6.4.3 - 2022-06-30 =
* Fix - Replace unnecessary throws with empty string when keys are invalid.
= 6.4.2 - 2022-06-29 =
* Fix - Fix terminal location creation if site title is missing.
* Fix - Add compatibility with WooCommerce 6.6.
= 6.4.1 - 2022-06-01 =
* Fix - Ensure proper URL formatting.
= 6.4.0 - 2022-05-20 =
* Fix - Changed logic for how 'Enabled/Disabled' statuses are shown for payments and payouts capabilities in settings.
* Tweak - Updated the minimum supported versions of WordPress and WooCommerce.
= 6.3.0 - 2022-03-10 =
* Tweak - Remove html from translatable strings.
* Tweak - Revert the deprecation of the 'wc_stripe_hide_payment_request_on_product_page', 'wc_stripe_show_payment_request_on_checkout', and 'wc_stripe_show_payment_request_on_cart' filters.
* Tweak - Address minor styling issues in settings.
= 6.2.0 - 2022-02-17 =
* Add - Add onboarding payment gateway setup methods.
* Fix - Enable Stripe payment method after connecting account.
* Fix - Missing statement descriptor in account summary API when not set in Stripe.
= 6.1.0 - 2022-01-26 =
* Tweak - Use the newly exposed LoadableMask component provided by WooCommerce Blocks to trigger the loading state for Payment Request Buttons.
* Fix - Response type for account summary API.
* Fix - Invalid response in account summary API when missing account data.
* Add - Live and test mode information in account summary API.
* Add - Add filter call when updating an existent intent (wc_stripe_update_existing_intent_request).
* Add - Add ability to test Stripe account keys' validity.
* Fix - Fixed full bank statement field description.
* Fix - Notification messages are placed on top of the account keys modal.
* Fix - Express checkout with 3DS card on product page when new checkout experience is enabled.
* Fix - Remove duplicate call to `payment_scripts`.
* Fix - Send bank statement descriptors to payment intents.
= 6.0.0 - 2022-01-05 =
* Fix - Fixed capitalization for payment method names: iDEAL, giropay, and Sofort.
* Add - Text to explain how to enable webhooks when manually entering your API keys in the new Stripe settings.
* Tweak - Redirect to the settings tab after an account is connected.
* Tweak - Prompt message when navigating out Stripe settings with unsaved changes
* Tweak - Show toast when payment methods list is updated with new payment methods.
* Fix - JS error on checkout when Boleto method was not active.
* Fix - Fixed bug that show "Use new payment method" on pay order page when there were no saved card was.
* Tweak - Autocomplete for account keys and webhooks fields were disabled.
* Fix - The settings page is not reloaded when the user enters invalid account keys.
= 5.9.0 - 2021-12-09 =
* Add - Add Stripe API to generate connection tokens, manage terminal locations, create customers, get account summary, capture payment.
* Tweak - Remove `_wcstripe_feature_upe` flag and all traces of old settings.
* Fix - Fix error when invalid card is used on Pay Order page.
* Fix - Fix outdated data when using Blocks Checkout.
* Add - List of payment methods that are not included for the merchant.
* Tweak - Update how the new checkout experience is enabled.
* Fix - Error on UPE checkout depending on the account keys set.
* Tweak - Hide separate credit card form setting when UPE is enabled.
= 5.8.1 - 2021-11-23 =
* Fix - Run filters that disable Stripe JS on cart and product pages when PRBs are disabled.
= 5.8.0 - 2021-11-18 =
* Fix - Hong Kong addresses are now mapped more thoroughly to WooCommerce addresses when paying with Apple Pay.
* Fix - Error when changing payment method for a subscription with new checkout experience.
* Fix - Payment Requests are now updated correctly when updating items in the Cart Block.
* Add - Support for WooCommerce Pre-Orders with new checkout experience.
* Fix - Stripe JS is no longer loaded on cart and product pages when PRBs are disabled on those pages.
* Tweak - Update the minimum required PHP version to 7.0 to reflect our L-2 support policy.
* Fix - Add support for MYR (Malaysian ringgit) for Alipay.
* Add - New Settings UI.
* Fix - Hide payment request button when variations of a variable product are out-of-stock.
* Add - Support for Boleto and OXXO payment methods
= 5.7.0 - 2021-10-20 =
* Fix - Enable use of saved payment methods converted to SEPA payments.
* Tweak - "Save payment information" checkbox now has better alignment in store checkout.
* Tweak - Error notices at checkout now have more consistent design.
= 5.6.2 - 2021-10-06 =
* Tweak - Remove animated credit card icons from payment method option on the checkout page.
* Fix - Payments for pre-orders and subscriptions with an empty source token now work as intended.
= 5.6.1 - 2021-10-04 =
* Fix - Naming conflict with other plugins on WC_Stripe_REST_Controller.
* Fix - Fatal error on `WC_REST_Stripe_Settings_Controller` when Elementor and WooFunnels plugins are used.
= 5.6.0 - 2021-09-30 =
* Add - Pre-release preview of new checkout experience using Stripe Universal Payment Element.
* Tweak - Removed "Branded" and "Custom label" options on Payment request buttons to align with design guidelines.
* Tweak - Converted payment request button size value to distinct options to align with design guidelines.
* Tweak - Animate supported credit card icons instead of displaying multiple icons at once.
= 5.5.0 - 2021-09-15 =
* Tweak - Moved the `WC_Gateway_Stripe::admin_scripts` method to `WC_Stripe_Settings_Controller::admin_scripts`.
* Fix - Save payment method during 3D Secure flow for Block-based checkout.
* Fix - Show subtotal on Payment Request dialog.
* Add - Settings to control Payment Request Button locations in the Stripe plugin settings. Persists changes made through pre-existing filters, or defaults to the Cart and Product pages if no filters are in use.
* Tweak - Deprecated the 'wc_stripe_hide_payment_request_on_product_page', 'wc_stripe_show_payment_request_on_checkout', and 'wc_stripe_show_payment_request_on_cart' filters in favor of the UI-driven approach in the plugin settings.
* Add - Notice for WP & WC version compatibility check.
= 5.4.1 - 2021-09-01 =
* Fix - Get Subscription CustomerID from Order instead of User.
= 5.4.0 - 2021-08-18 =
* Fix - Do not ask for a Shipping Address if no Shipping Zone is defined.
* Fix - Return HTTP 204 when webhook validation fails so Stripe won't stop sending certain webhook events after too many failed validations.
* Fix - Possible use of an undefined variable `prepared_source`.
* Add - 'wc_stripe_allowed_payment_processing_statuses' filter to customize order statuses that allow payment processing in the context of 3DS payments.
= 5.3.0 - 2021-07-21 =
* Fix - Disable Payment Request Buttons when order has to be split into multiple packages because Payment Requests do not support that use case.
* Tweak - Payment request button should guide users to login when necessary.
= 5.2.3 - 2021-06-11 =
* Fix - Credit card icons and credit card input on custom shortcode checkout pages.
= 5.2.2 - 2021-06-10 =
* Fix - The absence of a cart causing fatal errors when rendering the Cart or Checkout block.
= 5.2.1 - 2021-06-10 =
* Fix - Remove calls to `has_block()` since it breaks compatibility with older versions of WordPress.
* Tweak - Use the same JavaScript configurations for the Block-based and Shortcode-based checkout flows.
= 5.2.0 - 2021-05-19 =
* Fix - Use `get_parent` method to avoid accessing `order` subscription property directly.
* Fix - Orders won't transition to 'Refunded' state if refund can't be created.
* Fix - Normalize United Kingdom and Canada postal codes for Apple Pay.
* Fix - Subscription sign-up fees not included in total for Payment Request Button.
* Fix - Reduce requests sent to server from stripe settings page.
* Fix - Choose the appropriate version of the WooCommerce Admin Notes API based on which API is available.
* Fix - Customer information is now correctly displayed in the Stripe Payments Dashboard when a new customer checks out through the WooCommerce Checkout Block.
* Fix - Pass customer language/locale to Stripe upon creation or modification.
* Fix - Initial price for Variable Products is now correctly shown when a Payment Request is started.
* Add - Support for Credit Card payments (incl. 3DS payments) via WooCommerce Blocks; limited to WooCommerce Core product types.
* Add - Support for payments (incl. 3DS payments) paid via Payment Request Buttons in WooCommerce Blocks; limited to WooCommerce Core product types.
* Add - Support for custom and branded Payment Request Buttons when using the Cart and Checkout blocks.
* Tweak - Should customer opt to save their card, the card is now saved after a payment has been confirmed.
= 5.1.0 - 2021-04-07 =
* Fix - Don't attempt to submit level 3 data for non-US merchants.
* Fix - Hide Payment Request Buttons when guest checkout is disabled.
* Fix - Match Payment Request states with WooCommerce states.
= 5.0.0 - 2021-03-17 =
* Add - Display time of last Stripe webhook in settings.
* Add - wc_stripe_webhook_validate_user_agent filter to customize webhook user-agent validation.
* Fix - Payment Request Buttons for Chinese provinces in Chrome.
* Fix - Enable wc_stripe_send_stripe_receipt filter to send Stripe emails.
* Fix - Check for more errors when attaching sources to customers.
= 4.9.0 - 2021-02-24 =
* Fix - Add fees as line items sent to Stripe to prevent Level 3 errors.
* Fix - Adding a SEPA payment method doesn't work.
* Fix - Apple Pay domain verification with live secret key.
* Fix - Display the correct accepted card branding depending on store currency and location.
* Fix - Remove duplicate Apple Pay domain registration Inbox notes.
* Add - Copy Apple Pay domain registration file and trigger domain registration on domain name change.
* Update - Notes and status when refunding order with charge authorization.
= 4.8.0 - 2021-01-28 =
* Fix - Filter more disallowed characters from statement descriptors.
* Fix - Payment request button for Puerto Rico.
* Fix - Handle error if country is not supported for payment request button.
* Fix - Trim the refund reason to a max of 500 characters.
* Tweak - Display warning on webhook secret when server time is off from device time.
= 4.7.0 - 2020-12-22 =
* Fix - Updating subscription payment methods from the "My Account" page now adds a note to the subscription.
* Fix - Link is now correctly formatted in readme.txt.
* Fix - Using SCA cards for subscriptions renewal payments now works as intended.
* Fix - Cards added under "My Account -> Payment Methods -> Add Payment Method" will now handle SCA properly.
* Fix - Changing a payment method for a subscription in "My Account -> Subscriptions" will now handle SCA properly.
* Fix - Missing space causing fatal errors for certain WooCommerce Inbox Note features.
= 4.6.0 - 2020-12-15 =
* Tweak - Update packages for Composer 2 compatibility.
* Tweak - Use full jQuery function calls instead of soon-to-be-deprecated shorthands.
* Tweak - Use JSON.parse() instead of jQuery.parseJSON().
* Tweak - Remove holiday messaging from Apple Pay note after Dec 22.
* Fix - Compatibility with the Stripe for WooCommerce plugin.
* Fix - Guard against fatal errors caused by WC_Admin_Note.
* Fix - Display error message when payment made with payment request buttons fails.
= 4.5.5 - 2020-11-17 =
* Fix - Guard against fatal errors that may occur on inbox data store load.
= 4.5.4 - 2020-11-16 =
* Add - Stripe Connect OAuth.
* Tweak - Add site_url to all transactions, not just recurring ones.
* Add - Customer's full name is now included in Stripe Customer object if available.
* Add - Accept payments via AliPay when store currency is set to CNY.
* Tweak - Wording of Apple Pay link.
* Fix - Serve Apple Pay domain verification file via a rewrite rule.
* Add - Add Inbox note for Apple Pay domain verification if needed.
* Add - Apple Pay holiday marketing notice.
* Fix - Apple Pay: Ensure payer phone is available before attempting to access it.
* Add - Pass payment method for renewal charges if not a source.
* Fix - Ensure defaults are used for missing settings.
* Add - Add shipping address to payment requests.
* Fix - Fix the Not a valid URL notice.
* Add - Security.md with security and vulnerability reporting guidelines.
= 4.5.3 - 2020-10-06 =
* Fix - Apple Pay now requires a buyer's phone number only if it's required in Appearance > Customize > WooCommerce > Checkout.
* Add - Allow toggling secrets temporarily to visible in settings.
* Fix - Properly display field required error when SEPA method is used.
* Tweak - Update payment request button description to include link to Stripe dashboard Apple Pay settings.
* Add - Add off session payment intent filter, props rfair404.
* Tweak - Update contributors list.
= 4.5.2 - 2020-08-19 =
* Fix - Allow extension to attempt to run in all countries, not just officially supported ones
= 4.5.1 - 2020-08-12 =
* Add - Support for Bulgaria, Czech Republic, Greece, Cyprus, Malta, Slovenia
* Add - Additional metadata for order status change events when tracking is permitted
= 4.5.0 2020-06-24 =
* Tweak - Improve branded Google Pay button user agent detection.
* Add - New filter to manage the display of payment request buttons in cart.
* Fix - Display Apple Pay button with text if branded type is text and logo.
* Fix - Prevent branded payment request button duplication when checkout is re-calculated.
* Fix - Payment request buttons on a single product page now correctly show the product name instead of a subtotal.
* Fix - Quotes in variadic product attributes no longer cause payment request buttons to show only the cheapest variation.
= 4.4.0 2020-05-21 =
* Tweak - Remove support for WooCommerce versions lower than 3.0.
* Tweak - Update plugin assets.
* Tweak - Improve performance on order pay screen.
* Tweak - Compress payment methods SVGs.
* Add - Support for custom payment request button.
* Fix - Prevent users from entering secret key in the public key field and stop it from showing if they did.
* Fix - Revert caching layer removal to speed up My Account subscriptions tab.
* Fix - Bug where source ID was not set resulting in an uncaught exception.
* Fix - Collecting level 3 data triggers a warning.
* Fix - Custom button class typo.
* Fix - Payment Request incorrect shipping option passed.
* Fix - Payment Requests, like Apple Pay, not initially showing correct quantity if used on Product Page.
* Fix - State abbreviation breaks Payment Request button.
* Fix - Stripe Payment Request button using incorrect Google Pay brand asset by adding a special branded button.
* Fix - Move docs and support links in the plugins list page.
= 4.3.3 2020-04-08 =
* Fix - Fix Payment Request issue when product attribute has quotes
* Fix - Fix "no such customer" error on checkout after the keys have been changed
* Add - Add alert for end of support WC < 3.0 in future releases
* Fix - Fix crash when used with WooCommerce Subscriptions <2.6
* Fix - Add missing customer ID to subscriptions before processing payment
* Fix - Fix transactions failing with trailing slash
= 4.3.2 2020-02-17 =
* Fix - Add compatibility to payment request buttons with some of the WooCommerce Product Add-ons on the product page
* Fix - Improved compatibility for free orders with other extensions
* Add - Support for multisite when sites use different Stripe accounts
* Fix - Display a localized error message when a customer tries to save a card during checkout, but there's an error
* Add - Send level 3 credit card data for purchases when possible
= 4.3.1 2019-11-12 =
* Fix - Overwrite the previous Apple Pay verification file if it has changed.
* Fix - Avoid re-mounting card elements if they are already mounted in the DOM.
* Fix - Compatibility with WooCommerce Deposits by retrieving order statuses in a different way.
* Fix - Duplicate payment notifications for subscriptions.
* Fix - Use the same customer after a new credit card has been entered.
* Fix - Google Pay buttons on subscriptions.
* Add - A filter, which allows all subscriptions' payment methods to be overwritten when adding a new payment method.
= 4.3.0 2019-10-17 =
* Add - For WooCommerce Subscriptions optimize the payment flow for subsequent subscription payments when authentication may be required by using the `setup_future_usage` parameter for the first subscription payment
* Add - Allow customer to authenticate payment even if they are not charged right away for WooCommerce Subscriptions and Pre-Orders, for example for a WooCommerce Subscription that has a free trial
* Add - When an off-session payment requires authentication, create a link for customers to come back to the store to authenticate the payment
* Add - Send an email to WooCommerce Subscription and Pre-Orders customers who need to authenticate a payment that was automatically tried on their behalf
* Add - When an off-session payment requires authentication, send an email to the admin
* Add - Admin notice about SCA-readiness
* Fix - Avoid idempotency key errors for Pre-Orders
* Fix - Use unique anchor for link about checkout styling changes
= 4.2.5 - 2019-10-02 =
* Fix - WooCommerce Subscriptions that use only the Stripe customer ID can again be renewed
= 4.2.4 - 2019-09-18 =
* Fix - Unclear error message when email address not completely filled in.
* Fix - Add payment request button compatibility with variable subscriptions
* Tweak - Do not show payment request button for shippable trial subscription products
* Fix - Do not copy the payment intent id when creating a subscription renewal
* Fix - Return early from check intent status if no order - props strayobject
* Fix - Extend webhook time window from 1 to 5 minutes to match Stripe client
* Update - WooCommerce 3.7 compatibility
* Update - Apple Pay Domain association file
* Update - Grandfather pre-SCA subscription renewals for SCA
= 4.2.3 - 2019-07-18 =
* Fix - Ignore "payment failed" webhooks if they come after another payment has already succeeded for that order.
* Fix - Correctly transition an order to "On Hold" if the payment was put under review by Stripe Radar, and back to "Processing" when the review is approved.
* Tweak - Make the publishable key fields be plain text instead of "password".
* Fix - Fix successful retries of 3ds failing.
= 4.2.2 - 2019-06-26 =
* Fix - Changing an order status to "Cancelled" or "Refunded" will no longer refund the payment, will only void the payment if it was just authorized.
= 4.2.1 - 2019-06-17 =
* Update - Add UGX (Ugandan Shilling) to zero decimal currency list.
* Fix - CSRF verification error upon creating account on checkout.
* Fix - Duplicate emails and order notes after successful transactions.
= 4.2.0 - 2019-05-29 =
* Update - Enable Payment Request buttons for Puerto Rico based stores.
* Update - Add support for Strong Customer Authentication (SCA) for user-initiated payments.
* Remove - Stripe Modal Checkout.
* Remove - 3D Secure settings are no longer available in the gateway settings. Use Stripe Radar instead.
* Fix - Display error messages only next to the chosen saved card.
= 4.1.16 - 2019-04-18 =
* Deprecate - Warn about the future removal of the Modal Checkout option.
* Tweak - WC 3.6 compatibility.
= 4.1.15 - 2019-03-12 =
* Fix - Prevent canceled webhook from processing non Stripe payments.
* Fix - "Retain Stripe Data" setting placement on WooCommerce settings page.
* Tweak - Stripe API version updated to support 2019-02-19.
= 4.1.14 - 2019-01-10 =
* Remove - Stripe specific styling to allow themes to style accordingly.
* Tweak - Handle error if product is not found in payment request.
= 4.1.13 - 2018-11-20 =
* Update - WP 5.0 compatibility.
= 4.1.12 - 2018-10-19 =
* Fix - Typo on notice banner.
* Fix - On auth/capture scenario, error can occur when completing the order in backend.
= 4.1.11 - 2018-10-17 =
* Fix - Explicitly set 3DS source id to prevent 3DS source not charging when not required.
* Fix - Prevent Stripe JS failed live/test check from throwing JS error.
* Fix - Find order by source ID if charge ID is not found when cancelled webhook is triggered.
* Fix - Partial refund on Stripe captured charge erroneously refunding total amount.
* Fix - Capture charge on previously authorized charge, not showing Stripe fees.
* Fix - Check if payment icons are set before trying to use them.
* Fix - Can't use method in write context errors.
* Deprecate - Soft deprecated function is_pre_30 with is_wc_lt function.
* Add - Ability to update all active subscription's payment method when adding a payment.
* Add - Hook to show update all active subscription's payment method checkbox `wc_stripe_display_update_subs_payment_method_card_checkbox`.
* Add - CSS minification.
* Update - WC 3.5 compatibility.
* Update - Stripe API version to 2018-09-24.
= 4.1.10 - 2018-09-17 =
* Fix - When 3DS card redirect status is "not_required", charge the 3DS source.
* Fix - Payment Request not validating quantity before payment sheet shows.
* Fix - Test mode info not showing when description field is left blank.
* Add - Filter for Payment Request localized parameters `wc_stripe_payment_request_params`.
* Update - Stripe API version to 2018-09-06.
= 4.1.9 - 2018-08-27 =
* Fix - Don't display admin notices to user that cannot manage woocommerce.
* Fix - Fatal error when clicking on order link that doesn't exist.
* Fix - When capturing a charge from authorize, Stripe fees not displaying.
* Fix - Undefined property error on card type in rare cases.
* Tweak - Update SEPA IBAN to use new elements implementation.
* Add - Filter for Payment Request Button locale `wc_stripe_payment_request_button_locale`.
= 4.1.8 - 2018-07-19 =
* Fix - 3DS payment sometimes will create additional transaction in Stripe.
* Fix - WC 2.6 with SEPA saved payment causing error on checkout.
* Update - EPS logo.
= 4.1.7 - 2018-06-06 =
* Fix - Asynchronous payment methods such as SEPA, did not show order Stripe fees/net after payment succeed.
* Fix - Missing semicolon on a CSS style value which causes display issues in some browsers.
= 4.1.6 - 2018-05-31 =
* Fix - Radio buttons on checkout on some themes are not aligned properly.
* Fix - False negative on SSL warning notice in admin.
= 4.1.5 - 2018-05-28 =
* Tweak - Refactor initialization of plugin.
* Tweak - Webhook failed handler now handles all payment methods.
* Tweak - Make sure 3DS object is in pending status before redirecting.
* Tweak - CSS styling.
* Add - Username to the description field of the Stripe customer when created.
* Add - GDPR retention setting and logic.
* Fix - Payment request payments were redirected to Pay Order when it should be Order Received.
* Update - Stripe API version to 2018-05-21.
= 4.1.4 - 2018-05-22 =
* Tweak - Improve performance when getting source id and charge id from database.
* Add - GDPR privacy support.
* Update - WC 3.4 compatibility.
= 4.1.3 - 2018-05-07 =
* Add - Hook to manipulate payment request shipping posted values `wc_stripe_payment_request_shipping_posted_values`.
* Add - Accessibility attribute for credit card label.
* Add - Hook to change Stripe supported countries `wc_stripe_supported_countries`.
* Fix - WC 2.6 compatibility issue during a refund.
* Fix - Payment Request JS error when default country setting is not supported.
* Fix - Failed payments were sending two failed emails to admin instead of one.
* Tweak - Remove payment methods links from WC Payment Settings page for WC 3.4+.
= 4.1.2 - 2018-04-23 =
* Fix - When payment method is invalid while trying to force save card, unexpected error can occur.
* Fix - Pass name attribute when adding payment method from my account to allow Radar to work properly.
* Tweak - Icon CSS styling to work for more different theme setups.
* Remove - Bitcoin method as it is hard deprecated by Stripe as of April 23, 2018.
= 4.1.1 - 2018-04-17 =
* Tweak - Use payment_complete method when charge is succeeded or captured so other WC related tasks gets triggered.
* Tweak - Styling for the credit card logos.
* Add - Subscription change payment method support for SEPA.
* Add - Credit card branding detection on credit card field.
* Fix - When checkout form fields fails second time, page refreshes instead of using AJAX.
* Fix - Potential issue when WC is not activated.
= 4.1.0 - 2018-04-11 =
* Tweak - Create user session only on product detail page.
* Tweak - Payment Request session handling to bail if session already exists.
* Tweak - 3DS recommended is now required and 3DS optional is now not required.
* Tweak - Admin notices for currency check are now all dismissible.
* Tweak - Added all color payment logos in svg.
* Tweak - Update Stripe Fee and Stripe Net meta names.
* Tweak - Stripe Checkout Popup Modal will validate checkout before proceeding to payment step.
* Tweak - Verbiage for saving payment information to account.
* Fix - When SEPA was used in subscription payment, it does not show SEPA in payment method table.
* Fix - Refund via Stripe dashboard not reflecting amount in order notes.
* Fix - Potential idempotency issues with subs recurring payment processing.
* Add - Multibanco payment method.
* Add - EPS payment method.
* Add - Notice for customer to change saved cards when billing address has been updated.
* Add - Stripe fee and net payout to order line item total section.
* Add - Hook to separately control Stripe Checkout Modal's allow remember me option. `wc_stripe_allow_remember_me` (bool).
* Add - Hook to filter 3DS requirements `wc_stripe_require_3ds`.
* Add - Hook to verify zipcode in Stripe Checkout Modal. `wc_stripe_checkout_verify_zip`. Only works when require address is true.
* Add - Hook to require shipping address on Stripe Checkout Modal. `wc_stripe_checkout_require_shipping_address` (bool).
* Add - Hook to hide Stripe net payout on order line item `wc_stripe_hide_display_order_payout` (bool).
* Add - Hook to hide Stripe fee on order line item `wc_stripe_hide_display_order_fee` (bool).
* Add - Hook to filter out logging messages `wc_stripe_logging` (bool).
* Add - Hook to add content to the Stripe Checkout Receipt Page `wc_stripe_checkout_receipt_page_before_form`.
* Add - Hook to add content to the Stripe Checkout Receipt Page `wc_stripe_checkout_receipt_page_after_form`.
* Add - Hook to add content to the Stripe Checkout Receipt Page `wc_stripe_checkout_receipt_page_before_form_submit`.
* Add - Hook to add content to the Stripe Checkout Receipt Page `wc_stripe_checkout_receipt_page_after_form_submit`.
* Add - Hook to add handling to the Stripe Checkout return handler `wc_stripe_checkout_return_handler`.
* Add - Hook to change save to account checkbox text `wc_stripe_save_to_account_text`.
* Add - Compatibility with Payment Request/Apple Pay and different coupon types such as gift/store credit by Smart Coupons (requires WC 3.2+).
* Add - Compatibility with Payment Request/Apple Pay and Subscription product in cart page.
* Add - Compatibility with Payment Request/Apple Pay and Bookings product in cart page.
* Add - Compatibility with Payment Request/Apple Pay and Composite products in cart page.
* Add - Compatibility with Payment Request/Apple Pay and Product Bundles in cart page.
* Add - Compatibility with Payment Request/Apple Pay and Account Funds in cart page.
* Add - Compatibility with Payment Request/Apple Pay and Mix and Match products in cart page.
* Add - Compatibility with Payment Request/Apple Pay and Product Addons in cart page.
* Add - $post object on hook `wc_stripe_hide_payment_request_on_product_page`.
* Update - Stripe API version to 2018-02-28.
* Remove - Hard deprecated Stripe JS v2 credit card form process.
= 4.0.7 - 2018-02-23 =
* Fix - Potential conflict issue when adding payment method from another payment gateway.
* Fix - Issue when using saved card before sources were introduced.
* Add - Description field/setting for Stripe Checkout Modal/popup.
= 4.0.6 - 2018-02-20 =
* Fix - A WC 2.6 backwards compat issue with function from WC 3.0.
* Fix - Subs renewal sometimes failed due to parameters being different.
* Fix - Stripe accepts only NO for Norwegian language on Stripe Checkout.
* Fix - Refund fees may not accurately reflect net fees. Props @rvola.
* Fix - Undefined SERVERNAME property in some cases.
* Fix - Potential issue when a charge parameter changes due to initial failed request causing retries to fail.
* Fix - When 3DS is not required, failed payments was not change order status to failed.
* Fix - Potential duplicate order processes on WC side when webhook and redirect has a race condition.
* Remove - Checkout validation and let WC handle it.
* Update - Stripe API version to 2018-02-06.
* Add - Webhooks for review open/closed for Radar.
* Add - Hook `wc_stripe_refund_request` for refund request arguments.
* Add - Hook `wc_stripe_validate_modal_checkout` to enable 3rd party checkout validation.
* Add - Hook `wc_stripe_validate_modal_checkout_action`.
= 4.0.5 - 2018-02-02 =
* Fix - Illegal offset error on settings when non is defined or saved.
* Fix - Wrong ID used for dispute webhook handler.
* Fix - A WC 2.6 backwards compat issue while trying to get order id in subscriptions.
* Fix - Processing SEPA can't find email when not logged in.
* Add - Allow restricted secret keys to be used.
* Add - Statement Descriptor to SEPA Direct Debit.
* Add - Idempotency failure retry with easing to prevent multirequest issue.
* Add - POT file.
* Tweak - Make billing name optional on pay for order page.
= 4.0.4 - 2018-01-30 =
* Add - SEPA mandate notification email.
* Add - Preferred language to SOFORT and Bancontact so it can be localized.
* Add - Hook to change SEPA mandate notification to none "wc_stripe_sepa_mandate_notification".
* Add - Hook to change data for product when using Payment Request Button "wc_stripe_payment_request_product_data".
* Add - Hook to change the behavior of allowing subscriptions to charge a customer's default source "'wc_stripe_use_default_customer_source'".
* Add - Hook to source object "wc_stripe_sofort_source", "wc_stripe_p24_source", "wc_stripe_ideal_source", "wc_stripe_giropay_source", "wc_stripe_bancontact_source", "wc_stripe_alipay_source", "wc_stripe_3ds_source".
* Add - Hook to change payment request button total label "wc_stripe_payment_request_total_label".
* Add - Hook to change locale of Stripe Checkout "wc_stripe_checkout_locale".
* Add - Hook to change elements options "wc_stripe_elements_options".
* Fix - When checkout form produces an error on mobile, sometimes the blocking mask is not release blocking new input.
* Fix - On older subscription payments, the ending card number is not shown on the subscriptions table in my account.
* Fix - Filter to show payment request button on checkout page not working.
* Fix - WC session handling compatibility with WC 3.3.
* Fix - BW compatibility with WC 2.6.x on add_order_meta to prevent errors.
* Fix - Possible fix for duplicate charges due to webhook and redirect handler firing at the same time by adding delay to the webhook process.
* Tweak - In a subscription billing, Stripe source ID is no longer a required field.
* Tweak - On a subscription order renewal-- if source is empty, will now try to charge the default source.
* Notice - Bitcoin has been soft deprecated and Stripe will no longer support it on April 23, 2018. Please plan accordingly.
* Remove - Stripe Checkout Locale setting in favor of using store set locale.
* Update - Stripe API version to 2018-01-23.
= 4.0.3 - 2018-01-18 =
* Fix - Pass Stripe source as id instead of object as some sites may conflict with objects being passed.
* Fix - For Payment Request Button, if test keys are not filled, it can cause live mode not to function.
= 4.0.2 - 2018-01-17 =
* Add - 3DS support on Stripe Checkout ( Modal Popup ).
* Add - Filter to enable Payment Request Button on Checkout 'wc_stripe_show_payment_request_on_checkout'.
* Add - Filter to remove all fields from checkout validation. 'wc_stripe_validate_checkout_all_fields'.
* Add - Filter to remove required fields from checkout validation. 'wc_stripe_validate_checkout_required_fields'.
* Add - Custom error exceptions class.
* Add - Credit card field names for clarity.
* Fix - Possible conflicts with payment request totals when subscriptions is active.
* Fix - Undefined notice on save card via subscriptions if card is deleted.
* Fix - Error translation issue when 3DS is required.
* Fix - Possible 404 if getting customer source if no id was found.
* Fix - Add payment method was still available when save cards setting is disabled.
* Fix - In certain cases when webhook is used, refunds can show as doubled when it is not.
* Fix - Stripe checkout with bitcoin returns error on processing.
* Tweak - Remove Sofort country selection in favor of using the billing country.
* Tweak - Add payment page CSS styling.
* Tweak - Error log to show full response object.
= 4.0.2 - 2018-01-17 =
* Add - 3DS support on Stripe Checkout ( Modal Popup ).
* Add - Filter to enable Payment Request Button on Checkout 'wc_stripe_show_payment_request_on_checkout'.
* Add - Filter to remove all fields from checkout validation. 'wc_stripe_validate_checkout_all_fields'.
* Add - Filter to remove required fields from checkout validation. 'wc_stripe_validate_checkout_required_fields'.
* Add - Custom error exceptions class.
* Add - Credit card field names for clarity.
* Fix - Possible conflicts with payment request totals when subscriptions is active.
* Fix - Undefined notice on save card via subscriptions if card is deleted.
* Fix - Error translation issue when 3DS is required.
* Fix - Possible 404 if getting customer source if no id was found.
* Fix - Add payment method was still available when save cards setting is disabled.
* Fix - In certain cases when webhook is used, refunds can show as doubled when it is not.
* Fix - Stripe checkout with bitcoin returns error on processing.
* Tweak - Remove Sofort country selection in favor of using the billing country.
* Tweak - Add payment page CSS styling.
* Tweak - Error log to show full response object.
= 4.0.1 - 2018-01-11 =
* Fix - Add payment method conflict with terms and agreement page.
* Fix - Checkout validation checkout field names/labels were not translated.
* Fix - Card error translations.
* Add - Deprecated Apple Pay Class to prevent errors.
= 4.0.0 - 2018-01-08 =
* Add - Stripe Elements Credit Card form for PCI compliance.
* Add - Stripe Sources.
* Add - SEPA Direct Debit.
* Add - Bancontact.
* Add - Giropay.
* Add - Sofort.
* Add - iDeal.
* Add - Bitcoin.
* Add - P24.
* Add - Alipay.
= 3.2.3 - 2017-08-23 =
* Fix - Apple Pay action hook with wrong parameter causing errors.
= 3.2.2 - 2017-07-10 =
* Fix - Apple Pay button displaying in non Safari browser.
* Fix - Apple Pay with coupon not applying to total.
= 3.2.1 - 2017-06-25 =
* Fix - Discounts were not applying to total with Apple Pay.