Indietro

VibeFox Cashfree for OpenCart — Guida

Requisiti

OpenCart: 3.0.x (testato su 3.0.5.0) oppure 4.0.2 o successiva (testato su 4.1.0.3).

PHP: 8.0 o successiva.

HTTPS: Cashfree invia i webhook solo a indirizzi https://. Senza HTTPS i pagamenti vengono comunque confermati quando il cliente torna nel negozio, ma attiva HTTPS prima di andare in produzione.

Account Cashfree: ti servono l'App ID e la Secret Key del tuo account Cashfree, separatamente per l'ambiente di test (sandbox) e per quello di produzione, e un webhook nel Merchant Dashboard di Cashfree (vedi Configurazione). La Secret Key viene usata anche per verificare i webhook, quindi non esiste un segreto separato per i webhook. La valuta dell'ordine deve essere abilitata nel tuo account Cashfree.

Chiave di licenza VibeFox: si acquista su vibefox.net. Una chiave funziona su un dominio.

Installazione

Il download è un unico file zip con i pacchetti per entrambe le versioni di OpenCart. Decomprimilo sul tuo computer. Contiene README.txt, il pacchetto per OpenCart 3 wcp_cashfree_payment-oc3-(version).ocmod.zip e il pacchetto per OpenCart 4 wcp_cashfree_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. Nel pannello di amministrazione vai su Extensions > Installer, clicca su Upload e scegli il file wcp_cashfree_payment-oc3-(version).ocmod.zip. L'estensione non ha modifiche OCMOD, quindi Extensions > Modifications non richiede un aggiornamento. 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 Cashfree Payments 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 a forma di 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. Inserisci il Sandbox App ID e la Sandbox Secret Key, aggiungi il webhook nel Merchant Dashboard di Cashfree (vedi Configurazione), attiva Enable/Disable, clicca su Save e prova un pagamento.

5. Quando sei pronto, inserisci l'App ID e la Secret Key di produzione, disattiva Sandbox Mode e clicca su Save.

OpenCart 4

1. Nel pannello di amministrazione vai su Extensions > Installer, clicca su Upload e scegli il file wcp_cashfree_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 Cashfree Payments, clicca su Install (il pulsante verde +), poi su Edit (il pulsante a forma di matita).

4. Inserisci la chiave di licenza, le chiavi Cashfree 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à sandbox attiva.

Configurazione

Tutte le impostazioni si trovano nella pagina dell'estensione: Extensions > Extensions > Payments > VibeFox Cashfree Payments > Edit. Le sezioni sono elencate a sinistra; il pulsante Save sotto l'elenco salva l'intera pagina. Sopra le impostazioni la pagina spiega che l'ordine riceve uno stato solo quando Cashfree conferma il pagamento. Quando il metodo di pagamento è attivo, la pagina ti avvisa se mancano le chiavi API della modalità selezionata (il metodo di pagamento viene poi nascosto nel checkout) e mostra Sandbox mode is on: customers see a test checkout and no real money is charged. mentre la modalità sandbox è attiva. Senza il permesso di modificare l'estensione, la pagina mostra le impostazioni ma non può salvarle.

Al salvataggio, Title non può essere vuoto (massimo 128 caratteri), API Version deve essere una delle versioni elencate, Sort Order deve essere un numero intero, Total deve essere un numero pari o superiore a 0, e la zona geografica e gli stati dell'ordine devono esistere; altrimenti non viene salvato nulla. Se salvi un metodo di pagamento attivo senza le chiavi della modalità selezionata, le impostazioni vengono salvate con un avviso che il metodo resta nascosto nel checkout finché non vengono inserite.

Cashfree Payments

Enable/Disable: Enable Cashfree Payments attiva o disattiva il metodo di pagamento. Predefinito: disattivato.

Title: il nome del metodo di pagamento che i clienti vedono nel checkout. È anche il nome del metodo di pagamento salvato nell'ordine. Predefinito: Cashfree Payments. Obbligatorio.

