Commit graph

194 commits

Author SHA1 Message Date
Philipp Stracker
5b05458103
♻️ Decouple init logic from global PPCP config
Allow Google Pay logic to initialize on pages that do not provide a global PayPalCommerceGateway object. Required to use CheckoutBootstrap to popuplate billing fields in continuation mode.
2024-08-27 12:34:50 +02:00
Philipp Stracker
a467533ba6
🐛 Sync WC shipping details with Google Pay
This change keeps the checkout & cart forms in-sync with the Google Pay form, to ensure the form submits the same details that the user can see inside Google Pay
2024-08-26 17:10:51 +02:00
Philipp Stracker
b4cd6bb121
🐛 Fix critical Google Pay error 2024-08-23 11:52:00 +02:00
Philipp Stracker
fe39793e9a
🔀 Merge branch 'trunk'
# Conflicts:
#	modules/ppcp-googlepay/resources/js/GooglepayButton.js
2024-08-22 12:04:13 +02:00
Philipp Stracker
734951adcb
♻️ Minor cleanup 2024-08-21 14:21:45 +02:00
Philipp Stracker
eba92e6b81
Detect logged in customer in checkout module 2024-08-21 13:52:11 +02:00
Philipp Stracker
97379628d4
Send payer details with order approval request
First step to integrate payer details in the payment flow without final confirmation.
2024-08-20 15:37:26 +02:00
Philipp Stracker
c48c94e09d
New CheckoutBootstrap for GooglePay
This new module uses previously stored payer details to populate the checkout form on the classic checkout page.
2024-08-20 14:19:41 +02:00
Philipp Stracker
63b5055903
💡 Document payment workflow 2024-08-20 14:16:57 +02:00
Philipp Stracker
451dc842ed
New LocalStorage module for Google Pay 2024-08-20 13:47:00 +02:00
Philipp Stracker
cf83d2ba6e
🐛 Fix critical typo 2024-08-16 18:54:55 +02:00
Philipp Stracker
c007d7909c
Option to only set missing billing details 2024-08-16 18:45:49 +02:00
Philipp Stracker
63e9c8bf27
New ConsoleLogger group method
Groups subsequent console.log output, for cleaner console output
2024-08-16 18:15:59 +02:00
Philipp Stracker
00e2959700
Get payee details without shipping callback 2024-08-16 18:14:35 +02:00
Philipp Stracker
ac98600b8f
🔥 Simplify code, remove console output 2024-08-13 20:23:51 +02:00
Philipp Stracker
f2301a4674
🐛 Fix price calculation on pages with cart
This covers: Mini-Cart, Classic Cart, Block Cart, Classic Checkout, Block Checkout, Pay-Now page
2024-08-13 20:02:49 +02:00
Philipp Stracker
8f191c2d49
🐛 Fix the price calculation on product page 2024-08-13 19:36:37 +02:00
Philipp Stracker
179c1d6831
🔥 Minor clean-up 2024-08-13 19:34:13 +02:00
Philipp Stracker
3b92eaac81
Store shipping cost in the DTO 2024-08-13 19:31:51 +02:00
Philipp Stracker
611ab4c5a7
New TransactionInfo DTO 2024-08-13 18:53:39 +02:00
Philipp Stracker
7946150f5b
New TransactionInfo DTO 2024-08-13 18:41:42 +02:00
Philipp Stracker
6b5421a2b1
🐛 Include shipping costs in Google Pay dialog 2024-08-13 15:41:10 +02:00
Philipp Stracker
b37d8cf838
💡 Improve some code comments 2024-08-12 18:52:02 +02:00
Philipp Stracker
966b76102c
🐛 Fix init errors “No API configuration...”
Caused by calling `reinit()` before the invoking `init()` first. New condition in `reinit()` ensures that the button configuration is present.
2024-08-12 18:50:17 +02:00
Philipp Stracker
843403cbdc
🔊 Console error when button init fails 2024-08-12 17:38:43 +02:00
Philipp Stracker
6aad61f610
🐛 Fetch transaction details on button click
Fixes an issue with multiple payment buttons on one page, like Mini-Cart and Single Product
2024-08-09 16:23:44 +02:00
Philipp Stracker
7106413f87
🐛 Refresh total price when checkout form changes
Applies the selected shipping costs to the Google Payment button
2024-08-08 21:01:22 +02:00
Philipp Stracker
4311e94297
🚧 Allow updating transaction details 2024-08-08 17:55:49 +02:00
Philipp Stracker
722289a545
Provide means to update styling of a button
Before this, we needed to create a new button instance to display changes in button style. This allows updating an existing button instance
2024-08-08 17:53:59 +02:00
Philipp Stracker
4ca309768e
♻️ Extract the GooglePayPreviewButton to own file
Also note the change in line 43 (new file) where we use `new GooglepayButton` instead of `GooglepayButton.createButton`
2024-08-08 14:09:43 +02:00
Philipp Stracker
7729007774
♻️ Unify constructor arguments of PaymentButton
Factory method and constuctor have same arguments in the same order
2024-08-08 14:05:57 +02:00
Philipp Stracker
9ac4300995
🐛 Address some errors in preview (Settings page) 2024-08-08 13:10:26 +02:00
Philipp Stracker
7f3636348b
🐛 Fix button insertion logic in block checkout
The Google Pay button was inserted into the wrong DOM wrapper
2024-08-07 23:07:04 +02:00
Philipp Stracker
e9c557a361
🐛 Fix issue with duplicate button instances
On Block Checkout pages, there were multiple PaymentButton instances for the same context.
2024-08-07 22:36:35 +02:00
Philipp Stracker
95c7d4f7bc
♻️ Simplify PaymentButton creation code 2024-08-07 18:26:02 +02:00
Philipp Stracker
8c811d9f8e
🥅 Improve code stability and documentation 2024-08-07 15:45:28 +02:00
Philipp Stracker
7c8c9429e0
🐛 Fix Google Pay button on non-checkout pages
Reflect changes of PR #2495
2024-08-07 15:19:34 +02:00
Philipp Stracker
e41470b159
🐛 Fix Google Pay button on non-checkout pages 2024-08-07 15:01:27 +02:00
Philipp Stracker
429568fbd9
🔥 Minor cleanup 2024-08-07 14:48:36 +02:00
Philipp Stracker
4b30449ddb
🩹 ConsoleLogger will always output error messages 2024-08-07 14:36:51 +02:00
Philipp Stracker
31867b17d6
🔀 Merge branch 'trunk'
# Conflicts:
#	modules/ppcp-googlepay/resources/js/GooglepayButton.js
2024-08-07 14:30:12 +02:00
Philipp Stracker
fc805a4369
♻️ Move most of the display logic to base class
The PaymentButton base class now handles display logic that is shared between different APMs
2024-08-06 17:45:53 +02:00
Philipp Stracker
f69209b91c
New PaymentButton base class for APM buttons
This class is used to render buttons in the front end, and encapsulates logic that is shared between ApplePay and GooglePay buttons
2024-08-02 17:12:07 +02:00
Philipp Stracker
f1f243505c
Introduce a new ConsoleLogger JS class
Extract debug logic to separate component
2024-08-02 16:32:27 +02:00
Philipp Stracker
9da37a2cc6
Introduce new “isVisible” flag 2024-08-02 15:57:57 +02:00
Philipp Stracker
0888c696ff
Sync gateway visibility via custom event 2024-07-30 14:48:47 +02:00
Philipp Stracker
490cd1958b
♻️ Move config object to appropriate file 2024-07-30 13:51:16 +02:00
Philipp Stracker
ef6632c85f
Add new isEligible flag
The flag is set once Google’s PaymentClient responds to the isReadyToPay() request and controls the rendering of the button
2024-07-30 12:50:41 +02:00
Daniel Dudzic
a301d901dd
Google Pay: Update the formValidator name 2024-07-30 10:31:44 +02:00
Daniel Dudzic
5ad73cf5f0
Google Pay: Prevent field validation from being triggered on checkout page load 2024-07-30 10:24:26 +02:00