Get phone country code from billing country code

This commit is contained in:
dinamiko 2022-03-30 09:54:03 +02:00
parent 72efcbb71d
commit 6c216ad7bb
2 changed files with 11 additions and 25 deletions

View file

@ -104,21 +104,11 @@ class PayUponInvoice {
woocommerce_form_field(
'billing_birth_date',
array(
'type' => 'date',
'label' => __('Birth date', 'woocommerce-paypal-payments'),
'class' => array('form-row-wide'),
'type' => 'date',
'label' => __( 'Birth date', 'woocommerce-paypal-payments' ),
'class' => array( 'form-row-wide' ),
'required' => true,
'clear' => true,
)
);
woocommerce_form_field(
'phone_country_code',
array(
'type' => 'number',
'label' => __('Phone country code (ex. 49)', 'woocommerce-paypal-payments'),
'class' => array('form-row-wide'),
'required' => true,
'clear' => true,
'clear' => true,
)
);
@ -136,18 +126,14 @@ class PayUponInvoice {
);
add_action(
'woocommerce_checkout_order_processed',
function( $order_id, $posted_data, $order ) {
if ( $order->get_billing_country() !== 'DE' ) {
wp_send_json_error(
array(
'result' => 'failure',
)
);
'woocommerce_after_checkout_validation',
function( $fields, $errors ) {
if ( $fields['billing_country'] !== 'DE' ) {
$errors->add( 'validation', __( 'Billing country not available.', 'woocommerce-paypal-payments' ) );
}
},
10,
3
2
);
}

View file

@ -9,7 +9,7 @@ class PaymentSourceFactory {
public function from_wc_order( WC_Order $order ) {
$address = $order->get_address();
$birth_date = filter_input( INPUT_POST, 'billing_birth_date', FILTER_SANITIZE_STRING );
$phone_country_code = filter_input( INPUT_POST, 'phone_country_code', FILTER_SANITIZE_STRING );
$phone_country_code = WC()->countries->get_country_calling_code( $address['country'] ?? '' );
return new PaymentSource(
$address['first_name'] ?? '',
@ -17,7 +17,7 @@ class PaymentSourceFactory {
$address['email'] ?? '',
$birth_date ?? '',
$address['phone'] ?? '',
$phone_country_code ?? '',
substr($phone_country_code, strlen('+')) ?? '',
$address['address_1'] ?? '',
$address['city'] ?? '',
$address['postcode'] ?? '',