Description: il testo mostrato al cliente nel passaggio Confirm Order, sopra il pulsante di conferma. Predefinito: Pay securely via Card, UPI, Net Banking, Wallet via Cashfree.

Sort Order: la posizione di Cashfree tra i metodi di pagamento nel checkout. Lascialo vuoto oppure inserisci un numero intero.

Geo Zone: offri Cashfree solo per gli indirizzi di pagamento nella zona geografica selezionata. Predefinito: All zones. Le zone geografiche 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 Cashfree. Lascialo vuoto per offrire Cashfree con qualsiasi totale. Gli importi inferiori al minimo Cashfree della valuta (1 unità; 0,01 o 0,1 per le valute con tre decimali) non vengono mai offerti.

Modalità e chiavi API

Ottieni l'App ID e la Secret Key nel Merchant Dashboard di Cashfree, alla voce Developers > API Keys (la pagina include i collegamenti). Le chiavi di test e quelle di produzione sono diverse.

Sandbox Mode: usa la sandbox di Cashfree per i test. Non viene addebitato denaro reale, e il passaggio Confirm Order e la pagina di pagamento mostrano SANDBOX MODE - no real payments will be processed. Predefinito: attivo. Disattivalo per i pagamenti reali.

Sandbox App ID: l'App ID del tuo ambiente di test Cashfree.

Sandbox Secret Key: la Secret Key del tuo ambiente di test Cashfree.

App ID: l'App ID del tuo ambiente di produzione Cashfree.

Secret Key: la Secret Key del tuo ambiente di produzione Cashfree.

Le Secret Key salvate non vengono più mostrate. Il campo resta vuoto e indica Salvata — lascia vuoto per mantenerla. Inserisci un nuovo valore solo per modificarla. Per rimuovere una chiave salvata, spunta Clear the saved value on save sotto il campo e clicca su Save.

I pagamenti mantengono l'ambiente in cui sono stati creati. I loro webhook vengono verificati, il loro stato viene controllato e i loro rimborsi vengono inviati con le chiavi di quell'ambiente; mantieni quindi compilate le chiavi sandbox finché i pagamenti in sandbox non sono stati regolati dopo il passaggio alla produzione.

Webhook

Il webhook comunica al tuo negozio che un pagamento è stato effettuato, non è riuscito o è stato rimborsato. Nel Merchant Dashboard di Cashfree vai su Developers > Webhooks e aggiungi l'URL mostrato in Webhook URL in questa sezione, con gli eventi Payment e Refund. Su OpenCart 3 ha la forma https://your-store/index.php?route=extension/payment/wcp_cashfree_payment/webhook, su OpenCart 4 https://your-store/index.php?route=extension/wcp_cashfree_payment/payment/wcp_cashfree_payment.webhook. È costruito a partire dall'indirizzo del negozio della tua installazione di OpenCart. Copia l'URL esattamente come lo mostrano le impostazioni. In un negozio HTTPS l'estensione passa questo URL anche a Cashfree con ogni pagamento. Se il tuo negozio non usa HTTPS, questa sezione mostra un avviso.

L'estensione gestisce questi eventi (sono elencati anche in questa sezione):

PAYMENT_SUCCESS_WEBHOOK: il pagamento è riuscito. L'ordine riceve il suo stato dopo il controllo di importo e valuta.
PAYMENT_FAILED_WEBHOOK: il pagamento non è riuscito. L'ordine resta senza stato; il cliente può pagare di nuovo.
PAYMENT_USER_DROPPED_WEBHOOK: il cliente ha abbandonato il pagamento. L'ordine resta senza stato; il cliente può pagare di nuovo.
REFUND_STATUS_WEBHOOK and AUTO_REFUND_STATUS_WEBHOOK: lo stato di un rimborso è cambiato. Viene aggiunta una nota con l'ID del rimborso, l'importo e lo stato, e lo storico dei rimborsi mostra il nuovo stato.

