diff --git a/client/my-sites/checkout/composite-checkout/contact-validation.js b/client/my-sites/checkout/composite-checkout/contact-validation.js
index <HASH>..<HASH> 100644
--- a/client/my-sites/checkout/composite-checkout/contact-validation.js
+++ b/client/my-sites/checkout/composite-checkout/contact-validation.js
@@ -45,18 +45,18 @@ export default function createContactValidationCallback( {
 							'There was an error validating your contact information. Please contact support.'
 						)
 					);
-					resolve( false );
-					return;
 				}
-				if ( data.messages ) {
+				if ( data && data.messages ) {
 					showErrorMessage(
 						translate(
 							'We could not validate your contact information. Please review and update all the highlighted fields.'
 						)
 					);
 				}
-				applyDomainContactValidationResults( { ...data.messages } );
-				resolve( ! ( data.success && areRequiredFieldsNotEmpty( decoratedContactDetails ) ) );
+				applyDomainContactValidationResults( data?.messages ?? {} );
+				resolve(
+					! ( data && data.success && areRequiredFieldsNotEmpty( decoratedContactDetails ) )
+				);
 			} );
 		} );
 	};
Composite checkout: Do not validate contact details if the endpoint call fails (#<I>)

Adjust the logic in the contact validation callback in composite checkout to ensure that if the request to the endpoint fails, we do not allow checkout to proceed.