• Hei,

    Bruker Vipps Checkout i min nettbutikk. Tidligere ble alle kunders mobilnumre registrert med landskode +47 i deres ordre i Woocommerce. Rundt 14.02 endret det seg plutselig, og nå starter alle mobilnumrene i ordrene med bare 47 og uten +. Dette har skapt problemer for oss da våre ordre sendes videre til vårt ordrebehandlingssystem Ongoing, og fra der trigges det sms varsler til kunder om deres pakker. Hvis mobilnummeret begynner med 47 og ikke med +47, oppfattes det av systemet som et feil nummer og varsler blir ikke sendt. Jeg lurer på om det har noe å gjøre med endringer i grensesnittet mellom Vipps Checkout og Woocommerce? Jeg ser at Woocommerce ble oppdatert til en ny versjon hos oss rundt 14.02. Vet dere hvordan man kan rette opp i dette? Vi trenger et mobilnummerformat som begynner med +47 eller helt uten landskoden, ellers fungerer ikke sms varsler fra Bring om pakker. Takk!

    The page I need help with: [log in to see the link]

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Iver Odin Kvello

    (@iverok)

    Hei,

    Vi gjør ikke noe med telefonnr vi får fra Vipps, siden vi ikke kan være sikre på hva slags integrasjonsbehov alle brukerne har. Jeg vet de i checkout bruker 47 uten + internt, så det er kanskje der dette har skjedd.

    Du kan forsøke med denne koden i ditt child-themes’ functions.php:

    function wph_canonicalize_phone_number ($phonenr, $country) {
        $canonical = $phonenr;
        $canonical = preg_replace("![^0-9]!", "",  $canonical);
        $canonical = preg_replace("!^0+!", "", $canonical);
        if (strlen($canonical) == 8 && $country == 'NO') {
            $canonical= '47' . $canonical;
        }
        if (preg_match("/47\d{8}/", $canonical) && $country == 'NO') {
            $canonical = "+" . $canonical;
        }
        return $canonical;
    }
    
    add_action('woocommerce_payment_complete', function ($orderid) {
        $order = wc_get_order($orderid);
        if (!is_a($order, 'WC_Order')) return;
        if ($order->get_payment_method() != 'vipps') return;
    
        $phonenr = $order->get_billing_phone();
        $country = $order->get_billing_country();
        $canonical = wph_canonicalize_phone_number($phonenr, $country);
    
        if ($canonical && ($canonical != $phonenr)) {
            error_log("Setting canonical phone nr");
            $order->set_billing_phone($canonical);
            if (version_compare(WC_VERSION, '5.6.0', '>=')) {
                $order->set_shipping_phone($canonical);
            }
            $order->save();
        }
    
    
    }, 10, 1);

    — evt i en egen liten plugin. Den vil legge til et + på norske telefonnr med 8 sifre evt med 47-prefiks i det ordren registreres som ferdig betalt (men før capture).

    Vi har fått det samme problemet som @diggbox

    Tidligere ble nummer registrert i Woocommerce med formatet “+47XXXXXXXX”, nå er det “47XXXXXXXX”.

    Endringen skjedde for oss den 9. mars. Vi er på Woocommerce v 7.5.0 og Vipps Checkout v 1.14.3

    Plugin Author Iver Odin Kvello

    (@iverok)

    Hei, som nevnt så gjør vi ingenting med telefonnr. som kommer fra Vipps; så 47 uten + er formatet telefonnr. kommer med derfra.

    For å endre telefonnr til en annen representasjon må dere bruke noe ala koden jeg siterte over. For enkelhetens skyld er den samme koden her i en liten plugin: https://www.dropbox.com/s/poduo1nkiw0goo6/wph-canonicalize-phonenr.zip?dl=0

Viewing 3 replies - 1 through 3 (of 3 total)

The topic ‘Mobilnummerformat’ is closed to new replies.