Integrazione Gateway di Pagamento

Il seguente articolo fornirà una panoramica di ciò che è necessario per costruire un gateway di pagamento compatibile con WC Vendors e che supporterà i pagamenti delle commissioni dei fornitori. Ci sono requisiti che la tua piattaforma di pagamento dovrà soddisfare per creare un'integrazione compatibile. Una volta che sei soddisfatto che la tua piattaforma abbia le funzionalità richieste, ci sono due parti per costruire un gateway compatibile con WC Vendors.

  • Requisiti della piattaforma
  • Pagamenti dei clienti
  • Pagamenti ai venditori

È possibile creare un'integrazione solo per i pagamenti, tuttavia questa non sarà trattata.

Requisiti della piattaforma

Per implementare un gateway di pagamento compatibile con WC Vendors per pagamenti e accrediti, la tua piattaforma dovrà essere in grado di supportare le seguenti funzionalità:

  • Elaborare pagamenti (inclusi rimborsi e contestazioni)
  • Suddivisione dei pagamenti o gestione degli accrediti

Altre funzionalità utili, anche se non richieste, includono

  • Onboarding del fornitore
  • KYC
  • Report
  • Gestione delle tasse
  • Documentazione chiara per il supporto del marketplace

Pagamenti dei clienti

Quando costruisci il tuo gateway, il primo passo sarà assicurarti di aver costruito un gateway di pagamento WooCommerce completamente compatibile. Questo garantirà che i pagamenti dei clienti vengano acquisiti correttamente. Poiché questo è già trattato in dettaglio nella documentazione ufficiale di WooCommerce, ti consigliamo di leggerla.

Assicurati di leggere il documento per sviluppatori disponibile da WooCommerce per questa sezione.

Pagamenti ai fornitori

I pagamenti ai fornitori dipendono dai tipi di pagamenti che supporti. Tutti questi aspetti di come e quando pagare i fornitori sono determinati dalla tua API di pagamento. I due scenari comuni per pagare i fornitori:

  • Pagamento diviso
  • Pagamento programmato

A seconda della tua piattaforma, sceglierai una o entrambe queste opzioni per l'integrazione. Per capire come gestire i pagamenti ai fornitori, dovresti iniziare comprendendo come funziona internamente il nostro sistema di commissioni.

Interno delle commissioni

Il sistema di commissioni di WC Vendors è attualmente basato sul prodotto. Ciò significa che ogni prodotto in un ordine avrà la propria commissione calcolata e registrata. Questo può includere spedizione e tasse.

Le commissioni di WC Vendors vengono registrate solo quando il pagamento è stato elaborato. Una volta elaborato il pagamento, WC Vendors registrerà la commissione nella tabella delle commissioni. Affinché una commissione venga registrata, l'ordine WooCommerce deve avere uno dei seguenti due stati:

  • In elaborazione
  • Completato

Se il gateway di pagamento non è compatibile con WC Vendors, lo stato della commissione viene impostato su 'dovuto'. Se il gateway è compatibile con WC Vendors e anche il pagamento al fornitore è completato, la commissione viene impostata su 'pagato'.

Schema della tabella delle commissioni

La tabella delle commissioni è dove vengono registrate tutte le commissioni dei fornitori. I guadagni del marketplace attualmente non vengono registrati in questa tabella.

Nome colonnaDescrizione
idL'ID univoco della commissione interna
id_prodottoL'ID del prodotto per la commissione
id_ordineL'ID dell'ordine per la commissione
id_venditoreLa quantità del prodotto
totale_dovutoQuesta è la commissione totale per il prodotto, non include tasse o spedizione
quantitàLa spedizione totale per il prodotto, deve essere fornita da un plugin di spedizione compatibile
spedizione_totaleLa tassa per il prodotto, deve essere fornita da una soluzione fiscale compatibile
tassaLa tassa per il prodotto, questa deve essere fornita da una soluzione fiscale compatibile
statoQuesto è lo stato della commissione (Pagato, Dovuto, Annullato, Rimborsato)
oraLa data e l'ora in cui la commissione viene registrata
tabella delle commissioni in WC Vendors

Classi WC Vendors

Quando sviluppi la tua integrazione, dovrai accedere alla tabella delle commissioni ed interrogare le informazioni pertinenti sui venditori, i prodotti e gli ordini. Le seguenti classi sono le classi più comunemente utilizzate nei gateway di pagamento che supportano WC Vendors.

