Integratie van betaalgateways

Het volgende artikel geeft een overzicht van wat er nodig is om een betalingsgateway te bouwen die compatibel is met WC Vendors en die uitbetalingen van leverancierscommissies ondersteunt. Er zijn vereisten waaraan uw betalingsplatform moet voldoen om een compatibele integratie te creëren. Zodra u tevreden bent dat uw platform over de vereiste functies beschikt, zijn er twee onderdelen voor het bouwen van een WC Vendors-compatibele gateway.

  • Platformvereisten
  • Klantbetalingen
  • Uitbetalingen aan verkopers

Het is mogelijk om een integratie te maken die alleen uitbetalingen verzorgt, maar dit wordt hier niet behandeld.

Platformvereisten

Om een betalingsgateway te implementeren die compatibel is met WC Vendors voor betalingen en uitbetalingen, moet uw platform de volgende functies ondersteunen:

  • Betalingen verwerken (inclusief terugbetalingen & geschillen)
  • Betalingen splitsen of uitbetalingsbeheer

Andere functies die niet vereist zijn, maar wel nuttig zijn, zijn onder meer

  • Verkoper onboarding
  • KYC
  • Rapportages
  • Belastingbeheer
  • Duidelijke documentatie voor marktplaatsondersteuning

Klantbetalingen

Bij het bouwen van uw gateway is de eerste stap ervoor te zorgen dat u een volledig compatibele WooCommerce-betalingsgateway hebt gebouwd. Dit zorgt ervoor dat klantbetalingen correct worden vastgelegd. Aangezien dit al in detail wordt behandeld in de officiële WooCommerce-documentatie, raden we u aan deze te lezen.

Zorg ervoor dat u het ontwikkelaarsdocument van WooCommerce voor dit gedeelte leest.

Verkoper Uitbetalingen

Leveranciersuitbetalingen zijn afhankelijk van het soort uitbetalingen dat u ondersteunt. Al deze aspecten van hoe en wanneer leveranciers te betalen worden bepaald door uw betalings-API. De twee veelvoorkomende scenario's voor het uitbetalen van leveranciers:

  • Gesplitste betaling
  • Geplande uitbetaling

Afhankelijk van uw platform kiest u een of beide van deze opties voor de integratie. Om te begrijpen hoe u leveranciersuitbetalingen moet afhandelen, moet u beginnen met het begrijpen van hoe ons commissiesysteem intern werkt.

Commissie-internals

Het commissiesysteem van WC Vendors is momenteel per product gebaseerd. Dat betekent dat voor elk product in een bestelling een eigen commissie wordt berekend en geregistreerd. Dit kan verzending en belastingen omvatten.

WC Vendors-commissies worden alleen geregistreerd wanneer de betaling is verwerkt. Zodra de betaling is verwerkt, registreert WC Vendors de commissie in de commissietabel. Om een commissie te registreren, moet de WooCommerce-bestelling een van de volgende twee statussen hebben:

  • In behandeling
  • Voltooid

Als de betalingsgateway niet compatibel is met WC Vendors, wordt de commissiestatus ingesteld op 'verschuldigd'. Als de gateway compatibel is met WC Vendors en de uitbetaling aan de leverancier ook is voltooid, wordt de commissie ingesteld op 'betaald'.

Schema van de commissietabel

De commissietabel is waar alle leverancierscommissies worden geregistreerd. Marktplaatswinsten worden momenteel niet in deze tabel geregistreerd.

KolomnaamBeschrijving
idDe unieke interne commissie-id
product_idDe product-id voor het product voor de commissie
order_idDe order-id voor de commissie
vendor_idDe hoeveelheid van het product
total_dueDit is de totale commissie voor het product, dit is exclusief btw of verzendkosten
qtyDe totale verzendkosten voor het product, moet worden geleverd door een compatibele verzendplugin
total_shippingDe btw voor het product, moet worden geleverd door een compatibele btw-oplossing
taxDe btw voor het product, dit moet worden geleverd door een compatibele btw-oplossing
statusDit is de commissiestatus (Betaald, Verschuldigd, Omgekeerd, Terugbetaald)
timeDe datum en tijd waarop de commissie wordt geregistreerd
commissietabel in WC Vendors

WC Vendors klassen

