• Resolved tjwang

    (@tjwang)


    Hei!
    Jeg opplever litt uforutsigbar data fra en webhook som fyres hos WooCommerce ved fullf?rt ordre. Spesifikt er det billing-dataen for Hurtigkasse som varierer:
    Noen ganger f?r jeg all data (som jeg vil ha), andre ganger f?r jeg kun post-info (adresse, by, postkode, land), og andre ganger f?r jeg ingenting.
    Virker som Vipps (og Klarna) begge returnerer konsistent all billing-dataen.

    Forslag til hva som kan gj?re at jeg ikke alltid f?r med e-posten til de som bestiller? Den ligger vel alltid lagret inne i Vipps-kontoen deres? De kan vel ikke gjennomf?re betalinger uten ? ha lagret den dataen?

    Jeg bruker Make for ? automatisere noen custom e-postutsendinger. Disse trenger naturlig nok en e-postadresse for ? f? sendt det ut (og den pr?ver jeg ? hente fra billing email).

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

    (@iverok)

    Hei,

    Usikker, men potensielt kan det tenkes at webhook kj?rer for tidlig – hvis dette gjelder hurtigkasse eller Vipps Checkout, s? vil ordren f?rst ha ingen addresseinfo i det hele tatt, s? vil den f? addresse (men ikke telefonnr, epost osv) mens frakt beregnes, og s? f?rst etter at ordren er helt ferdig har den alt sammen.

    N?r du sier fullf?rt ordre, er det da ordrestatus “fullf?rt” eller er det “payment complete”-tilstanden?

    Thread Starter tjwang

    (@tjwang)

    Takk for raskt svar.
    Det er jo da litt rart at det ikke er konsekvent, og kun gjelder for Hurtigkasse (ikke Vipps-betaling i kassen)? Kanskje det jeg kl?r meg mest i hodet av.
    Se her p? 3 forskjellige ordre med forskjellig dataoutput: https://imgur.com/a/tj1ShMh

    Selve webhooken bruker order.created som topic. Virker som det er den mest vanlige til dette form?let. Men jeg pr?ver n? med en annen action (woocommerce_payment_complete) og henter ordredata fra ordre-iden som den sender ut. Krysser fingrene for at den f?r med mer info

    Plugin Author Iver Odin Kvello

    (@iverok)

    Hei,

    Det vil bare gjelde for hurtigkassen (eller Vipps Checkout) – i den vanlige kassen vil ordren bli opprettet med all kundeinformasjon allerede til stede. Det er spesielt for hurtigkassen at den trenger en ordre ? sende til Vipps *f?r* kunden har oppgitt noe personalia – de kommer da via appen (eller Checkout-skjermen).

    Jeg tok en kikk p? dette, og issuet er at order.created kj?rer asynkront. Dvs, den kan fyre n?r som helst i l?pet jeg beskrev over; enten uten addresseinfo (kunde har startet ordre men ikke appen, enn?) med delvis addresseinfo (shippingalternativer er blitt etterspurt) eller med ferdig addresseinfo (order.created har da ikke kj?rt f?r ordren er ferdig.

    S? uheldigvis vil ikke order.created virke for hurtigkassen; dvs, du vil kunne ta i mot ordrenr og s? hente ut addresseinformasjonen *senere*, men det blir jo da mer kluss.

    Om du bruker woocommerce_payment_complete s? vil det fungere – da er ordren “ferdig”.

    Hvis du har siste versjon av Vipps-pluginen, og operasjonen du vil kj?re p? payment_complete kan ta lang tid, eller “henge”, s? kan du som et alternativ hooke deg p?

    do_action('woo_vipps_payment_complete_at_shutdown', $order, $this);

    – om du vil unng? ? forstyrre kundeflyten. Den vil da kj?re asynkront, men NB at hvis prosessen faktisk *kan* henge s? b?r du ha en ok timeout p? den for ? unng? at det blir for mange prosesser.

    Om jobben din tar liten tid er det lettest ? kj?re p? payment_complete.

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Mangelfull ordredata fra Hurtigkasse til webhook’ is closed to new replies.