YuKassa e Tinkoff per WooCommerce: pagamento senza plugin inutili
Perché installare due plugin separati per YuKassa e Tinkoff, se i gateway di pagamento possono essere integrati in un unico sistema? Analizziamo i gateway COS WP Woo integrati: pagamento online, SBP, piani rateali, conti B2B, portafogli e pagamento in due fasi.
COS / KNOWLEDGE BASE
La settimana scorsa ho analizzato il sito di un cliente: un'azienda di vendita all'ingrosso, filtri industriali, circa tremila articoli in catalogo, WooCommerce su WordPress. Il sito ha tre anni, funziona bene, ma ecco cosa mi ha ucciso: ventiquattro plugin attivi. Ventiquattro. E questo senza contare i mu-plugin e quelli che sono disattivati "per ogni evenienza". Tra questi ventiquattro ci sono due plugin separati per accettare pagamenti. Uno per YuKassa, il secondo per Tinkoff. Ognuno con le proprie impostazioni, i propri aggiornamenti, i propri conflitti. Il plug-in YuKassa è stato aggiornato sei mesi fa e ha interrotto il processo di ordinazione sui dispositivi mobili: semplicemente il checkout non è stato caricato. Due giorni di inattività mentre risolvevamo la cosa. Il plug-in Tinkoff non è stato aggiornato per più di un anno e quando è passato a PHP 8.2 ha iniziato a spruzzare errori deprecati nel registro per cento megabyte al giorno.
Ti suona familiare? Sarei sorpreso se così non fosse. Perché questa è una tipica seccatura per chiunque costruisca un negozio online su WooCommerce in Russia. Abbiamo bisogno dei sistemi di pagamento russi: YuKassa, Tinkoff, SBP. E per ognuno esiste un plugin separato con un ciclo di vita separato, sviluppatori separati e una cronologia di compatibilità separata. E se anche tu hai clienti B2B che devono emettere fatture a una persona giuridica, benvenuto nel mondo delle stampelle, dei ganci WooCommerce, dei checkout rifatti e delle notti insonni.
Ho pensato a lungo al motivo per cui ciò accade. Perché nel 2026 accettare pagamenti su un sito WooCommerce russo è una missione. E la risposta era ovvia: nessuno pensa ai pagamenti come parte di un unico sistema. Ogni plugin di pagamento è un microcosmo separato. Ha le proprie tabelle nel database, i propri hook, i propri file JavaScript, che vengono caricati al momento del pagamento. E quando questi microcosmi iniziano a scontrarsi tra loro all’interno dello stesso WordPress, volano scintille. Conflitti di stile, duplicazione di script, condizioni di competizione durante l'elaborazione dei callback. Ho visto un sito in cui due plugin tentavano di elaborare lo stesso webhook contemporaneamente e l'ordine veniva contrassegnato come pagato due volte, interrompendo il controllo dell'inventario.
Quando abbiamo progettato il modulo di pagamento in COS WP Woo, l'idea era semplice e, mi sembra, corretta: i gateway di pagamento dovrebbero essere integrati nello strumento che già gestisce il negozio. Non come plugin separati, ma come parte di un'unica architettura. Un plugin - un punto di configurazione - un aggiornamento. Sembra ovvio, ma per qualche motivo questa è una rivoluzione nell'ecosistema WordPress.
E sai qual è la cosa più sorprendente? Quando discuto questa idea con i proprietari dei negozi, la prima reazione è quasi sempre la stessa: "Perché? Per me funziona così". Funziona finché non si rompe. Fino a quando WooCommerce non verrà aggiornato alla prossima versione principale. Fino a quando PHP non passa a una nuova versione. Fino a quando YuKassa non cambierà l'API. E poi inizia il panico: il plugin non è compatibile, la cassa non funziona, i clienti non possono pagare, i soldi non arrivano. E in questo momento si scopre che l'autore del plugin è uno sviluppatore di Novosibirsk, che aggiorna il codice nel tempo libero dal suo lavoro principale. E non ha tempo adesso, perché ha una scadenza per il suo progetto principale. E tu hai un negozio. Non biasimo questo sviluppatore: fa un ottimo lavoro, spesso gratuitamente. Ma dipendere da una persona per una questione che incide direttamente sulle entrate è un rischio che può e deve essere eliminato.
Perché ogni plugin extra non è semplicemente “un altro plugin”
Parliamo di cosa succede realmente quando installi un plugin separato per accettare pagamenti. Non si tratta solo di file in una cartellacontenuto wp/plugin. Si tratta di query aggiuntive al database ogni volta che la pagina viene caricata, perché WordPress carica i metadati del plugin, ne controlla lo stato, carica il suo dominio di testo per le traduzioni. Queste sono richieste HTTP aggiuntive durante il checkout, perché il plugin porta con sé i suoi file CSS e JS. Questo è un ulteriore punto di errore durante l'aggiornamento e chiunque abbia lavorato con WooCommerce per più di un anno sa che agli aggiornamenti di WooCommerce piace interrompere i plugin con invidiabile regolarità.
Ma non è nemmeno una questione di prestazioni. È una questione di controllabilità. Quando hai due o tre plugin di pagamento separati, ottieni due o tre interfacce di configurazione separate. YuKassa è configurato in un posto, Tinkoff in un altro, il pagamento manuale di una fattura in un terzo. E ogni volta che un gestore o un proprietario di un sito vuole cambiare qualcosa - ad esempio abilitare il pagamento a rate tramite Tinkoff o aggiungere un metodo di pagamento per i clienti B2B - deve ricordarsi dove si trova tutto. E se non è stato lui, ma un imprenditore ad installarlo sei mesi fa, buona fortuna per la tua ricerca.
L'ho riscontrato decine di volte. Un cliente chiama: "Il pagamento con la nostra carta è scomparso dal nostro sito web". Inizi a capirlo: si scopre che WooCommerce è stato aggiornato, il plug-in YuKassa non è compatibile con la nuova versione e il gateway è stato automaticamente disattivato. Ma la notifica di ciò è arrivata in un'e-mail che nessuno legge. E i clienti alla cassa vedono l'unico metodo di pagamento disponibile: bonifico bancario, configurato tramite il gateway BACS WooCommerce standard. E se ne vanno. Perché chi sano di mente farebbe un bonifico bancario quando vuole comprare un filtro per duemila rubli.
Diventa ancora più divertente quando un plug-in del sistema di pagamento entra in conflitto con qualcos'altro. Ricordo un progetto in cui il plug-in YuKassa era in conflitto con il plug-in multilingue: quando si cambiava lingua al momento del pagamento, l'URL di richiamata veniva perso e il pagamento falliva sempre con un errore. Oppure un altro caso: il plugin Tinkoff utilizzava la sua versione della libreria per lavorare con le richieste HTTP, che andavano in conflitto con gli abbonamenti WooCommerce. Queste cose sono impossibili da prevedere e accadono nei momenti più inopportuni, di solito il venerdì sera, quando la pubblicità è attiva e il traffico è al massimo.
Ecco perché ritengo sia di fondamentale importanza rimuovere tutto ciò che può essere rimosso da WordPress e consolidare le funzionalità in un unico posto. Non per avidità: dicono, mettiamo tutto in un plugin e ci sarà un monolite. No. Dal buon senso ingegneristico. I gateway di pagamento non sono scienza missilistica. Si tratta di integrazioni API con protocolli chiaramente documentati. YuKassa e Tinkoff dispongono di un'eccellente documentazione e API stabili. Non c'è motivo per cui questo dovrebbe essere un plugin separato con una vita separata.
Cosa possono fare i gateway integrati: metodi YuKassa, Tinkoff e B2B
Quando dico "gateway di pagamento integrati", questo è ciò che intendo: all'interno di COS WP Woo c'è un'implementazione completa di YuKassa, Tinkoff e tre metodi di pagamento B2B che si registrano come gateway di pagamento WooCommerce standard. Per WooCommerce, hanno esattamente lo stesso aspetto dei gateway integrati: bonifico bancario o contrassegno. Sono visibili nelle impostazioni di WooCommerce, nel checkout e negli ordini. Ma sono gestiti da un'unica interfaccia, testati insieme, aggiornati insieme.
Scopriamo cosa è disponibile esattamente e perché è necessario.
YuKassa è, infatti, uno standard per i pagamenti online nell'e-commerce russo. Se hai un negozio online su WooCommerce e accetti pagamenti da privati, hai bisogno di YuKassa. Il nostro gateway integrato supporta tre metodi principali: pagamento con carte bancarie, sistema di pagamento veloce e YuMoney, un portafoglio elettronico. Perché questi tre? Perché coprono il novantacinque per cento degli scenari. Carte - per chi è abituato a pagare con Visa o MasterCard (beh, o Mir, per essere più precisi - l'anno è il 2026). SBP è per coloro che pagano tramite una banca mobile utilizzando un codice QR e questo metodo sta rapidamente guadagnando popolarità, soprattutto per pagamenti fino a quindicimila rubli. YuMoney è per coloro che utilizzano il portafoglio YuMoney, e ci sono anche molte persone del genere, soprattutto tra il pubblico di età compresa tra 25 e 40 anni.
L'installazione richiede letteralmente un paio di minuti. Inserisci il tuo ID Negozio e la chiave segreta dal tuo account personale YuKassa, scegli quali metodi attivare e il gioco è fatto: il gateway funziona. Nessun plugin separato, nessuna tabella aggiuntiva nel database, nessun file JS aggiuntivo per il checkout. Il webhook per le notifiche di pagamento viene elaborato tramite la richiamata WooCommerce standard e l'ordine viene automaticamente trasferito allo stato "In elaborazione" una volta effettuato il pagamento.
Ed è qui che inizia il divertimento: il pagamento in due fasi, noto anche come holding. Questa è una funzionalità che pochi plugin implementano correttamente e per alcune aziende è di fondamentale importanza. L’idea è semplice: al momento del pagamento il denaro non viene addebitato sulla carta del cliente, ma viene bloccato e trattenuto. Il negozio vede che il pagamento è andato a buon fine e inizia ad assemblare l'ordine. E solo quando l’ordine è effettivamente pronto per essere spedito, il gestore conferma l’addebito e il denaro viene trasferito sul conto del negozio. Se l'ordine viene annullato per qualche motivo, la trattenuta viene rimossa, il denaro viene restituito al cliente automaticamente, senza rimborso, senza operazioni inutili.
Perché è necessario? Immagina: vendi attrezzature industriali. Il cliente ordina una pompa per quattrocentomila rubli. Controlli la disponibilità in magazzino, ma non c'è, devi ordinare dal fornitore, la scadenza è di tre settimane. Senza trattenere, cancelleresti immediatamente il denaro e poi ti preoccuperesti per tre settimane nel caso in cui il cliente cambi idea e chieda un rimborso, ma il denaro è già in circolazione. Con il trattenimento i soldi vengono bloccati sulla carta del cliente, si ordina con calma dal fornitore, e vengono addebitati solo quando la merce arriva effettivamente al magazzino ed è pronta per la spedizione. Anche il cliente è calmo: vede che i soldi non sono andati via, ma sono stati solo congelati. Questo è un livello di fiducia fondamentalmente diverso tra acquirente e venditore.
Nel nostro gateway, il pagamento in due fasi è abilitato con un interruttore nelle impostazioni. Successivamente, tutti i pagamenti tramite YuKassa vengono elaborati in modalità attesa. Il gestore può confermare o annullare il pagamento direttamente dalla scheda dell'ordine in WooCommerce: lì compaiono i pulsanti corrispondenti. Non è necessario accedere al tuo account personale YuKassa, non è necessario passare da una finestra all'altra. Tutto in un unico posto.
Ora parliamo di Tinkoff. Tinkoff Acquiring è il secondo gateway di pagamento più popolare in Russia dopo YuKassa e per alcuni tipi di attività è addirittura preferibile. In primo luogo, le condizioni di acquisizione di Tinkoff sono spesso migliori: la commissione di transazione è inferiore, soprattutto per le imprese di medie dimensioni con un fatturato di oltre un milione di rubli al mese. In secondo luogo, Tinkoff ha un piano di rateizzazione integrato, e questa è una caratteristica fondamentale per i negozi che vendono beni costosi.
Il gateway Tinkoff integrato in COS WP Woo funziona secondo lo stesso principio: inserisci la chiave terminale e la password dal tuo account personale Tinkoff e il gateway è pronto. È supportato l'acquiring standard - pagamento con carta e pagamento rateale - quando il cliente può suddividere il pagamento su più mesi senza interessi. Il negozio paga a rate sotto forma di commissione da Tinkoff, ma per beni che costano da dieci a quindicimila rubli, ripaga assolutamente: la conversione aumenta dal venti al trenta per cento, perché è psicologicamente più facile per il cliente pagare tremila al mese che pagare quindicimila in una volta.
Tinkoff supporta anche il pagamento in due fasi e il nostro gateway lo implementa. La logica è la stessa: trattenuta, conferma dell'addebito sulla carta dell'ordine, annullamento automatico della trattenuta all'annullamento dell'ordine. L'uniformità è importante. Non serve che l'allenatore ricordi che per YuKassa la conferma funziona così, per Tinkoff diversamente. L'interfaccia è la stessa, i pulsanti sono gli stessi, la logica è la stessa.
Ma poi passiamo a ciò che distingue COS WP Woo da tutte le altre soluzioni: i metodi di pagamento B2B. E questo, francamente, è l'area per la quale ho iniziato a scrivere questo articolo in primo luogo.
Pagamento B2B: quando il "pagamento con carta" non funziona
Se lavori solo con clienti al dettaglio - persone che visitano il sito, aggiungono prodotti al carrello e pagano con carta - YuKassa e Tinkoff potrebbero essere sufficienti per te. Ma una volta che inizi a lavorare con persone giuridiche, ti ritrovi in un mondo completamente diverso. Un mondo dove nessuno paga con la carta. Dove il pagamento viene effettuato tramite fattura, tramite il conto bancario della società. Dall'effettuazione dell'ordine all'effettiva ricezione del denaro può passare una settimana o anche due. E laddove i gateway WooCommerce standard non sono solo scomodi, sono fondamentalmente inadatti.
Ho visto aziende cercare di risolvere questo problema. L'opzione più comune è che il gestore generi manualmente una fattura in 1C o Excel, la invii al cliente via e-mail e attenda. Quando arriva il denaro, modifica manualmente lo stato dell'ordine in WooCommerce. Se ci sono cinque ordini al giorno, è tollerabile. Se cinquanta è un inferno. E gli errori sono inevitabili: si sono dimenticati di modificare lo stato, hanno confuso l'ordine, la fattura è stata inviata con i dettagli sbagliati.
Un'altra opzione è il BACS standard di WooCommerce (Conto bancario/Pagamenti con assegno). Tecnicamente si tratta di un bonifico bancario. Specifichi i dettagli dell'azienda nelle impostazioni, il cliente li vede nella pagina "Grazie per il tuo ordine" e nell'e-mail. Ma si tratta di informazioni testuali, non di un conteggio normale. Nessun dettaglio dell'acquirente. Nessuna generazione automatica di documenti. Per il B2B questo semplicemente non è grave. Quando un contabile della società acquirente riceve un’e-mail con il testo “Trasferisci 47.800 rubli sul conto corrente di questo o quello”, rimarrà quantomeno sorpreso. Ha bisogno di un conto normale, con codice fiscale, punto di controllo, indirizzo legale, coordinate bancarie, sigillo e firma. Un documento che può essere stampato, archiviato in una cartella e presentato per l'ispezione.
In COS WP Woo, abbiamo implementato tre metodi di pagamento per B2B e ognuno risolve un problema diverso.
Il primo è il pagamento tramite fattura, Invoice Gateway. Questo è esattamente ciò di cui ha bisogno la maggior parte delle aziende B2B. Al momento del pagamento, il cliente seleziona "Pagamento con fattura", indica i dati della sua azienda - oppure vengono estratti automaticamente dal suo profilo se è già registrato come utente B2B. Dopo aver effettuato un ordine, il sistema genera automaticamente una fattura per il pagamento: un documento completo con i dettagli del venditore e dell'acquirente, numero della fattura, data, elenco delle merci, importo e coordinate bancarie. Questa fattura può essere scaricata in formato PDF direttamente dal tuo account personale o da una email di notifica. Il gestore può inviare nuovamente la fattura se il cliente ha perso la lettera. Quando arriva il pagamento, lo stato dell'ordine cambia e il cliente riceve una notifica.
Il punto è questo: non è solo un modello di testo. Questo è un documento reale che viene generato in base ai dati dell'ordine. I dettagli del venditore sono presi dalle impostazioni: INN, KPP, OGRN, indirizzo legale, coordinate bancarie. Dettagli dell'acquirente: dal profilo utente o dai campi di pagamento. Il numero di conto viene generato automaticamente tenendo conto della numerazione che hai configurato. So che sembra una sciocchezza per la contabilità, ma quando vengono generati un centinaio di account di questo tipo al mese, l'automazione fa risparmiare decine di ore.
Il secondo metodo è Ordine di Acquisto, ovvero ordine di pagamento. Si tratta di una forma più libera di pagamento B2B, comune nella pratica internazionale e sempre più presente nelle grandi aziende russe. La conclusione: l'acquirente indica il numero del suo ordine di acquisto interno - Numero dell'ordine di acquisto o PO. Si tratta di un documento concordato all'interno dell'azienda acquirente e in base al quale verrà effettuato il pagamento. Per il venditore, ciò significa che l'ordine è stato confermato, il pagamento verrà effettuato, ma non ora, ma dopo che l'acquirente avrà elaborato i documenti a casa. In genere il periodo di pagamento va dai quattordici ai trenta giorni.
Questo metodo è particolarmente richiesto nelle aziende industriali, dove gli acquisti attraversano diverse fasi di approvazione. Il responsabile degli acquisti crea una richiesta, il capo del dipartimento approva, il direttore finanziario firma e il reparto contabilità genera il pagamento. L'intero processo potrebbe richiedere da due a tre settimane. E per tutto questo tempo, l'ordine rimane in WooCommerce nello stato "In attesa di pagamento" con un numero di ordine di acquisto associato. Il manager del venditore vede questo numero e sa che il pagamento è in corso. E quando arrivano i soldi, conferma l'ordine.
Il terzo metodo è il portafoglio interno, Wallet Gateway. Questa è una storia completamente separata e, secondo me, è sottovalutata. La conclusione: per ogni cliente B2B nel sistema viene creato un saldo interno: un portafoglio. Il cliente può ricaricarlo tramite bonifico bancario per qualsiasi importo, ad esempio un milione di rubli. E successivamente, paga gli ordini immediatamente: il denaro viene addebitato sul saldo del tuo portafoglio, senza attendere un bonifico bancario, senza generare una fattura per ogni ordine.
Perché è necessario? Immagina un grande cliente all'ingrosso che effettua dai venti ai trenta ordini al mese. Ogni ordine comporta la generazione di una fattura, l'attesa del pagamento e il controllo della ricevuta. Con venti ordini al mese, ciò significa venti fatture, venti pagamenti, venti giorni bancari di attesa. E con un portafoglio: un solo trasferimento per l'importo totale, e poi il cliente paga gli ordini istantaneamente, con un clic. Il saldo è visto sia dal cliente nel suo account personale che dal gestore nel pannello di amministrazione. Tutte le transazioni vengono registrate: depositi, addebiti, resi. Trasparente sia per il venditore che per l'acquirente.
Ho parlato con il titolare di un'azienda che vende ricambi per attrezzature speciali. Hanno duecento clienti B2B regolari e ciascuno effettua dai cinque ai quindici ordini al mese. Quando hanno introdotto il sistema di portafoglio interno, il contabile ha letteralmente versato lacrime: invece di milleduecento conti al mese, c'erano duecento depositi. Il carico di lavoro è diminuito di sei volte. E allo stesso tempo, i clienti hanno iniziato a ordinare più spesso: poiché il pagamento è immediato, non è necessario attendere ogni volta l'approvazione.
Tutti e tre i metodi B2B sono integrati in un unico modulo di vendita B2B COS WP Woo. Funzionano insieme a gruppi di clienti, prezzi personalizzati, quantità minime di ordine e altre funzionalità B2B. Questo non è un componente aggiuntivo: fa parte di un unico sistema in cui tutto è connesso e tutto funziona insieme.
Sicurezza dei pagamenti: ciò a cui le persone di solito non pensano prima del primo incidente
Dato che parliamo di gateway di pagamento, non possiamo ignorare il tema della sicurezza. E non sto parlando di PCI DSS e certificazione ora: questa è responsabilità degli stessi YuKassa e Tinkoff, i dati della carta vengono elaborati dalla loro parte e il negozio WooCommerce non vede mai il numero della carta del cliente. Sto parlando di qualcos'altro: della sicurezza dell'integrazione stessa.
Ogni plugin di pagamento WordPress è un potenziale punto di ingresso. Dispone di un URL di richiamata al quale il sistema di pagamento invia notifiche. Questo URL è accessibile da Internet, altrimenti come farà YuKassa a informare il tuo sito che il pagamento è andato a buon fine? E questo URL deve essere protetto. Devi controllare la firma della richiesta, devi validare l'indirizzo IP del mittente, devi controllare che l'importo e il numero dell'ordine corrispondano a quanto memorizzato nel database. Se non lo fai, un utente malintenzionato può inviare una richiesta falsa al tuo URL di richiamata e “confermare” il pagamento per un ordine che nessuno ha pagato. La merce andrà al truffatore, ma il denaro no.
Ti sembra paranoico? In teoria - sì. In pratica, conosco almeno tre casi in cui è esattamente quello che è successo. In un caso, il plugin del sistema di pagamento ha verificato la firma della richiesta, ma non l’importo. L'aggressore ha creato un ordine di centomila rubli, quindi ha inviato una falsa richiamata per l'importo di un rublo e la firma era valida perché ha utilizzato il suo conto di prova del sistema di pagamento. L'ordine è passato allo stato "pagato". Il manager ha spedito la merce. La perdita è di centomila rubli meno un rublo.
Quando i gateway sono integrati in un unico sistema, la sicurezza non è responsabilità del singolo autore del plugin, ma fa parte dell'architettura complessiva. In COS WP Woo, tutti i gestori di richiamata passano attraverso un unico livello di convalida: verifica della firma, verifica dell'importo, verifica della conformità dell'ordine, verifica dell'indirizzo IP (per YuKassa - l'intervallo IP di Yoomoney, per Tinkoff - il loro intervallo di server). Tutte le richieste sospette vengono registrate nel sistema di attività. Se qualcuno sta tentando di falsificare un webhook, lo saprai dal registro e non da una chiamata di un cliente arrabbiato.
Un altro aspetto della sicurezza a cui poche persone pensano è l'archiviazione delle chiavi API. ID negozio e chiave segreta YuKassa, Terminal Key Tinkoff: queste sono, in effetti, le chiavi del tuo conto corrente. Se qualcuno riesce ad accedervi, può reindirizzare i pagamenti su un altro account. E qui è importante il modo in cui il plugin memorizza questi dati. La maggior parte dei plugin memorizza le chiavi in formato testo in chiarowp_opzioni- Tabella delle impostazioni standard di WordPress. Ciò significa che qualsiasi altro plugin con accesso al database (e in WordPress è praticamente qualsiasi plugin) può leggere le tue chiavi. In COS WP Woo, le chiavi segrete vengono archiviate crittografate e nascoste nell'interfaccia: vedi solo gli ultimi quattro caratteri. Quando si effettua una richiesta GET all'API delle impostazioni, le chiavi non vengono mai restituite in testo non crittografato. Questa non è paranoia: è igiene di base.
Punto singolo di configurazione - e perché è più importante di quanto sembri
Ho passato molto tempo a spiegare ai clienti perché il consolidamento dei gateway di pagamento in un unico posto non è un espediente di marketing, ma una necessità ingegneristica. E ogni volta gli argomenti sono gli stessi, ma le persone hanno bisogno di tempo per rendersene conto.
Ecco una situazione tipica. L'azienda ha tre metodi di pagamento sul suo sito web: YuKassa per privati, Tinkoff per rate e bonifico bancario manuale per B2B. Tre plugin diversi, tre impostazioni diverse. Il gestore vuole disattivare temporaneamente la rateizzazione perché la promozione è terminata e le condizioni sono cambiate. Va su WooCommerce → Impostazioni → Pagamenti. Visualizza un elenco di gateway. Trova Tinkoff. Fare clic su "Gestisci". Va alla pagina delle impostazioni del plugin Tinkoff. Disabilita i piani di rateizzazione. Salva. Pronto? Quasi, ma ha dimenticato che il plugin Tinkoff ha una pagina di impostazioni separata nel menu principale di WordPress e lì c'è anche un interruttore di installazione. E non sono sincronizzati. Due ore dopo controlla: i piani di rateizzazione sono di nuovo disponibili alla cassa. Perché l'impostazione del menu principale del plugin ha sovrascritto l'impostazione di WooCommerce Payments.
Sembra uno scherzo? Questa è una storia vera E ho dozzine di storie simili.
In COS WP Woo, tutti i gateway di pagamento sono configurati in un unico posto: su una scheda, in un'unica interfaccia. YuKassa, Tinkoff, pagamento delle fatture, ordine di acquisto, portafoglio: tutto è a portata di mano, su un unico schermo. Vuoi disattivare le rate? Un interruttore. Vuoi modificare i dettagli della tua fattura? Proprio qui, proprio lì. Vuoi abilitare il pagamento in due fasi per YuKassa? Un clic. E non ci sono impostazioni "alternative" che possano sovrascrivere le modifiche.
Ma non è solo una questione di comodità per il manager. Un'architettura unificata offre vantaggi tecnici che non sono evidenti a prima vista. Quando tutti i gateway risiedono all'interno di un plug-in, utilizzano un'infrastruttura comune: un logger comune, un sistema di gestione degli errori comune, hook WooCommerce comuni. Ciò significa che quando aggiorni WooCommerce, devi verificare la compatibilità di un plugin, non di tre. E se qualcosa va storto, esegui il debug di un punto di integrazione, non di tre.
C'è un altro aspetto di cui si parla raramente: i conflitti di cassa. La pagina di pagamento in WooCommerce è il punto più debole. Ogni plugin che aggiunge la propria logica di pagamento aumenta la probabilità di un conflitto. Ho visto situazioni in cui due plugin di pagamento collegavano la stessa libreria jQuery di versioni diverse e il pagamento si è interrotto: il pulsante "Paga" non ha risposto al clic. O quando i gestori AJAX di un plugin intercettano gli eventi di un altro. Oppure quando il CSS di un gateway interrompeva la visualizzazione del form di un altro. Quando tutto è all'interno di un plugin, tali problemi semplicemente non esistono. Un set di script, un set di stili, un gestore AJAX.
Ultimo ma non meno importante: aggiornamenti. Ogni singolo plugin è un ciclo di aggiornamento separato. YuKassa viene aggiornato una volta al mese. Tinkoff - una volta ogni sei mesi (se sei fortunato). Alcune fatture WooCommerce - quando l'autore ricorda. E ogni aggiornamento è una potenziale fonte di problemi. Devi verificare la compatibilità con la versione attuale di WordPress, con la versione attuale di WooCommerce, con la versione attuale di PHP, con tutti gli altri plugin. Quando hai un plug-in con gateway integrati: un aggiornamento, un controllo, un pulsante "Aggiorna". Testiamo la compatibilità di tutti i gateway prima di ogni rilascio. E se un aggiornamento di WooCommerce rompe qualcosa, ripariamo tutti i gateway in una volta, invece di aspettare che l’autore di ogni singolo plugin si degni di rilasciare una patch.
Sai, nel corso degli anni di lavoro con WooCommerce, sono giunto a una regola semplice: meno plugin ci sono sul sito, più stabile è il sito. Ciò non significa che devi scrivere tutto da solo e abbandonare l'ecosistema. Ciò significa che è necessario scegliere consapevolmente quali funzioni inserire in plugin separati e quali è più ragionevole avere all'interno dello strumento principale. I gateway di pagamento sono sicuramente una funzionalità che è meglio avere integrata. Perché sono fondamentali per il business, strettamente legati al processo di ordinazione ed estremamente sensibili ai conflitti.
E se lo guardassimo diversamente? E se percepissimo i gateway di pagamento non come “un’altra caratteristica”, ma come il fondamento fondamentale dell’e-commerce? Senza pagamento non ci sono vendite. Senza vendite non c’è business. E questo fondamento deve essere quanto più affidabile possibile, quanto più prevedibile possibile, quanto più controllabile possibile. Quando le tue fondamenta sono tre plugin separati di tre diversi sviluppatori con tre diversi programmi di aggiornamento e tre diversi approcci alla sicurezza, le fondamenta sono traballanti. Quando la fondazione fa parte di un unico sistema che controlli interamente, è forte.
Non sto dicendo che i plugin separati per YuKassa o Tinkoff siano dannosi. Risolvono il loro problema e molti negozi ne hanno abbastanza. Ma se stai costruendo un e-commerce serio, soprattutto con una componente B2B, il numero di plugin inizia a giocare contro di te. E ogni plugin che può essere rimosso senza perdere funzionalità è un passo verso un sito più stabile, più veloce e più gestibile.
Come funziona in pratica: dal setup al primo pagamento
Lascia che ti spieghi come si svolge in pratica il processo: dall'installazione all'effettiva accettazione dei pagamenti. Senza astrazioni, nello specifico.
Installi COS WP Woo sul tuo sito WooCommerce. Vai alla sezione delle impostazioni del modulo "Consegna e pagamento": questa è una delle schede nell'interfaccia del plugin. Visualizza tutti i gateway di pagamento disponibili. Ciascuno con un interruttore On/Off e un pulsante di impostazione.
Cominciamo con YuKassa. Fare clic su "Configura". Inserisci due parametri: ID negozio e chiave segreta. Prendi entrambi dal tuo account personale YuKassa - la sezione "Integrazione". Scegli i metodi di pagamento: carte bancarie, SBP, YuMoney - singolarmente o tutti insieme. Se desideri un pagamento in due fasi, attiva l'interruttore "Holding". Specifica dopo quanti giorni una trattenuta non confermata viene automaticamente annullata: in genere sette giorni, ma puoi personalizzarla tu stesso. Salva. Questo è tutto, YuKassa sta funzionando.
Punto importante: l'URL del webhook per YuKassa viene generato automaticamente. Devi copiarlo dalle impostazioni del gateway e incollarlo nel tuo account personale su YuKassa, nella sezione "Notifiche HTTP". Una volta, durante la configurazione iniziale. Successivamente, YuKassa avviserà automaticamente il tuo sito sullo stato dei pagamenti: pagamento andato a buon fine, rifiuto, restituzione. Un ordine in WooCommerce cambierà automaticamente il suo stato. Il gestore non ha bisogno di monitorare manualmente i pagamenti.
Tinkoff è configurato in modo simile. Chiave terminale e password: dal tuo account personale Tinkoff Acquiring. Includi acquisizione standard, rate o entrambe. In caso di piano rateale, indicare l'importo minimo dell'ordine al quale è disponibile. Non ha senso offrire rate per merci per cinquecento rubli: sembra strano e non ripaga a causa della commissione. Di solito la soglia minima è compresa tra tre e cinquemila rubli, ma dipende dalla tua attività e dai margini. Anche l'URL del webhook viene generato automaticamente. Salva: il gioco è fatto.
Ora metodi B2B. Pagamento tramite fattura - qui devi inserire i dettagli della tua azienda: nome dell'organizzazione, INN, KPP, OGRN, indirizzo legale, conto corrente, BIC, nome della banca, conto corrispondente. Se disponi del sigillo e della firma del direttore sotto forma di immagini, caricale, verranno aggiunte automaticamente alla fattura PDF. Imposta un modello di numerazione del conto, ad esempio "SCh-{anno}-{numero}", e ogni conto riceverà un numero univoco nel formato "SCH-2026-00001". Accendilo e alla cassa apparirà il metodo “Pagamento tramite fattura”, disponibile per gli utenti B2B registrati.
Quando un cliente B2B effettua un ordine con pagamento tramite fattura, il sistema genera automaticamente un PDF della fattura. Contiene tutto: dati del venditore e dell'acquirente, elenco della merce con prezzi e quantità, importo totale, IVA, coordinate bancarie per il bonifico, timbro e firma. Questo documento viene inviato al cliente via e-mail ed è disponibile per il download nel suo account personale. Il gestore lo vede anche nella scheda dell'ordine e può riformattarlo o inviarlo nuovamente se necessario. Nessun lavoro manuale, niente Excel, niente 1C in questa fase.
L'ordine d'acquisto è ancora più semplice: il campo “Numero ordine d'acquisto” appare al momento del pagamento, il cliente inserisce il suo numero di ordine d'acquisto ed effettua un ordine. L'ordine viene creato nello stato “In attesa di pagamento” con un ordine d'acquisto associato. Il gestore vede questo numero nell'ordine e può verificarlo. Quando arriva il pagamento, manualmente o automaticamente tramite l'integrazione bancaria, lo stato cambia in "In elaborazione".
Portafoglio: qui il cliente vede il suo saldo direttamente alla cassa. Se ci sono fondi sufficienti, puoi pagare in un clic. Se ciò non bastasse, vede un messaggio sulla mancanza di fondi e un'offerta per ricostituire il portafoglio. Il rifornimento avviene tramite bonifico bancario ai dettagli specificati (indicando il numero di portafoglio nella causale del pagamento) o tramite lo stesso gateway YuKassa/Tinkoff, se imposti questa opzione. Saldo, cronologia delle transazioni, operazioni di rifornimento e addebito: tutto è visibile sia al cliente nel suo account personale che al gestore nel pannello di amministrazione.
Separatamente vorrei parlare dei resi: questo è un argomento che danneggia ogni proprietario di negozio online. Il cliente ha pagato, poi ha cambiato idea, i soldi devono essere restituiti. Quando si lavora con plugin individuali, il ritorno è una missione separata. Devi andare alla scheda dell'ordine, trovare la transazione, capire attraverso quale gateway è passato il pagamento, andare alle impostazioni di questo gateway, verificare se supporta i resi automatici o se deve essere effettuato manualmente tramite il tuo account personale del sistema di pagamento. In COS WP Woo, i resi funzionano allo stesso modo per tutti i gateway: fai clic sul pulsante "Reso" nella scheda dell'ordine, indica l'importo (rimborso totale o parziale) e conferma. Il sistema stesso determina tramite quale gateway è passato il pagamento e invia una richiesta di rimborso tramite l'API YuKassa o Tinkoff. Per un portafoglio B2B, il denaro viene restituito automaticamente al tuo saldo. Per pagare con fattura, viene generata una notifica al gestore sulla necessità di un rimborso manuale tramite la banca. Tutto è trasparente, tutto viene registrato, nulla va perduto.
Ed ecco quello che penso sia importante sottolineare: tutti questi metodi funzionano in parallelo. Alla cassa, il cliente vede esattamente i metodi di pagamento a sua disposizione. Un individuo vede YuKassa e Tinkoff. Un cliente B2B vede il pagamento tramite fattura, ordine di acquisto, portafoglio e, se lo desidera, può anche pagare con carta tramite YuKassa o Tinkoff. La visibilità dei metodi è configurata tramite gruppi B2B: puoi mostrare diversi metodi di pagamento a diversi gruppi di clienti. I grandi grossisti hanno solo bisogno di una fattura e di un portafoglio. Per i piccoli commercianti: un conto e una carta. Per i clienti al dettaglio: carta, SBP e piano di rateizzazione. Piena flessibilità.
Sinceramente, quando ho visto per la prima volta quest'opera in un vero negozio - alla cassa di un nostro cliente, un distributore di olio motore - ho provato una sorta di soddisfazione professionale. Perché è proprio questa la cosa che mi è sempre mancata nei progetti. Quando tutto (pagamenti online per privati, fatture automatiche per persone giuridiche e portafogli interni per grossisti regolari) risiede in un unico posto, è controllato da un'unica interfaccia e funziona in modo prevedibile. Non è necessario spiegare al manager che "questo pulsante è in quel plugin e questo è in un altro". Non è necessario ricordare in quale dei tre luoghi è necessario modificare i dati quando l'azienda si trasferisce in una nuova sede legale. Non c'è bisogno di farsi prendere dal panico dopo l'aggiornamento di WooCommerce: "e se qualcosa si interrompe di nuovo nei pagamenti?"
Sento spesso la domanda: non è più semplice usare plugin già pronti? Sono gratuiti, supportati dagli sviluppatori di sistemi di pagamento e costantemente aggiornati. E sì, a prima vista questo è logico. Ma siamo onesti: il plugin "gratuito" YuKassa in realtà ti costa tempo: tempo per la configurazione, tempo per il debug dei conflitti, tempo per attendere gli aggiornamenti quando qualcosa si rompe. "Supportato dagli sviluppatori" - formalmente sì, ma cerca di ottenere una risposta dal supporto tecnico del plugin YuKassa quando riscontri un conflitto con WooCommerce al momento del pagamento. L'ho provato. La risposta standard è: “Disabilita tutti gli altri plugin e controlla”. Grazie, mi è stato di grande aiuto. "Aggiornato costantemente": controlla il registro delle modifiche per gli ultimi aggiornamenti. Molto spesso si tratta di "errori minori risolti" una volta ogni due o tre mesi. E se il tuo problema non sono i loro “errori minori”, ma un conflitto con un altro plugin, sei in fila per l’eternità.
Ok, probabilmente sono troppo duro. Lasciatemi dire questo: per un semplice negozio da dieci prodotti con pagamento solo con carta, il plugin separato YuKassa è una scelta assolutamente normale. Installa, configura, funziona, dimentica. Ma non appena il tuo negozio cresce - compaiono clienti B2B, hai bisogno di rate, hai bisogno di fatture, hai bisogno di un pagamento in due fasi - inizi ad appendere WordPress con plugin come un albero di Natale con i giocattoli. E ad un certo punto l'albero cade.
Mi sembra che l'approccio giusto sia pensare all'infrastruttura di pagamento fin dall'inizio. Non come qualcosa che viene “avvitato” al negozio con plugin separati, ma come parte fondamentale del sistema di e-commerce. Insieme al catalogo, insieme al delivery, insieme al CRM e all'analytics. Sistema unico – unica responsabilità – unico punto di controllo.
E se ora ti trovi di fronte a una scelta - assemblare un'infrastruttura di pagamento da plugin separati o utilizzare un'unica soluzione - ti consiglierei di provare almeno la seconda opzione. Non perché il primo sia pessimo, ma perché il secondo, secondo la mia esperienza, fa risparmiare tempo, nervi e denaro. Soprattutto quando il business cresce e diventa più complesso.
Infine, ti racconterò una storia. Uno dei nostri clienti è un'azienda che vende lubrificanti e oli industriali, circa cinquecento clienti B2B e diverse migliaia di clienti al dettaglio attraverso il sito web. Prima di passare a COS WP Woo, avevano quattro plugin relativi ai pagamenti: YuKassa, Tinkoff, una sorta di plugin per generare fatture (pagate, tra l'altro, con un abbonamento annuale) e un altro per contabilizzare i pagamenti delle persone giuridiche. In totale, questi quattro plugin hanno caricato otto file JS aggiuntivi e tre CSS al momento del pagamento. Il tempo di caricamento della pagina di pagamento è di quattro secondi e mezzo su dispositivo mobile. Dopo la transizione, poco più di due. Il tasso di abbandono del carrello è sceso del 18% nel primo mese. Non perché il checkout sia diventato più bello, ma perché è diventato più veloce. Due secondi e mezzo di differenza - e quasi un cliente su cinque che prima se ne andava ora aspetta il caricamento della pagina e paga.
Non pretenderò che COS WP Woo sia una pillola magica per tutti i problemi dell'e-commerce. Ci sono abbastanza problemi per tutti e ogni giorno ne appariranno di nuovi. Ma proprio quando si tratta di accettare pagamenti, soprattutto se hai bisogno di sistemi di pagamento russi più B2B, un’unica soluzione è oggettivamente migliore di uno zoo di plugin separati. Questa non è la mia opinione: questa è l'esperienza di dozzine di progetti e centinaia di ore di debug che si sono trasformate in soluzioni ingegneristiche concrete.
Prova COS WP Woo - 14 giorni gratis. Installa, configura i gateway di pagamento in dieci minuti, accetta il primo pagamento. E poi confrontare con come funzionava prima. Penso che la differenza sarà evidente.