Altså at det registreres i ordren i nettbutikken deres? Det som registreres i selve appen kan ikke pluginen gjøre noe med.
I den normale kassen så kommer addresseinformasjonen fra Woo, så der skal det ikke være noe problem. I hurtigkassen så settes addressen i ordren to steder: Ved shipping callback fra Vipps, og når selve ordren opprettes. Det enkleste er antagelig da å sørge for å slette addresseinfo fra ordren i dette siste steget.
Det er da en hook du kan bruke:
do_action('woo_vipps_set_order_shipping_details', $order, $shipping, $user);
Du kan antagelig se på $order->needs_shipping_address()
bare for å være sikker, men du kan da lage en funksjon på denne hooken, som eksempelet under.
Dette er bare lett testet, så prøv gjerne først i et testnettsted om du har. Koden legges i en plugin eller i ditt (child-)-themes functions.php
:
add_action('woo_vipps_set_order_shipping_details', function ($order, $shipping, $user) {
$virtual = true;
// Make sure entire order is virtual
foreach ($order->get_items() as $item) {
if (!$item->is_type( 'line_item' )) continue;
$product = $item->get_product();
if (! $product) continue;
if ($product->is_virtual()) continue;
$virtual = false; break;
}
// For pure virtual orders, don't record address
if ($virtual) {
$order->set_billing_address_1('');
$order->set_billing_address_2('');
$order->set_billing_city('');
$order->set_billing_postcode('');
$order->set_billing_country('');
$order->set_shipping_address_1('');
$order->set_shipping_address_2('');
$order->set_shipping_city('');
$order->set_shipping_postcode('');
$order->set_shipping_country('');
$order->save();
}
}, 10, 3);
Altså problemet vårt er at hvis vi går gjennom hurtigkassen så viser appen brukeren adressen sin på vipps appen, men når vi går gjennom checkouten så gjør den ikke det.
Vi ønsker å ha samme funksjon på hurtigkassen hvor adressen ikke skal vises i appen.
Hei,
Hvis du går gjennom checkout så er det ingen addresse-interaksjon med appen overhodet; men hvis du kjører hurtigkasse så er caset at butikken ikke vet noe om kunden (addresse eller noe annet) og derfor aktiveres funksjonen i appen hvor denne sender addressen til butikken for å få shippingkostnadene. Det er ingen måte å be denne om å bare sende eller vise en delvis addresse, med mindre kunden selv kun har lagret en delvis addresse.
Dette er hvordan hurtigkasse fungerer i selve appen, så det lar seg ikke skru av fra pluginens side.
Vanlig checkout gir ikke noe addresseinformasjon i det hele tatt (altså heller ikke epost) så det er så vidt jeg kan se ingen grei løsning på ditt case.