Hei,
Vi tester på de nyeste versjonene av Woo inklusive 4.2 straks de kommer ut, så feilen har antagelig en annen kilde. Jeg mistenker at problemet her kan komme av en endring i måten ordrenr-prefiks blir gjort i nyere versjoner av Vipps-pluginen, i såfall beklager jeg dette sterkt.
Den mest sannsynlige raske løsningen er å gå til denne siden:
https://<ditt nettsted>/wp-admin/admin.php?page=wc-settings&tab=checkout§ion=vipps
og endre ordrenummerprefiks til noe unikt. Dette prefikset brukes normalt til å skille ordrenr-serier fra testbutikker og forskjellige andre løsninger som går mot samme Vipps-konto; hvis to instanser bruker samme serie så kan du få feilen du ser her. Det samme kan skje hvis en restore av nettbutikken fører til at ordrenr-serier blir tilbakestillet eller lignende.
Endrer du prefikset over så vil du på ny få unike ordrenr.
Endret prefiks fra “WEB” til “Webid” og da fungerte det igjen. Har ikke Vipps kobling til flere nettsider.
Så lenge den er stabil slik er det ok for meg om det heter WEB eller Webid.
Takk for raskt svar.
Ok, det var bra. Det er da et eller annet som har laget rot i ordrenr-seriene dine, men uavhengig av årsaken så skal det da alltid virke å velge et nytt ordreprefiks.
Var litt rask ute, funket 1 gang også feilet det når jeg testet nummer 2.
2020-06-16T05:07:33+00:00 ERROR Feilmelding i callback fra Vipps for bestilling 12071 User has not acted upon the payment
2020-06-16T07:54:11+00:00 ERROR Kunne ikke opprette Vipps-betaling 400 orderId is already used, and must be unique
2020-06-16T07:54:22+00:00 ERROR Kunne ikke opprette Vipps-betaling 400 orderId is already used, and must be unique
Virker som den kun sender prefix til Vipps og ikke noe mer. Derfor det funker hver gang jeg endrer prefix.
Har du noen plugins eller lignende som gjør filtrering på enten order-id eller på pluginens egen?
Spesifikt filteret woo_vipps_orderid som er laget for å kunne bruke ordrenr-pluginer og tilsvarende.
Du kan sjekke hva som faktisk blir sendt til vipps ved å legge til dette i ditt child-themes functions.php eller et annet passende sted:
add_filter('woo_vipps_orderid', function ($default, $prefix, $order) {
global $Vipps;
$Vipps->log("Order id to be sent to Vipps is $default", 'debug');
return $default;
}, 99, 3);
Uten modifikasjoner bør det vise <ditt prefix>+ordreid.
Den eneste andre årsaken til denne typen feil er hvis ordrenr på noen slags måte gjenbrukes, men det skal ikke kunne skje i normal bruk.
Ser stabilt ut nå, men beholder koden også ser jeg når det skulle feile igjen. Takk igjen