Nome classeDescrizione
WCV_CommissionQuesta classe gestisce tutte le interazioni con la tabella delle commissioni sopra descritta.

Metodi da utilizzare nel tuo gateway:

WCV_Commission::set_vendor_product_commission_paid(); per registrare quando una commissione è stata pagata.
WCV_VendorsQuesta classe gestisce i metodi relativi ai venditori e ai loro prodotti.

I metodi che verranno utilizzati nel tuo gateway di pagamento includono:

WCV_Vendors::is_vendor( $user_id ); Determina se l'ID utente fornito è un venditore o meno.
WCV_Vendors::get_vendor_dues_from_order( $order ); ottiene le commissioni dovute dal venditore per l'ordine.
Classi WC Vendors che dovrai comprendere

Pagamenti divisi

Se la tua piattaforma supporta pagamenti divisi al punto vendita, implementerai la divisione durante l'elaborazione del pagamento. Ciò richiederà il calcolo della commissione prima dell'elaborazione del pagamento.

La divisione dei pagamenti tra i fornitori e il marketplace è spiegata in pseudo-codice come segue:

  1. Acquisisci il pagamento dal cliente
  2. Ottieni l'ordine 
  3. Ottieni gli importi dovuti dal fornitore dall'ordine 
  4. Itera sugli importi dovuti dal fornitore 
  5. Dividi gli importi dovuti tra ciascun fornitore e il marketplace
  6. Genera un pagamento da inviare alla piattaforma 
  7. Se l'operazione ha successo, imposta lo stato della commissione su pagato, altrimenti genera un errore e lascia la commissione come dovuta

Il seguente codice può essere utilizzato come guida per l'integrazione del tuo gateway di pagamento. Non è completo né inteso per l'uso in produzione. È solo una guida al codice dello pseudo-codice sopra.

Pagamenti

La differenza principale tra un pagamento e un pagamento diviso è che la commissione è già stata calcolata e registrata. Ciò significa che dovrai solo interrogare la tabella delle commissioni e quindi aggiornare la tabella delle commissioni secondo necessità.

I pagamenti ai fornitori, come supportato dalla maggior parte delle piattaforme di pagamento, sono gestiti tramite una pianificazione. Tale pianificazione potrebbe essere sul lato WordPress o sul lato della piattaforma di pagamento. Se gestisci la pianificazione sulla piattaforma e questa se ne occupa, dovrai solo inviare gli importi dovuti dal fornitore alla piattaforma.

Come costruisci la tua interfaccia di pagamenti all'interno di WordPress e WC Vendors spetta a te come sviluppatore e piattaforma. Suggeriamo di creare impostazioni per quanto segue:

  • Pianificazione (giornaliera, settimanale, mensile)
  • Importi minimi di pagamento
  • Numero minimo di giorni prima che un pagamento possa essere elaborato (questo può aiutare per quanto riguarda rimborsi o contestazioni).

Un pagamento al fornitore è spiegato nello pseudo-codice seguente

  1. Ottieni i fornitori da pagare
  2. Interroga la tabella delle commissioni per tutte le commissioni dovute per i fornitori sopra
  3. Somma i pagamenti per ciascun fornitore
  4. Elabora il pagamento

Il processo sopra sarebbe gestito secondo la tua pianificazione designata tramite WordPress. Suggeriamo di utilizzare l'action scheduler che viene fornito con WooCommerce.

Classi WC Vendors

ClasseDescrizione
WCV_VendorsQuesta classe gestisce i metodi relativi ai fornitori e ai loro prodotti.

Metodi che verranno utilizzati nel tuo gateway di pagamento includono:

WCV_Vendors::is_vendor( $user_id ); Determina se l'ID utente fornito è un fornitore o meno.
WCV_Vendors::get_due_orders_by_vendor( $vendor_id); Ottieni tutte le commissioni dovute per un particolare fornitore.
WCV_CommissionQuesta classe gestisce tutte le interazioni con la tabella delle commissioni sopra descritta.

Metodi da utilizzare nel tuo gateway:

WCV_Commission::set_vendor_product_commission_paid(); per registrare quando una commissione è stata pagata.
Questo articolo è stato utile?

Articoli Correlati

Completa il tuo acquisto