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

@ -111,16 +111,6 @@ class PayUponInvoice {
'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,
)
);
echo '</div><div>';
_e( 'By clicking on the button, you agree to the <a href="https://www.ratepay.com/legal-payment-terms">terms of payment</a> and <a href="https://www.ratepay.com/legal-payment-dataprivacy">performance of a risk check</a> from the payment partner, Ratepay. You also agree to PayPals <a href="https://www.paypal.com/de/webapps/mpp/ua/privacy-full?locale.x=eng_DE&_ga=1.267010504.718583817.1563460395">privacy statement</a>. If your request to purchase upon invoice is accepted, the purchase price claim will be assigned to Ratepay, and you may only pay Ratepay, not the merchant.', 'woocommerce-paypal-payments' );
@ -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'] ?? '',