En betalingsgateway skrevet til den klassiske WooCommerce-checkout fejler ikke højlydt i blok-checkout. Den vises som en mulighed, der kan vælges, men med et tomt indhold: de felter, den har brug for, dukker simpelthen aldrig op, og kunden sender en ordre uden at have udfyldt noget.
To checkouts, to måder at vise på
Den klassiske checkout udskriver betalingsfelterne fra PHP. Blok-checkout er React: den bygger sin brugerflade ud fra JavaScript-betalingsmetoder registreret i WooCommerce Blocks, og PHP’s eneste rolle er at levere konfigurationen: etiketten, ikonet, om metoden er tilgængelig lige nu, og hvilket script der leverer brugerfladen.
At understøtte begge betyder derfor, at gatewayen beholder sin PHP-visning til den klassiske vej og får et lille JavaScript-modul til blok-vejen, plus en integrationsklasse, der fortæller Blocks, hvor den findes.
Den del, der virkelig bider: validering
Validering i den klassiske checkout kører på standard-hooket for checkout-processen. Blok-checkout sender via Store API, hvis kompatibilitetsbro i stedet kalder gatewayens egen valideringsmetode, med de indsendte betalingsdata midlertidigt i stedet for de sædvanlige forespørgselsdata.
Det er to forskellige indgange, der når frem til samme beslutning. Skrevet hver for sig glider de fra hinanden: en regel bliver strammet på den klassiske vej under en fejlrettelse, blok-vejen bliver ved med at acceptere det, den klassiske vej nu afviser, og fejlen viser sig kun for den del af kunderne, der bruger den nyere checkout.
Vi trak godkend-eller-afvis-tjekket ud i én metode, som begge indgange kalder. Ingen af vejene har sin egen regel, så der er intet at holde synkroniseret.
Det vigtigste
- En klassisk gateway fejler ikke i blok-checkout; den vises tom, hvilket er nemt at overse under test.
- Blok-checkout kræver en registreret JavaScript-betalingsmetode; PHP leverer kun konfigurationen.
- To valideringsindgange med to kopier af reglerne vil glide fra hinanden. Træk reglen ud én gang, og kald den fra begge.
- Test gatewayen i begge checkouts før udgivelse, ikke kun i den, dit tema tilfældigvis bruger.
Læs også: manuelle betalinger med bKash, Nagad og Rocket, vores ydelse inden for WordPress-pluginudvikling.
Støder du på en lignende begrænsning i din egen WooCommerce- eller WordPress-butik? Lad os tale — ArtinTech Solution bygger netop den slags skræddersyede værktøjer til webshops.