Cashfree firma ogni webhook con la tua Secret Key. I webhook senza una firma valida vengono rifiutati. Un webhook deve essere firmato con la Secret Key dell'ambiente in cui è stato effettuato il pagamento, quindi una chiave sandbox non conferma mai un pagamento reale. I webhook firmati relativi a pagamenti non avviati da questo negozio (per esempio un altro negozio sullo stesso account Cashfree) vengono riconosciuti e ignorati. Senza il webhook, un ordine viene confermato solo quando il cliente torna nel negozio dopo aver pagato. Se il cliente chiude il browser dopo aver pagato, solo il webhook (o il tentativo di pagamento successivo dello stesso carrello) può confermare l'ordine.

Ordini

OpenCart crea l'ordine nel passaggio Confirm Order senza stato (un ordine mancante). L'ordine riceve uno stato solo dopo che Cashfree ha confermato il pagamento. Un pagamento non riuscito o abbandonato lascia l'ordine senza stato, e il carrello viene conservato. Ogni campo qui sotto elenca i tuoi stati degli ordini OpenCart.

Order Status After Payment: lo stato impostato dopo la conferma del pagamento e la corrispondenza di importo e valuta. Predefinito: In lavorazione.

On Hold (Review) Status: Cashfree ha segnalato un importo o una valuta pagati diversi dal totale dell'ordine. Una nota mostra l'importo previsto e quello ricevuto. Predefinito: In attesa, perché OpenCart non ha lo stato In sospeso. Puoi creare un tuo stato in System > Localisation > Order Statuses e selezionarlo qui.

Refunded Status: impostato dopo il rimborso completo del pagamento dalla pagina dell'ordine. Predefinito: Rimborsato.

Avanzate

API Version: la versione dell'API Cashfree da usare.

v1 (2022-09-01): predefinita.
v2 (2023-08-01): la versione più recente dell'API.

