From 1f2a0d570eea2d1e91ee345e75490fed6231c88b Mon Sep 17 00:00:00 2001 From: awwit Date: Fri, 8 May 2026 12:37:27 +0300 Subject: [PATCH] fix: initial shipping service assignment for Google Pay method --- src/payment/google.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/payment/google.js b/src/payment/google.js index 504d5fc..73129d7 100644 --- a/src/payment/google.js +++ b/src/payment/google.js @@ -60,12 +60,25 @@ export async function onPaymentDataChanged(intermediatePaymentData) { ); } - // Auto-apply shipping if only one service is available - if (cart.shipment_rating.services.length === 1) { - const [singleService] = cart.shipment_rating.services; + let shippingService; + if (intermediatePaymentData.shippingOptionData?.id) { + const defaultServiceId = + intermediatePaymentData.shippingOptionData?.id; + + shippingService = cart.shipment_rating.services.find( + (service) => service.id === defaultServiceId, + ); + } + + if (shippingService === undefined) { + // Auto-apply first shipping service in the list + shippingService = cart.shipment_rating.services[0]; + } + + if (cart.shipping?.service !== shippingService.id) { cart = await this.updateCart({ - shipping: { service: singleService.id }, + shipping: { service: shippingService.id }, }); }