Hei,
Du trenger ikke manuelt endre ordrestatus – hvis du setter status til “Behandler” eller “Fullført” så vil hele ordren bli belastet. “Capture”-knappen er altså ikke strengt tatt nødvendig (men er der delvis fordi vi ønsker å støtte partial capture i fremtiden).
Det stemmer at et “virtuelt” produkt er ikke automatisk auto-capture-bart. I standard Woo så er det produkter som er både “virtual” og “downloadable” som automatisk får status “Fullført” fordi de de leveres i samme øyeblikk som de kjøpes.
Hvis du har et produkt som er virtuelt og ikke nedlastbart, men er av en sånn karakter at det blir *levert* i samme øyeblikk som det blir kjøpt, så kan du modifisere Woocommerce med filtere slik at produktet blir auto-capturet.
Det er to slike filtere du da kan ville gjøre noe med. Det første er
woocommerce_order_item_needs_processing
– du kan da for det produktet det gjelder returnere “false”. Bestillingen vil da bli satt til “Fullført” automatisk. Hvis du vil ha autocapture, men at bestillingen istedet skal gå til “Behandler”, kan du modifisere
woocommerce_payment_complete_order_status
Dette er da mulig å gjøre kun for ordre der “behandlingen” ikke betyr at ordren ikke er levert. Hvis det virtuelle produktet er slik at det “leveres” på et senere tidspunkt er det da ordren skal “captures”.
De to WordPress-metodene på ordre vi bruker for dette er “needs_processing” og “payment_complete”. Produkter som er “Virtual” blir også spesialbehandlet i shipping-delen av hurtikassen; vi bruker da metoden “needs_shipping” på cart. Virtuelle produkter trenger ikke det; derfor genereres en pro forma 0-kroners shippingmetode.
Aha! Mange takk for oppklarende og kjapp respons!
Jeg merker da dette issuet som ‘resolved’.