Wanneer u uw integratie ontwikkelt, moet u toegang krijgen tot de commissietabel en relevante informatie over de verkopers, producten en bestellingen opvragen. De volgende klassen zijn de meest gebruikte klassen in betaalpoorten die WC Vendors ondersteunen.

KlassenaamBeschrijving
WCV_CommissionDeze klasse beheert alle interacties met de hierboven beschreven commissietabel.

Methoden die u in uw gateway moet gebruiken:

WCV_Commission::set_vendor_product_commission_paid(); om te loggen wanneer een commissie is betaald.
WCV_VendorsDeze klasse beheert methoden met betrekking tot de verkopers en hun producten.

Methoden die in uw betaalpoort zullen worden gebruikt, zijn onder meer:

WCV_Vendors::is_vendor( $user_id ); Bepaal of de opgegeven gebruikers-id een verkoper is of niet.
WCV_Vendors::get_vendor_dues_from_order( $order ); haal de verschuldigde verkoperscommissies voor de bestelling op.
WC Vendors klassen die u moet begrijpen

Gesplitste betalingen

Als uw platform gesplitste betalingen op het verkooppunt ondersteunt, voert u de splitsing uit tijdens het verwerken van de betaling. Dit vereist dat u de commissie berekent vóór de betalingsverwerking.

De gesplitste betaling tussen verkopers en de marktplaats wordt in pseudocode als volgt uitgelegd:

  1. Betaling van de klant innen
  2. Haal de bestelling op 
  3. Haal de verkopersschulden uit de bestelling 
  4. Doorloop de verkopersschulden 
  5. Splits de schulden tussen elke verkoper en de marktplaats
  6. Genereer een betaling om naar het platform te sturen 
  7. Indien succesvol, stel de commissiestatus in op betaald, anders geef een foutmelding en laat de commissie openstaand.

De volgende code kan als leidraad dienen voor uw betalingsgateway-integratie. Deze is niet compleet of bedoeld voor productiegebruik. Dit is slechts een leidraad in de code van de bovenstaande pseudocode.

Uitbetalingen

Het belangrijkste verschil tussen een uitbetaling en een gesplitste betaling is dat de commissie al is berekend en geregistreerd. Dit betekent dat u alleen de commissietabel hoeft op te vragen en vervolgens de commissietabel naar behoefte bij te werken.

Verkoperuitbetalingen, zoals ondersteund door de meeste betalingsplatforms, worden beheerd via een schema. Dat schema kan aan de WordPress-kant of aan de betalingsplatform-kant staan. Als u de planning aan de kant van het platform afhandelt en het platform dit afhandelt, hoeft u alleen de verkopersschulden naar het platform te sturen.

Hoe u uw uitbetalingsinterface binnen WordPress en WC Vendors bouwt, is aan u als ontwikkelaar en platform. We stellen voor om instellingen te maken voor het volgende:

  • Schema (dagelijks, wekelijks, maandelijks)
  • Minimale uitbetalingsbedragen
  • Minimum aantal dagen voordat een uitbetaling kan worden verwerkt (dit kan helpen met betrekking tot terugbetalingen of geschillen).

Een verkoperuitbetaling wordt hieronder in pseudocode uitgelegd

  1. Haal de verkoper(s) op om uit te betalen
  2. Vraag de commissietabel op voor alle openstaande commissies voor de bovenstaande verkopers
  3. Tel de uitbetalingen voor elke verkoper op
  4. Verwerk de uitbetaling

Het bovenstaande proces zou op uw aangewezen schema via WordPress worden afgehandeld. We raden aan om de actieplanner te gebruiken die bij WooCommerce wordt geleverd.

WC Vendors Klassen

KlasseBeschrijving
WCV_VendorsDeze klasse beheert methoden met betrekking tot de verkopers en hun producten.

Methoden die in uw betalingsgateway worden gebruikt, zijn onder meer:

WCV_Vendors::is_vendor( $user_id ); Bepaal of de opgegeven gebruikers-ID een verkoper is of niet.
WCV_Vendors::get_due_orders_by_vendor( $vendor_id); Haal alle openstaande commissies op voor een specifieke verkoper.
WCV_CommissionDeze klasse beheert alle interacties met de hierboven beschreven commissietabel.

Methoden die u in uw gateway moet gebruiken:

WCV_Commission::set_vendor_product_commission_paid(); om te loggen wanneer een commissie is betaald.
Was dit artikel nuttig?

Gerelateerde artikelen

Voltooi Uw Aankoop