From 2f761a819799fcfda9dc5c42453839dd5380fe1f Mon Sep 17 00:00:00 2001 From: Mayisha Date: Thu, 29 Feb 2024 01:50:08 +0600 Subject: [PATCH] fix link payment --- assets/js/stripe-payment-request.js | 21 ++++++++++++--------- client/api/blocks.js | 5 +++++ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/assets/js/stripe-payment-request.js b/assets/js/stripe-payment-request.js index a95eafe27..285b6a9ed 100644 --- a/assets/js/stripe-payment-request.js +++ b/assets/js/stripe-payment-request.js @@ -159,15 +159,18 @@ jQuery( function( $ ) { const field = $( this ).find( ':input' ); const value = field.val(); const name = field.attr( 'name' ); - if ( value && ! data[ name ] ) { - data[ name ] = value; - } - // if shipping same as billing is selected, copy the billing field to shipping field. - const shipToDiffAddress = $( '#ship-to-different-address' ).find( 'input' ).is( ':checked' ); - if ( ! shipToDiffAddress ) { - var shippingFieldName = name.replace( 'billing_', 'shipping_' ); - if ( ! data[ shippingFieldName ] && data[ name ] ) { - data[ shippingFieldName ] = data[ name ]; + if ( value && name ) { + if ( ! data[ name ] ) { + data[ name ] = value; + } + + // if shipping same as billing is selected, copy the billing field to shipping field. + const shipToDiffAddress = $( '#ship-to-different-address' ).find( 'input' ).is( ':checked' ); + if ( ! shipToDiffAddress ) { + var shippingFieldName = name.replace( 'billing_', 'shipping_' ); + if ( ! data[ shippingFieldName ] && data[ name ] ) { + data[ shippingFieldName ] = data[ name ]; + } } } }); diff --git a/client/api/blocks.js b/client/api/blocks.js index 409d64a3f..d81734f77 100644 --- a/client/api/blocks.js +++ b/client/api/blocks.js @@ -79,6 +79,11 @@ export const createOrder = ( sourceEvent, paymentRequestType ) => { const getRequiredFieldDataFromCheckoutForm = ( data ) => { const checkoutForm = document.querySelector( '.wc-block-checkout' ); + // Return if cart page. + if ( ! checkoutForm ) { + return data; + } + const requiredFields = checkoutForm.querySelectorAll( '[required]' ); if ( requiredFields.length ) {