• Resolved Matthias

    (@matthwize)


    Hei,

    Vi bruker Vipps-plugin med WooCommerce.

    Vi har en spesialløsning hvor kunder kan gjøre et “post purchase”-kjøp. Det vil si at når et kjøp er gjennomført, kan kunden velge å legge til rabatterte varer i samme bestilling.

    I backend fungerer dette slik at det opprettes to separate ordre og to separate betalinger. Vi slår deretter sammen ordrene, dvs. vi flytter produktene og summene fra den ene ordren til den andre.

    Problemet:
    Når vi gjør denne sammenslåingen, blir tilleggsordren automatisk refundert i Vipps-systemet.

    Et eksempel:

    • Kunde A kjøper en vare for 500 kr → ordre 101.
    • Kunde A legger til en tilleggsordre på 50 kr → ordre 102.
    • Etter sammenslåing skal ordre 101 vise total 550 kr, og ordre 102 nullstilles.
    • I Vipps står imidlertid ordre 101 fortsatt på 500 kr, mens ordre 102 vises som refundert. Resultatet er at vi mister de 50 kr.

    Mulig løsning:
    Hvis vi enkelt kunne hindre at en ordre oppdateres i Vipps etter at den er “captured”, ville dette løst problemet. Da kan vi i stedet håndtere eventuelle refusjoner manuelt i Vipps-portalen.

    Håper forklaringen var tydelig nok.

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

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

    (@iverok)

    Hei; refunderingen av ordre skjer når en ordre settes til “cancelled” eller “refunded”; så jeg antar at tilleggsordrene deres her blir satt til cancelled etter at de er slått sammen?

    Det skal være mulig å gjøre dette med en “captured” ordre, så det går ikke an å stoppe det helt; men det er to måter å omgå dette på for en spesifikk ordre:

    1. Istedetfor å sette disse tilleggsordrene til “cancelled” når dere slår dem sammen med en annen, fullført ordre; lag en custom ordrestatus “sammenslått” eller lignende. Her vil ikke noe refund/cancel-logikk bli brukt, og dere vil fortsatt kunne gjøre refunds og lignende på denne ordren. Litt avhengig av hvordan dere gjør sammenslåingen så kan det tenkes dere må integrere dette med lagersystem, siden normalt vil en cancelled ordre legge varer tilbake på lager.
    2. Koden som gjør denne jobben, kjøres i en hook 'woocommerce_order_status_cancelled' og kaller da [WC_Gateway_Vipps::instance(), 'order_status_cancelled_wrapper'] med presedens 10. Om dere legger til en hook med prioritet 9 på denne hooken som *for de relevante ordrene* igjen kaller remove-action('woocommerce_order_status_cancelled', [WC_Gateway_Vipps::instance(), 'order_status_cancelled_wrapper'], 10) så vil det stoppe logikken akkurat i tide.
      Denne funksjonen vil motta ordreid, så dere kan der sjekke om denne ordren har blitt slått sammen med en annen først. Dere vil fortsatt kunne gjøre refund på denne delordren ved å sette den til “refunded” foreksempel.

    NB at en ordre kan bare fanges/gjenbetales via den opprinnelige ordren, så det vil kreve litt forsiktighet i alle tilfeller her.

    Thread Starter Matthias

    (@matthwize)

    Takk. Vi fikk orden på det 🙂

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

The topic ‘Vipps-plugin med WooCommerce’ is closed to new replies.