Order ID prefix: gli ID ordine Cashfree sono composti da prefisso + ID ordine OpenCart; un nuovo tentativo per lo stesso ordine riceve un numero alla fine (per esempio 123-2). Lascialo vuoto per usare il prefisso automatico di questo negozio, indicato nella descrizione del campo (OC, quattro lettere ricavate dall'indirizzo del negozio, seguite da un trattino). Usa un prefisso diverso per ogni negozio collegato allo stesso account Cashfree. Solo lettere, cifre, «_» e «-», fino a 20 caratteri. Gli altri caratteri vengono rimossi al salvataggio, con un avviso.

Debug log: gli errori vengono sempre registrati. Quando è attivo, anche le chiamate API di Cashfree e i webhook vengono scritti in cashfree_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 ruotato. Chiavi e dati dei clienti non vengono mai registrati. Predefinito: disattivato.

Log: mostra la dimensione e le ultime voci del registro. Clicca su Clear log per svuotarlo.

Delete Data on Uninstall: se attivo, la disinstallazione dell'estensione rimuove le impostazioni di Cashfree e il registro dell'estensione. Gli ordini e le relative transazioni e rimborsi Cashfree vengono sempre conservati. Predefinito: disattivato.

Importa / Esporta

Export: Download JSON salva le impostazioni come file JSON. Le Secret Key non vengono esportate.

Import: incolla il JSON esportato in precedenza e clicca su Import per ripristinare le impostazioni. Le Secret Key salvate vengono mantenute.

Checkout

Nel passaggio Payment Method il cliente sceglie il metodo di pagamento (per impostazione predefinita Cashfree Payments). Nel passaggio Confirm Order il cliente vede la tua descrizione e la nota Verrai reindirizzato al checkout Cashfree per pagare in modo sicuro (carte, UPI, bonifico online, portafogli digitali). OpenCart crea l'ordine in questo passaggio, ancora senza stato. Quando il cliente clicca su Confirm Order, l'estensione crea un ordine Cashfree per il totale dell'ordine nella valuta dell'ordine e apre una pagina Cashfree payment che mostra Reindirizzamento a Cashfree per il pagamento... e carica il checkout Cashfree. Se non si apre da sola, il cliente può cliccare su Pay Now. Sul checkout Cashfree il cliente paga con uno dei metodi attivi nel tuo account Cashfree, per esempio carta, UPI, bonifico online o portafoglio digitale. L'e-mail e il numero di telefono del cliente vengono passati a Cashfree. Su OpenCart 4 il cliente sceglie il metodo di pagamento con il pulsante Choose del blocco del metodo di pagamento, nella finestra Payment method options, e clicca su Confirm Order in fondo alla pagina del checkout. Per impostazione predefinita OpenCart 4 non chiede il numero di telefono: se l'ordine non ce l'ha, il blocco di conferma mostra un campo facoltativo Phone (Facoltativo: il numero di telefono del pagante per Cashfree (UPI, OTP).). Un formato errato produce Inserisci un numero di telefono valido (10 cifre, oppure + e il prefisso del paese) o lascia il campo vuoto. Il numero viene ricordato per il tentativo successivo.

Dopo aver pagato, il cliente torna nel tuo negozio. L'ordine viene segnato come pagato solo dopo che Cashfree lo ha confermato: tramite il webhook firmato oppure con una richiesta lato server a Cashfree quando il cliente torna. Poi l'ordine riceve 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 OpenCart. Il ritorno funziona anche in un altro browser, per esempio quando il cliente torna da un'app UPI. Se la banca non ha ancora confermato il pagamento, una pagina Payment confirmation mostra Your payment is being processed by the bank. We will update the order as soon as Cashfree confirms it — please do not pay again. e un pulsante Check again; il webhook imposta lo stato dell'ordine non appena la banca conferma il pagamento. Su OpenCart 4 il browser non invia la sessione del negozio quando Cashfree rimanda indietro il cliente, quindi l'estensione mostra prima una breve pagina che riapre lo stesso indirizzo di ritorno dal tuo negozio: il cliente conserva il carrello e l'accesso.

Se il pagamento non riesce o il cliente lascia la pagina Cashfree senza pagare, il cliente torna al checkout con Il pagamento Cashfree non è stato completato. Riprova o scegli un altro metodo di pagamento. Su OpenCart 4 i messaggi del checkout sono mostrati sopra la pagina del checkout. L'ordine resta senza stato e il carrello viene conservato. OpenCart 3 crea un nuovo ordine ogni volta che viene mostrato il passaggio Confirm Order; OpenCart 4 mantiene un ordine per il checkout e lo aggiorna, quindi il cliente paga di nuovo lo stesso ordine. Un pagamento Cashfree aperto dello stesso ordine viene riutilizzato quando l'importo non è cambiato e restano più di cinque minuti; altrimenti il vecchio ordine Cashfree viene chiuso e ne viene creato uno nuovo. Vengono chiusi anche i pagamenti Cashfree aperti degli ordini precedenti dello stesso carrello, così il carrello non può essere pagato due volte. Se il carrello era già stato pagato su Cashfree ma non registrato, il tentativo successivo conferma quel pagamento invece di addebitare di nuovo. Un carrello già pagato da un altro ordine non viene addebitato di nuovo: il cliente va alla pagina di successo. Se lo stesso carrello viene comunque pagato due volte (per esempio in due schede del browser contemporaneamente), il secondo ordine resta senza stato e l'ordine pagato riceve una nota che indica che il cliente potrebbe essere stato addebitato due volte, così puoi rimborsarlo nella dashboard Cashfree.

OpenCart 4 mantiene l'ordine nel checkout finché non viene mostrata la pagina di successo. Se nel frattempo quell'ordine è stato chiuso (per esempio annullato) e Cashfree non trattiene denaro per esso, il cliente torna al checkout con Il pagamento Cashfree non è stato completato. Riprova o scegli un altro metodo di pagamento., e il successivo clic su Confirm Order paga un nuovo ordine del carrello. Se l'ordine ha già uno stato e il carrello nel frattempo è cambiato (altri prodotti o quantità), il cliente torna al checkout con Il tuo ordine precedente è già stato inviato. Conferma di nuovo l'ordine: il carrello attuale verrà pagato con un nuovo ordine.

Se Cashfree non riesce ad avviare il pagamento, il cliente resta al passaggio Confirm Order con Non è stato possibile avviare il pagamento Cashfree. Riprova o scegli un altro metodo di pagamento. sopra il pulsante. Il motivo tecnico viene scritto nel registro. Un totale d'ordine inferiore al minimo Cashfree (1 unità della valuta; 0,01 per le valute con tre decimali come KWD e 0,1 per TND) non può essere pagato con Cashfree, e per quell'ordine il metodo di pagamento non viene mostrato.

Il webhook funziona anche mentre il negozio è in modalità manutenzione: OpenCart 3 lascia passare le richieste delle estensioni di pagamento, e su OpenCart 4 l'estensione aggiunge un'azione di avvio (startup action) che lascia passare il webhook e il ritorno del cliente.

L'estensione accetta solo pagamenti unici nel checkout Cashfree. Non ha carte salvate, abbonamenti o pagamenti ricorrenti, autorizzazione e cattura separate, widget di offerte Cashfree, contrassegno tramite Cashfree o link di pagamento, e non effettua conversioni di valuta: l'ordine viene addebitato nella valuta dell'ordine.

Ordini e rimborsi

Stati degli ordini

Nessuno stato (ordine mancante): il cliente è stato inviato a Cashfree e non ha pagato, il pagamento non è riuscito, oppure il pagamento è ancora in attesa presso la banca. In Sales > Orders questi ordini vengono mostrati solo con il filtro Order Status impostato su Missing Orders.

Order Status After Payment (predefinito In lavorazione): il pagamento è stato confermato. Una nota mostra l'ID della transazione Cashfree e il gruppo del metodo di pagamento (per esempio upi o credit_card).

On Hold (Review) Status (predefinito In attesa): Cashfree ha segnalato un importo o una valuta pagati diversi dal totale dell'ordine. La nota mostra l'importo previsto e quello ricevuto, oltre all'ID della transazione. Controlla il pagamento nella dashboard Cashfree, quindi evadi l'ordine oppure rimborsa il pagamento.

Refunded Status (predefinito Rimborsato): il pagamento è stato rimborsato interamente tramite l'estensione.

Un pagamento che arriva dopo che hai impostato a mano uno stato sull'ordine in attesa (per esempio Annullato) viene comunque registrato, e l'ordine diventa pagato, perché il denaro è stato incassato; OpenCart avvisa il cliente di questa modifica. Un ordine pagato non torna mai indietro per un pagamento fallito successivo, e un secondo pagamento per un ordine già pagato non lo modifica.

Le note sono voci della History dell'ordine che il cliente non vede.

Scheda VibeFox Cashfree Payments

In Sales > Orders apri un ordine pagato con Cashfree. In fondo alla pagina dell'ordine, accanto a History e Additional, la scheda VibeFox Cashfree Payments mostra il Transaction ID con l'etichetta Sandbox per i pagamenti in sandbox, il Cashfree order, lo Status del pagamento, gli importi Paid / refunded, il modulo di rimborso, lo storico dei rimborsi con lo stato di ciascuno e le Cashfree notes dell'ordine. La scheda viene mostrata agli utenti che hanno accesso all'estensione.

Rimborsi

Nella scheda inserisci l'Amount (viene compilato l'importo non ancora rimborsato), facoltativamente un Reason (optional), e clicca su Refund via Cashfree. Conferma la domanda Refund this amount through Cashfree? This cannot be undone. Sono supportati rimborsi totali e parziali. Ti serve il permesso di modificare l'estensione (impostato in System > Users > User Groups). I rimborsi vengono eseguiti nell'importo e nella valuta addebitati da Cashfree, quindi dopo una differenza di importo puoi rimborsare fino a quanto il cliente ha effettivamente pagato, e non fino al totale dell'ordine. Il rimborso viene inviato all'ordine Cashfree pagato, nell'ambiente (sandbox o produzione) in cui è stato pagato: quindi devono essere impostate le chiavi di quell'ambiente. Se Cashfree non accetta il rimborso, o lo segnala come annullato o rifiutato, la scheda mostra l'errore e non viene registrato alcun rimborso. Un rimborso avviato viene aggiunto allo storico dei rimborsi e alle note con il suo ID, il suo importo e il suo stato. 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 Cashfree ha confermato il pagamento.

