There are many ways to achieve your goal.
For example, you can try with Plugin:
app/code/Vendor/Checkout/etc/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Checkout\Api\PaymentInformationManagementInterface">
<plugin name="verify_phone_validation" type="Vendor\Checkout\Plugin\Payment\VerifyPhoneValidation"/>
</type>
</config>
Your Plugin:
public function beforeSavePaymentInformationAndPlaceOrder(
PaymentInformationManagementInterface $subject,
$cartId,
PaymentInterface $paymentMethod,
AddressInterface $billingAddress = null
) {
//Your custom logic
if ($customer->isVerifiedPhone()) {
throw new CouldNotSaveException(
__(
"The order wasn't placed. "
. "You need to verify the phone number before placing order"
)
);
}
}