VibeFox Paystack for OpenCart — Guida
Requisiti
OpenCart: 3.0.x (testato con la versione 3.0.5.0) o 4.0.2 e successive (testato con la versione 4.1.0.3).
PHP: 8.0 o successiva.
Valuta: l'ordine deve essere in una valuta accettata da Paystack: NGN, USD, GHS, ZAR, KES, XOF, EGP o RWF, come abilitato nel tuo account Paystack. Con altre valute il metodo di pagamento non viene mostrato. In XOF e RWF Paystack accetta solo importi interi.
Account Paystack: ti servono le chiavi segrete del tuo account Paystack: la chiave segreta di test (sk_test_...) e/o la chiave segreta live (sk_live_...). Le chiavi pubbliche (pk_...) non sono necessarie, perché il pagamento avviene nella pagina ospitata da Paystack. Nella dashboard di Paystack imposti anche l'URL del webhook del tuo negozio (vedi Configurazione). Il tuo negozio deve essere raggiungibile da internet per ricevere i webhook.
Chiave di licenza VibeFox: si acquista su vibefox.net. Una chiave funziona su un solo dominio.
Installazione
Il download è un unico file zip con i pacchetti per entrambe le versioni di OpenCart. Estrailo sul tuo computer. Contiene README.txt, il pacchetto per OpenCart 3 wcp_paystack_payment-oc3-(version).ocmod.zip e il pacchetto per OpenCart 4 wcp_paystack_payment.ocmod.zip. Installa solo il pacchetto per la tua versione di OpenCart. La chiave di licenza è la stessa per entrambe le versioni.
OpenCart 3
1. Nell'area di amministrazione vai su Extensions > Installer, clicca su Upload e scegli il file wcp_paystack_payment-oc3-(version).ocmod.zip. L'estensione non ha modifiche OCMOD, quindi Extensions > Modifications non deve essere aggiornato. Invece dell'installer puoi anche copiare il contenuto della cartella upload di questo pacchetto nella cartella principale del tuo negozio.
2. Vai su Extensions > Extensions e scegli il tipo Payments. Trova VibeFox Paystack Payment e clicca su Install (il pulsante verde +). Il tuo utente amministratore deve avere il permesso di modificare l'elenco delle estensioni di pagamento.
3. Clicca su Edit (il pulsante con la matita) per aprire la pagina delle impostazioni. Incolla la tua chiave di licenza VibeFox in License key, nel blocco della licenza in cima alla pagina, e clicca su Activate (vedi Chiave di licenza).
4. Incolla le tue chiavi segrete dalla dashboard di Paystack e imposta l'URL del webhook nella dashboard di Paystack (vedi Configurazione).
5. Attiva Enable/Disable e clicca su Save. Lascia attivo Test Mode finché non hai effettuato un pagamento di prova, poi disattivalo per accettare pagamenti reali.
OpenCart 4
1. Nell'area di amministrazione vai su Extensions > Installer, clicca su Upload e scegli il file wcp_paystack_payment.ocmod.zip. Non rinominare il file: OpenCart 4 ricava il codice dell'estensione dal nome del file, e un pacchetto rinominato non funziona.
2. Il pacchetto compare nell'elenco delle estensioni installate, nella stessa pagina. Clicca su Install (il pulsante verde +) accanto ad esso.
3. Vai su Extensions > Extensions e scegli il tipo Payments. Trova VibeFox Paystack Payment, clicca su Install (il pulsante verde +), poi su Edit (il pulsante con la matita).
4. Inserisci la chiave di licenza, le chiavi Paystack e il webhook come nei passaggi da 3 a 5 per OpenCart 3. La pagina delle impostazioni e i suoi campi sono uguali in entrambe le versioni. Cambia solo l'URL del webhook (vedi Webhook).
Una nuova installazione parte con il metodo di pagamento disattivato e la modalità test attiva.
Configurazione
Tutte le impostazioni si trovano nella pagina dell'estensione: Extensions > Extensions > Payments > VibeFox Paystack Payment > Edit. Le sezioni sono elencate a sinistra; il pulsante Save sotto l'elenco salva l'intera pagina. Sopra le impostazioni, un riquadro di stato mostra la modalità: Modalità test: non viene addebitato denaro reale. oppure Modalità live: vengono accettati pagamenti reali. Avvisa anche quando la chiave segreta della modalità corrente è vuota, quando in un campo di chiave segreta è stata inserita una chiave pubblica (pk_...), quando la modalità live ha una chiave di test (sk_test_...) o la modalità test ha una chiave live (sk_live_...), e quando Paystack non accetta la valuta predefinita del tuo negozio. Finché esiste un problema con le chiavi, il metodo di pagamento non viene mostrato al checkout. Senza il permesso di modificare l'estensione, la pagina mostra le impostazioni ma non può salvarle.
Al salvataggio, Title non deve essere vuoto né superare i 128 caratteri, Sort Order deve essere un numero intero, Total deve essere un numero pari o superiore a 0, e la geo zone e gli stati dell'ordine devono esistere; altrimenti non viene salvato nulla. I problemi con le chiavi non impediscono il salvataggio: il riquadro di stato li segnala.
Paystack
La sezione inizia con una breve nota: carte, bonifici bancari, USSD e denaro mobile sulla pagina di pagamento ospitata da Paystack, ogni pagamento confermato lato server tramite le API di Paystack e le valute accettate.
Enable/Disable: Enable Paystack Payment attiva o disattiva il metodo di pagamento. Predefinito: disattivato.
Title: il nome del metodo di pagamento che il cliente vede al checkout. È anche il nome del metodo di pagamento salvato nell'ordine. Predefinito: Paystack. Obbligatorio, massimo 128 caratteri.
Description: il testo mostrato al cliente nel passaggio Confirm Order, sopra il pulsante di conferma. Predefinito: Pay securely using your debit card, credit card, or bank account via Paystack.
Sort Order: la posizione di Paystack tra i metodi di pagamento al checkout. Lascialo vuoto oppure inserisci un numero intero.
Geo Zone: offri Paystack solo per gli indirizzi di pagamento nella geo zone selezionata. Predefinito: All zones. Le geo zone si configurano in System > Localisation > Geo Zones.
Total: il totale del checkout, nella valuta predefinita del negozio, che un ordine deve raggiungere prima che venga offerto Paystack. Lascialo vuoto per offrire Paystack per qualsiasi totale.
Chiavi API
Copia le chiavi segrete dalla dashboard di Paystack, pagina Settings > API Keys & Webhooks. La sezione contiene un link a tale pagina.
Test Mode: usa la chiave segreta di test per i nuovi pagamenti, e non viene addebitato denaro reale. Disattivalo per accettare pagamenti reali con la chiave segreta live. I pagamenti effettuati nell'altra modalità continuano a usare la chiave della propria modalità per verifica e rimborsi. Predefinito: attivo. Quando è attivo, i clienti vedono MODALITÀ TEST ATTIVA. Non verrà effettuato alcun addebito reale. nel passaggio Confirm Order.
Test Secret Key: la tua chiave segreta di test di Paystack. Inizia con sk_test_.
Live Secret Key: la tua chiave segreta live di Paystack. Inizia con sk_live_.
Le chiavi salvate non vengono mai mostrate di nuovo. Il campo resta vuoto e mostra Salvata — lasciare vuoto per mantenerla. Inserisci un nuovo valore solo se vuoi cambiarla. Per rimuovere una chiave salvata, spunta Clear the saved value sotto il campo e clicca su Save.
Webhook
Il webhook comunica al tuo negozio che un pagamento è stato effettuato, anche quando il cliente non torna nel negozio. Nella dashboard di Paystack, pagina Settings > API Keys & Webhooks, imposta l'URL mostrato in Webhook URL in questa sezione sia come Test Webhook URL sia come Live Webhook URL. Nel caso di OpenCart 3 ha la forma https://your-store/index.php?route=extension/payment/wcp_paystack_payment/webhook, su OpenCart 4 https://your-store/index.php?route=extension/wcp_paystack_payment/payment/wcp_paystack_payment.webhook. È costruito dall'indirizzo del negozio della tua installazione di OpenCart. Copia l'URL esattamente come lo mostrano le impostazioni.
Paystack firma ogni webhook con la tua chiave segreta, quindi non serve configurare altro. I webhook senza firma valida vengono rifiutati. L'estensione usa l'evento charge.success:
Gli altri eventi ricevono la risposta OK e vengono ignorati. Senza il webhook, un ordine viene confermato solo quando il cliente torna nel negozio dopo aver pagato. I bonifici bancari e i pagamenti USSD che si completano più tardi vengono confermati solo dal webhook.
Ordini
OpenCart crea l'ordine nel passaggio Confirm Order senza stato (un ordine mancante, missing order). L'ordine riceve uno stato solo dopo che Paystack ha confermato il pagamento tramite le API. Ogni campo di stato qui sotto elenca i tuoi stati ordine di OpenCart.
Autocomplete Order: se attivo, gli ordini pagati ricevono il Complete Order Status al posto del Paid Order Status. Predefinito: disattivato.
Paid Order Status: lo stato impostato dopo un pagamento confermato. Predefinito: Processing.
Complete Order Status: lo stato impostato dopo un pagamento confermato quando Autocomplete Order è attivo. Predefinito: Complete.
Awaiting Payment Status: il cliente è tornato mentre Paystack stava ancora elaborando il pagamento (bonifico bancario, USSD, denaro mobile). L'ordine mantiene questo stato finché il webhook non conferma il pagamento. Predefinito: Pending.
On Hold (Review) Status: il pagamento richiede una tua verifica (vedi Stati dell'ordine). Predefinito: Pending, perché OpenCart non ha lo stato On hold. Puoi creare un tuo stato in System > Localisation > Order Statuses e selezionarlo qui.
Failed Status: un pagamento che Paystack stava ancora elaborando è fallito per un ordine in attesa. Predefinito: Failed.
Refunded Status: il pagamento è stato rimborsato per intero dalla pagina dell'ordine. Predefinito: Refunded.
Avanzate
Debug log: scrive eventi di Paystack e chiamate API in paystack_p_debug.log.php nella cartella dei log di OpenCart (storage/logs). Il file non può essere aperto dal web e, al raggiungimento di 5 MB, viene spostato in paystack_p_debug.old.log.php. Errori e avvisi vengono sempre registrati. Chiavi e dati dei clienti non vengono mai registrati. Predefinito: disattivato.
Log: mostra la dimensione e le ultime voci del log. Clicca su Clear log per svuotarlo.
Delete data on uninstall: se attivo, disinstallando l'estensione vengono rimosse le impostazioni del gateway e il log. I dati di pagamento salvati negli ordini vengono sempre conservati. Predefinito: disattivato.
Import / Export
Export: Download JSON salva le impostazioni in un file JSON. Le chiavi segrete non vengono esportate.
Import: incolla il JSON esportato in precedenza e clicca su Import per ripristinare le impostazioni. Le chiavi segrete salvate vengono mantenute.
Checkout
Nel passaggio Payment Method il cliente sceglie il metodo di pagamento (per impostazione predefinita Paystack). Nel passaggio Confirm Order il cliente vede la tua descrizione e la nota Verrai reindirizzato alla pagina sicura di Paystack per completare il pagamento. OpenCart crea l'ordine in questo passaggio, ancora senza stato. Su OpenCart 4 il cliente sceglie il metodo di pagamento con il pulsante Choose del blocco dei metodi di pagamento, nella finestra Payment method options, e clicca su Confirm Order in fondo alla pagina di checkout. Quando il cliente clicca su Confirm Order, l'estensione avvia una transazione Paystack per il totale dell'ordine nella valuta dell'ordine, con l'e-mail del cliente, e invia il cliente alla pagina di checkout ospitata da Paystack. Lì il cliente paga con uno dei canali abilitati nel tuo account Paystack. Il pagamento contiene il numero dell'ordine e il nome del cliente.
Dopo il pagamento, il cliente torna nel tuo negozio. L'ordine viene segnato come pagato solo dopo che Paystack lo ha confermato: quando il cliente torna e quando arriva il webhook, l'estensione legge la transazione tramite le API di Paystack e verifica riferimento, stato, importo e valuta. L'ordine riceve quindi il suo stato nel modo standard di OpenCart, con le consuete e-mail d'ordine e l'aggiornamento del magazzino, e il cliente vede la pagina di successo dell'ordine di OpenCart.
Se il pagamento è ancora in elaborazione, per esempio un bonifico bancario, l'ordine riceve il Awaiting Payment Status quando il cliente torna, e la pagina di successo mostra Grazie. Il pagamento è in fase di conferma da parte di Paystack; riceverai un'e-mail di conferma. Il webhook completa l'ordine più tardi, e il cliente riceve l'e-mail di stato dell'ordine di OpenCart quando l'ordine risulta pagato o il pagamento fallisce. Per un ordine in verifica, la pagina di successo mostra Il tuo pagamento è stato ricevuto e il tuo ordine è in fase di verifica. Ti contatteremo se sarà necessario qualcosa. Se Paystack non è raggiungibile quando il cliente torna, oppure non ha ancora confermato il pagamento, una pagina Payment confirmation chiede al cliente di non pagare di nuovo e offre Check again e Back to checkout; il webhook imposta lo stato dell'ordine non appena arriva.
Se il cliente clicca su Cancel payment nella pagina di Paystack, la abbandona senza pagare o il pagamento viene rifiutato, l'ordine resta senza stato e il carrello viene conservato. Il cliente torna al checkout con un messaggio: Pagamento annullato. Puoi riprovare o scegliere un altro metodo di pagamento., Il pagamento non è stato completato. Puoi riprovare o scegliere un altro metodo di pagamento. oppure Il tuo pagamento è stato rifiutato. Puoi riprovare o scegliere un altro metodo di pagamento. Su OpenCart 4 questi messaggi vengono mostrati sopra la pagina di checkout.
Ogni nuovo tentativo (OpenCart 3 crea un nuovo ordine ogni volta che viene mostrato il passaggio Confirm Order, OpenCart 4 aggiorna l'ordine del checkout) avvia una nuova transazione Paystack. Una pagina di pagamento più vecchia resta valida: se viene pagata più tardi, il pagamento viene comunque accettato. Prima di avviare un nuovo pagamento, i tentativi aperti dello stesso carrello delle ultime 24 ore vengono verificati con Paystack. Se il carrello è già pagato, in verifica o in attesa di un bonifico bancario, il cliente va direttamente alla pagina di successo e non viene avviato un secondo pagamento. Se un altro ordine dello stesso carrello viene comunque pagato, quell'ordine resta senza stato e l'ordine pagato riceve una nota per rimborsare il duplicato. Una modifica del carrello, compresa una nuova quantità, conta come un nuovo carrello che richiede un proprio pagamento.
Su OpenCart 4 l'ordine resta nel checkout finché non viene mostrata la pagina di successo. Se nel frattempo quell'ordine è stato chiuso senza pagamento (per esempio lo hai annullato), il cliente torna al checkout con il messaggio Il tuo ordine precedente è stato annullato senza pagamento. Conferma di nuovo l'ordine per pagare con un nuovo ordine. Il successivo Confirm Order paga un nuovo ordine. Se quell'ordine era già stato pagato per un carrello precedente e il carrello è cambiato da allora, il cliente torna al checkout, e il successivo Confirm Order paga un nuovo ordine del carrello attuale. Un ordine chiuso non viene mai mostrato come pagato.
Il link di ritorno funziona solo con il proprio token casuale. Un ritorno che non può essere associato a un ordine porta al checkout con Non è stato possibile associare questo pagamento a un ordine. Se sei stato addebitato, contattaci.
Se Paystack non riesce ad avviare il pagamento, il cliente resta nel passaggio Confirm Order con un breve messaggio sopra il pulsante, per esempio Paystack non è riuscito ad avviare il pagamento: seguito dal motivo indicato da Paystack, oppure Paystack è temporaneamente non disponibile. Riprova tra poco o scegli un altro metodo di pagamento. Il totale dell'ordine deve essere maggiore di zero e il cliente deve avere un indirizzo e-mail valido.
Il webhook funziona anche mentre il negozio è in modalità manutenzione, perché OpenCart lascia passare le richieste delle estensioni di pagamento (su OpenCart 4 l'estensione aggiunge a questo scopo una propria azione di avvio, che lascia passare anche il ritorno del cliente da Paystack).
L'estensione non ha un modulo di pagamento incorporato o a comparsa, né carte salvate, abbonamenti, pagamenti divisi o subaccount, né la scelta dei canali di pagamento in OpenCart.
Ordini e rimborsi
Stati dell'ordine
Nessuno stato (ordine mancante): il cliente è stato inviato a Paystack e non ha pagato, ha lasciato la pagina di Paystack, oppure Paystack non ha ancora confermato il pagamento. In Sales > Orders questi ordini vengono mostrati solo con il filtro Order Status impostato su Missing Orders.
Awaiting Payment Status (predefinito Pending): il cliente è tornato mentre Paystack stava ancora elaborando il pagamento, per esempio un bonifico bancario o USSD. L'ordine passa allo stato pagato quando Paystack conferma il pagamento. Se un pagamento del genere non viene mai completato, l'ordine resta in questo stato finché non lo cambi.
Paid Order Status (predefinito Processing) oppure Complete Order Status: il pagamento è stato confermato. Lo stato completo viene usato quando Autocomplete Order è attivo. Una nota mostra l'importo, il riferimento Paystack, il numero della transazione, la modalità (test o live), il canale di pagamento, il tipo di carta e le ultime cifre per i pagamenti con carta, nonché le commissioni Paystack pagate dal cliente.
On Hold (Review) Status (predefinito Pending): l'importo o la valuta pagati differiscono dall'ordine (nota Paystack amount or currency mismatch), oppure il pagamento è arrivato dopo che l'ordine era stato annullato o portato a un altro stato senza pagamento. La nota spiega cosa controllare. Evadi l'ordine o rimborsa il pagamento.
Failed Status (predefinito Failed): Paystack segnala che l'ultimo tentativo di pagamento di un ordine in attesa è fallito o è stato stornato. Il fallimento di un tentativo più vecchio non modifica l'ordine.
Se arriva un secondo pagamento per un ordine già pagato, l'ordine non viene modificato. Una nota ti chiede di rimborsare il pagamento duplicato nella dashboard di Paystack. Un pagamento che arriva per un ordine in un altro stato di elaborazione, per esempio Shipped, viene solo annotato sull'ordine.
Le note sono voci della History dell'ordine che il cliente non vede.
Scheda VibeFox Paystack Payment
In Sales > Orders apri un ordine pagato con Paystack. In fondo alla pagina dell'ordine, accanto a History e Additional, la scheda VibeFox Paystack Payment mostra il Transaction reference, il Mode con l'etichetta Test per i pagamenti di prova, lo Status del pagamento, il Transaction ID, il Channel e la Card, la data del pagamento, gli importi Paid / refunded, il modulo di rimborso, lo storico dei rimborsi e le Paystack notes dell'ordine. La scheda viene mostrata agli utenti che hanno accesso all'estensione.
Rimborsi
Nella scheda VibeFox Paystack Payment inserisci l'Amount (viene compilato l'importo non ancora rimborsato), facoltativamente un Reason (optional), e clicca su Refund via Paystack. Conferma la domanda Rimborsare questo importo tramite Paystack? L'operazione non può essere annullata. Sono supportati rimborsi totali e parziali. Ti serve il permesso di modificare l'estensione (impostato in System > Users > User Groups). Il rimborso va alla transazione che ha pagato l'ordine, con la chiave segreta della modalità (test o live) in cui è stata effettuata, quindi quella chiave deve essere impostata. I rimborsi vengono eseguiti nell'importo e nella valuta addebitati da Paystack: per un ordine in verifica dopo una discrepanza di importo o valuta, puoi rimborsare fino a quanto il cliente ha effettivamente pagato, non fino al totale dell'ordine. In XOF e RWF i rimborsi devono essere importi interi.
Paystack mette i rimborsi in coda: la nota e lo storico dei rimborsi mostrano lo stato restituito da Paystack, per esempio pending, e l'ID del rimborso. Se Paystack non accetta il rimborso, la scheda mostra Paystack refund failed: con il motivo, e nessun rimborso viene registrato. Un rimborso totale imposta l'ordine sul Refunded Status senza avvisare il cliente e senza rimettere i prodotti a magazzino, come una modifica manuale dello stato. Un rimborso parziale non cambia lo stato. I rimborsi sono disponibili una volta che Paystack ha confermato il pagamento.
I resi di prodotti in Sales > Returns non restituiscono denaro tramite Paystack. I rimborsi effettuati nella dashboard di Paystack e lo stato finale dei rimborsi messi in coda da Paystack non vengono sincronizzati con OpenCart. Se necessario, registrali manualmente.
Chiave di licenza
L'estensione funziona con una chiave di licenza VibeFox da vibefox.net. Il blocco della licenza License — VibeFox Paystack Payment è il primo blocco di Extensions > Extensions > Payments > VibeFox Paystack Payment > Edit, sopra le impostazioni. Incolla la chiave in License key e clicca su Activate. Dopodiché il blocco mostra la chiave mascherata, lo stato (per esempio la data fino alla quale la licenza è attiva e il tuo dominio) e i pulsanti Check now per verificare di nuovo lo stato, Change key per inserire un'altra chiave e Remove key per rimuovere la chiave da questo negozio. Sotto compaiono la riga Product: opencart-payment-paystack e il link Manage licenses and domains in your account, che apre il tuo account vibefox.net. Solo gli utenti amministratori con il permesso Modify per l'estensione possono cambiare la chiave. I testi del blocco seguono la lingua dell'amministrazione (sono inclusi inglese e russo).
Se la chiave non viene accettata, il blocco spiega il motivo, per esempio Key not found, This key belongs to another product, Domain limit reached o License expired on seguito da una data. Dopo aver cambiato l'indirizzo del negozio, oppure dopo aver liberato un posto dominio nel tuo account, clicca su Check now. Se il server delle licenze non è raggiungibile, l'estensione continua a funzionare con l'ultimo stato noto.
Una chiave funziona su un solo dominio: l'indirizzo del negozio dalla configurazione di OpenCart. Rimuovere la chiave dal negozio non libera il suo posto dominio. Libera il posto nel tuo account vibefox.net.
Senza una chiave attiva, Paystack non viene mostrato ai clienti al checkout. Se un pagamento viene avviato comunque, il cliente vede This payment method is not available. Please choose another one. Un utente amministratore connesso all'amministrazione nello stesso browser vede ancora il metodo di pagamento nel negozio, contrassegnato come (unlicensed — visible to admins only), così puoi configurare e testare l'estensione prima di acquistare una chiave. Su OpenCart 4 questa anteprima non è disponibile: il negozio non vede l'accesso dell'amministrazione, quindi senza una chiave attiva il metodo di pagamento è nascosto a tutti. Dopo aver aperto una volta la pagina Edit, nella Dashboard dell'amministrazione compare un promemoria. Chiudilo con × per nasconderlo per 7 giorni. Gli ordini esistenti non sono interessati: i pagamenti già avviati vengono comunque confermati e i rimborsi funzionano.
Quando una licenza scade, l'estensione continua a funzionare, ma aggiornamenti e supporto richiedono il rinnovo. Lo stato viene verificato di nuovo automaticamente quando apri la Dashboard o la pagina Edit dell'amministrazione: una volta al giorno nei primi 14 giorni dopo l'inserimento della chiave, poi una volta alla settimana. Non serve alcun cron job. Disinstallando l'estensione vengono sempre rimossi la chiave di licenza e lo stato della licenza.
Risoluzione dei problemi
Paystack non compare al checkout: verifica che la licenza sia attiva, che Enable/Disable sia attivo, che la modalità corrente abbia una chiave segreta corretta (Test Secret Key con sk_test_... in modalità test, Live Secret Key con sk_live_... in modalità live) e che la valuta dell'ordine sia una accettata da Paystack. Il riquadro di stato in cima alle impostazioni indica il problema. Controlla anche che l'indirizzo di pagamento sia nella Geo Zone selezionata e che l'ordine raggiunga il Total impostato nelle impostazioni.
Il pagamento è andato a buon fine, ma l'ordine resta senza stato: il webhook non ha raggiunto il tuo negozio e il cliente non è tornato. Nella dashboard di Paystack verifica che Test Webhook URL e Live Webhook URL siano esattamente l'URL mostrato in Webhook URL, e che nessun firewall o protezione con password lo blocchi. Attiva Debug log e controlla il campo Log per i webhook rifiutati.
Il webhook risponde Invalid signature: il webhook non è stato firmato con la chiave segreta di test o live inserita nelle impostazioni, per esempio perché le chiavi appartengono a un altro account Paystack. Inserisci le chiavi dell'account che invia il webhook.
Il webhook risponde Secret key not configured: nessuna chiave segreta è impostata. Inserisci le chiavi segrete nelle impostazioni.
Il webhook risponde Verification failed, Busy, retry later oppure Order could not be updated, retry later: in quel momento la transazione non è stata letta tramite le API di Paystack, il carrello era in elaborazione contemporaneamente al ritorno del cliente, oppure non è stato possibile impostare lo stato dell'ordine. Paystack invia di nuovo il webhook. Il log mostra il motivo.
Il webhook risponde OK - unknown reference: il pagamento non è stato effettuato per un ordine di questo negozio, per esempio una pagina di pagamento Paystack o un'altra integrazione sullo stesso account. Viene ignorato.
L'URL del webhook mostra Empty body nel browser: è normale. L'URL accetta solo richieste da Paystack.
Il cliente vede Payment gateway is not properly configured: la chiave segreta della modalità corrente manca o è errata. Correggila come indica il riquadro di stato in cima alle impostazioni. This payment method is not available. dopo Confirm Order significa che il metodo di pagamento è stato disattivato nel frattempo oppure che il checkout non corrisponde più all'ordine: il cliente deve ricaricare il checkout.
L'ordine è in stato di verifica dopo il pagamento: leggi le note nella scheda VibeFox Paystack Payment (vedi Stati dell'ordine), poi evadi l'ordine o rimborsa il pagamento.
L'ordine resta nello stato in attesa: Paystack non ha ancora confermato il pagamento. Controlla la transazione nella dashboard di Paystack e le impostazioni del webhook. Se il cliente non ha mai completato il pagamento, cambia lo stato manualmente.
Nella scheda non c'è il modulo di rimborso: la scheda spiega il motivo: il pagamento non è ancora confermato, è rimborsato per intero, il tuo gruppo utenti non ha il permesso di modificare l'estensione, oppure manca la chiave segreta della modalità del pagamento.
Il rimborso fallisce con un messaggio sulla modalità: il pagamento è stato effettuato in modalità test o live, e la chiave segreta di quella modalità non è configurata. Inseriscila e riprova.
Per gli sviluppatori: l'estensione attiva gli eventi OpenCart paystack_p_payment_request (la richiesta di transazione), paystack_p_supported_currencies e paystack_p_currency_decimals.
Disinstallazione
Vai su Extensions > Extensions, scegli il tipo Payments e clicca su Uninstall (il pulsante rosso −) accanto a VibeFox Paystack Payment. La chiave di licenza e lo stato della licenza di questa estensione vengono sempre rimossi. OpenCart rimuove sempre le proprie impostazioni dell'estensione: Enable/Disable, Sort Order, Geo Zone, Total e gli stati dell'ordine della sezione Orders, che tornano ai valori predefiniti alla reinstallazione. Anche l'evento OpenCart dell'estensione viene rimosso (su OpenCart 4 anche i suoi eventi e la sua azione di avvio, che lascia passare il webhook e il ritorno del cliente in modalità manutenzione). Se Delete data on uninstall è attivo, vengono rimosse le altre impostazioni del gateway (titolo, descrizione, modalità test, chiavi, completamento automatico, registrazione) e il log. Se è disattivo, vengono conservate per una futura reinstallazione. I dati di pagamento Paystack degli ordini e i rimborsi vengono sempre conservati, quindi gli ordini pagati in precedenza possono ancora essere rimborsati dopo una reinstallazione. Gli ordini esistenti mantengono le loro note di pagamento.
Su OpenCart 4, per rimuovere anche i file dell'estensione, dopo la disinstallazione vai su Extensions > Installer, clicca su Uninstall (il pulsante arancione −) accanto a VibeFox Paystack Payment nell'elenco delle estensioni installate, poi su Delete (il pulsante rosso con il cestino) per rimuovere il pacchetto caricato.
Paystack è un marchio registrato del rispettivo proprietario. Questa estensione non è affiliata né approvata da Paystack.