Lo stato finale del rimborso arriva tramite il webhook dei rimborsi e viene aggiunto alle note. I resi di prodotti in Sales > Returns non restituiscono denaro tramite Cashfree.

Chiave di licenza

L'estensione funziona con una chiave di licenza VibeFox da vibefox.net. Il blocco della licenza License — VibeFox Cashfree Payments è il primo blocco di Extensions > Extensions > Payments > VibeFox Cashfree Payments > 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-cashfree e il collegamento 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 modificare la chiave. I testi del blocco seguono la lingua del pannello di amministrazione (sono inclusi inglese e russo).

Se la chiave non viene accettata, il blocco indica 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 uno slot di 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 dominio: l'indirizzo del negozio dalla configurazione di OpenCart. Rimuovere la chiave dal negozio non libera il suo slot di dominio. Libera lo slot nel tuo account vibefox.net.

Senza una chiave attiva, Cashfree non viene mostrato ai clienti nel checkout. Se un pagamento viene avviato comunque, il cliente vede Questo metodo di pagamento non è disponibile. Scegline un altro. Un utente amministratore che ha effettuato l'accesso al pannello di amministrazione nello stesso browser vede comunque il metodo di pagamento nel negozio, contrassegnato come (senza licenza — visibile solo agli amministratori), così puoi configurare e provare l'estensione prima di acquistare una chiave. Su OpenCart 4 questa anteprima non è disponibile: il negozio non vede l'accesso all'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 dell'amministrazione o la pagina Edit: una volta al giorno per i primi 14 giorni dopo l'inserimento della chiave, poi una volta alla settimana. Non serve alcun cron job. La disinstallazione dell'estensione rimuove sempre la chiave di licenza e lo stato della licenza.

Risoluzione dei problemi

Cashfree non compare nel checkout: verifica che la licenza sia attiva, che Enable/Disable sia attivo e che la modalità corrente abbia le sue chiavi: Sandbox App ID e Sandbox Secret Key in modalità sandbox, App ID e Secret Key in modalità reale. La pagina delle impostazioni mostra un avviso quando mancano le chiavi. Il metodo di pagamento viene nascosto anche quando il totale dell'ordine è inferiore al minimo di Cashfree. Verifica inoltre 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 funziona. Verifica che il tuo negozio usi HTTPS, che l'URL in Developers > Webhooks sia esattamente quello mostrato in Webhook URL e che siano selezionati gli eventi di pagamento. Verifica che la Secret Key nelle impostazioni appartenga all'ambiente in cui è stato effettuato il pagamento. La dashboard di Cashfree mostra la risposta del tuo negozio per ogni webhook. L'ordine riceve il suo stato anche quando il cliente torna nel negozio dopo aver pagato, e al tentativo di pagamento successivo dello stesso carrello.

Il webhook risponde Missing signature o Invalid signature: la chiamata non conteneva una firma Cashfree valida, oppure la Secret Key nelle impostazioni non corrisponde all'ambiente in cui è stato effettuato il pagamento. Verifica che le chiavi sandbox e quelle di produzione non siano scambiate.

Il webhook risponde Ignored: il webhook è firmato correttamente, ma appartiene a un pagamento non avviato da questo negozio, per esempio un altro negozio sullo stesso account Cashfree. Assegna a ogni negozio un proprio Order ID prefix.

Il webhook risponde Busy, retry later: l'ordine era in fase di conferma da un'altra richiesta nello stesso momento, oppure non è stato possibile impostare lo stato dell'ordine. Cashfree ritenta il webhook. Attiva il Debug log per vedere il motivo.

Il cliente vede «La pagina di pagamento Cashfree non è stata caricata. Riprova.»: lo script di Cashfree non è stato caricato nel browser, per esempio a causa di un blocco. Il cliente può cliccare di nuovo su Pay Now oppure scegliere Choose another payment method.

Il cliente vede «Non è stato possibile avviare il pagamento Cashfree»: consulta il campo Log nella pagina dell'estensione. Le cause tipiche sono chiavi errate per la modalità selezionata o una valuta non abilitata nel tuo account Cashfree.

Il cliente vede «Questo metodo di pagamento non è disponibile.» dopo Confirm Order: la sessione di checkout non corrisponde più all'ordine, oppure nel frattempo il metodo di pagamento è stato disattivato. Il cliente ricarica il checkout.

Il cliente vede «Sessione di pagamento non trovata. Riprova.»: il link della pagina di pagamento non appartiene a un pagamento di questo negozio, oppure la sessione Cashfree è terminata. Il cliente conferma di nuovo l'ordine.

Il cliente vede «Non è stato possibile verificare il pagamento»: il link di ritorno non corrispondeva al pagamento. Se è stato addebitato denaro, il webhook conferma comunque l'ordine. Controlla il pagamento nella dashboard Cashfree prima che il cliente paghi di nuovo.

L'ordine è in stato di verifica dopo il pagamento: leggi le note nella scheda VibeFox Cashfree Payments (vedi Stati degli ordini), quindi evadi l'ordine oppure rimborsa il pagamento.

Nella scheda non c'è il modulo di rimborso: la scheda indica il motivo: il pagamento non è ancora confermato, è rimborsato interamente, il tuo gruppo utenti non ha il permesso di modificare l'estensione, oppure mancano le chiavi API dell'ambiente del pagamento.

Il rimborso fallisce con un messaggio relativo alla modalità sandbox o reale: il pagamento è stato effettuato in quell'ambiente, e le sue chiavi API non sono impostate. Inseriscile e riprova.

Disinstallazione

Vai su Extensions > Extensions, scegli il tipo Payments e clicca su Uninstall (il pulsante rosso −) accanto a VibeFox Cashfree Payments. 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 degli ordini della sezione Orders, che tornano ai valori predefiniti in caso di reinstallazione. Su OpenCart 4 vengono rimossi anche gli eventi dell'estensione e la sua azione di avvio, che lascia passare il webhook in modalità manutenzione. Se Delete Data on Uninstall è attivo, vengono rimosse le altre impostazioni di Cashfree (titolo, descrizione, modalità, chiavi, versione API, prefisso dell'ID ordine, registrazione) e il log. Se è disattivo, vengono conservate per una reinstallazione successiva. Le transazioni e i rimborsi Cashfree vengono sempre conservati, quindi gli ordini pagati in precedenza possono essere rimborsati anche dopo una reinstallazione. Gli ordini esistenti conservano le note di pagamento.

Su OpenCart 4, per rimuovere anche i file dell'estensione, vai su Extensions > Installer dopo la disinstallazione e clicca su Uninstall (il pulsante arancione −) accanto a VibeFox Cashfree Payments nell'elenco delle estensioni installate, poi su Delete (il pulsante rosso con il cestino) per rimuovere il pacchetto caricato.

Cashfree è un marchio del rispettivo proprietario. Questa estensione non è affiliata né approvata da Cashfree.