Indietro

VibeFox Razorpay for OpenCart — Guida

Requisiti

OpenCart: 3.0.x (testato su 3.0.5.0) o 4.0.2 e successivi (testato su 4.1.0.3).

PHP: 8.0 o successivo.

Account Razorpay: ti servono il Key ID e il Key Secret del tuo account Razorpay per la modalità test e, per la modalità live, una volta attivato l'account. Un webhook con un segreto a tua scelta è fortemente consigliato (vedi Configurazione). I pagamenti in valute diverse da INR richiedono che International Payments sia attivo sul tuo account Razorpay.

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. Decomprimilo sul tuo computer. Contiene README.txt, il pacchetto per OpenCart 3 wcp_razorpay_payment-oc3-(version).ocmod.zip e il pacchetto per OpenCart 4 wcp_razorpay_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_razorpay_payment-oc3-(version).ocmod.zip. L'estensione non ha modifiche OCMOD, quindi Extensions > Modifications non deve essere aggiornato. In alternativa all'installer, puoi 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 Razorpay 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. Inserisci il tuo Test Key ID e il tuo Test Key Secret, configura il webhook nel Razorpay Dashboard e inserisci il suo segreto (vedi Configurazione).

5. Attiva Enable/Disable e clicca su Save. Effettua un pagamento di prova con Test mode attivo. Quando sei pronto, inserisci le chiavi Live e disattiva Test mode.

OpenCart 4

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

4. Inserisci la chiave di licenza, le chiavi Razorpay 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 Razorpay Payment > Edit. Le sezioni sono elencate a sinistra; il pulsante Save sotto l'elenco salva l'intera pagina. Senza il permesso di modificare l'estensione, la pagina mostra le impostazioni ma non può salvarle.

Sopra le impostazioni, la pagina spiega che l'ordine riceve uno stato solo dopo che il pagamento è stato verificato con Razorpay, e mostra degli avvisi: mancano le chiavi della modalità corrente (in tal caso Razorpay non viene mostrato al checkout), il Key ID non inizia con rzp_test_ in modalità test o con rzp_live_ in modalità live, la modalità test è attiva, il segreto del webhook è vuoto, oppure la valuta predefinita del negozio non è INR e richiede International Payments sul tuo account Razorpay. Gli avvisi vengono aggiornati dopo ogni salvataggio.

Al salvataggio, Title deve avere da 1 a 128 caratteri (Enter a title for the payment method (1 to 128 characters).), Sort Order deve essere un numero intero (sono ammessi i numeri negativi), Total deve essere un numero maggiore o uguale a 0, e la zona geografica e ogni stato dell'ordine devono esistere. In caso contrario non viene salvato nulla. Gli spazi incollati insieme ai Key ID vengono rimossi.

Razorpay

Enable/Disable: Enable Razorpay Payment Gateway 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: UPI, Cards, NetBanking. Obbligatorio, fino a 128 caratteri.

Description: il testo mostrato al cliente nel passaggio Confirm Order, sopra il pulsante di conferma. Predefinito: Pay securely via UPI, Credit/Debit Card, or Internet Banking through Razorpay.

Sort Order: la posizione di Razorpay tra i metodi di pagamento al checkout. Lascialo vuoto o inserisci un numero intero.

Geo Zone: offri Razorpay 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 Razorpay: un numero maggiore o uguale a 0. Lascialo vuoto per offrire Razorpay per qualsiasi totale.

Chiavi API

Ottieni le chiavi nel Razorpay Dashboard, alla voce Account & Settings > API Keys (la pagina contiene un link diretto). Passa il Dashboard alla modalità test per generare le chiavi di test (rzp_test_...). Le chiavi live (rzp_live_...) sono disponibili una volta attivato l'account.

Test mode: usa le chiavi della modalità test, quindi non viene addebitato denaro reale. Predefinito: attivo. Disattivalo per accettare pagamenti reali. I pagamenti, le acquisizioni e i rimborsi di un ordine usano sempre le chiavi della modalità in cui l'ordine è stato pagato, quindi cambiare modalità più avanti non influisce sugli ordini esistenti. Finché è attiva, i clienti vedono Razorpay Test mode: no real money will be charged. nel passaggio Confirm Order e nella pagina di pagamento.

Test Key ID: il Key ID dal Razorpay Dashboard in modalità test. Inizia con rzp_test_.

Test Key Secret: il Key Secret dal Razorpay Dashboard in modalità test.

Live Key ID: il Key ID dal Razorpay Dashboard in modalità live. Inizia con rzp_live_.

Live Key Secret: il Key Secret dal Razorpay Dashboard in modalità live.

I segreti salvati non vengono mai mostrati di nuovo. Il campo resta vuoto e mostra Saved — leave empty to keep it. Inserisci un nuovo valore solo se vuoi modificarlo. Per rimuovere un valore salvato, spunta Clear the saved value on save sotto il campo e clicca su Save.

Pagamento

Payment Action: il momento in cui viene addebitato il denaro. Predefinito: Authorize & Capture.

Authorize & Capture: il cliente viene addebitato subito. Se Razorpay segnala un pagamento autorizzato, l'estensione lo acquisisce.
Authorize Only: il denaro viene riservato. L'ordine riceve l'Authorized Status, e il pagamento viene acquisito in seguito con Capture Razorpay payment nella scheda Razorpay della pagina dell'ordine, oppure nel Razorpay Dashboard. Razorpay rimborsa automaticamente i pagamenti autorizzati che non vengono acquisiti in tempo.

Webhook

Il webhook conferma i pagamenti anche quando il cliente chiude il browser subito dopo aver pagato, e registra i rimborsi effettuati nel Razorpay Dashboard. Nel Razorpay Dashboard vai su Account & Settings > Webhooks e aggiungi un webhook in modalità test e un altro in modalità live. Usa l'URL mostrato in Webhook URL in questa sezione. Su OpenCart 3 ha questo aspetto https://your-store/index.php?route=extension/payment/wcp_razorpay_payment/webhook, su OpenCart 4 quello https://your-store/index.php?route=extension/wcp_razorpay_payment/payment/wcp_razorpay_payment.webhook. È costruito a partire dall'indirizzo del negozio della tua installazione di OpenCart. Copialo esattamente come lo mostrano le impostazioni. In Razorpay inserisci un segreto a tua scelta e seleziona questi eventi (sono elencati anche in questa sezione):

payment.authorized: un pagamento è stato autorizzato.
payment.captured: un pagamento è stato acquisito, anche quando lo acquisisci nel Razorpay Dashboard.
payment.failed: un tentativo di pagamento non è riuscito.
order.paid: l'ordine Razorpay del pagamento è stato pagato.
refund.created: un pagamento è stato rimborsato, per esempio nel Razorpay Dashboard.

Webhook Secret: il segreto che hai inserito durante la creazione del webhook. Usa lo stesso segreto per il webhook di test e per quello live, perché l'estensione ha un unico campo per entrambi. I webhook senza una firma valida vengono rifiutati. Senza il webhook, un pagamento viene confermato solo quando il cliente torna dal popup, o quando il cliente avvia di nuovo il pagamento dello stesso carrello più avanti.

Ordini

OpenCart crea l'ordine nel passaggio Confirm Order senza stato (un ordine mancante). L'ordine riceve uno stato solo dopo che Razorpay ha confermato il pagamento. Un pagamento non riuscito o abbandonato lo lascia senza stato, e il carrello viene conservato. OpenCart non ha uno stato Authorized né uno stato On hold, quindi scegli tra gli stati esistenti; le note dell'ordine spiegano il motivo. Ogni campo qui sotto elenca i tuoi stati ordine di OpenCart.

Order Status After Payment: il pagamento è acquisito e importo e valuta corrispondono. Predefinito: In lavorazione.

Authorized Status: Authorize Only: il denaro è riservato, non ancora acquisito. Predefinito: In attesa.

On Hold (Review) Status: revisione manuale: l'importo o la valuta pagati differiscono dal totale dell'ordine, è arrivato un pagamento per un ordine annullato, oppure la firma del popup era valida ma il pagamento non è stato verificabile tramite l'API di Razorpay. Predefinito: In attesa. Puoi creare stati personalizzati in System > Localisation > Order Statuses e selezionarli qui.

Cancelled Status: l'estensione non imposta mai questo stato. Serve solo a indicare all'estensione quali ordini sono annullati: un pagamento acquisito più tardi per un ordine del genere lo porta in revisione invece di riaprirlo; un pagamento autorizzato aggiunge soltanto una nota. Predefinito: Annullato.

Refunded Status: impostato quando il pagamento viene rimborsato per intero, dalla scheda dell'ordine o nel Razorpay Dashboard. Predefinito: Rimborsato.

Avanzate

Enable Logging: il registro viene scritto in razorpay_p_debug.log.php, nella cartella dei log di OpenCart (storage/logs). Il file non può essere aperto dal web. Errori e avvisi vengono sempre registrati; questa opzione aggiunge i dettagli di debug. Chiavi, firme e dati di contatto dei clienti non vengono mai registrati. Predefinito: disattivato.

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

Delete Data on Uninstall: se attivo, la disinstallazione dell'estensione rimuove le impostazioni del gateway e il registro. Gli ordini e le relative transazioni e rimborsi Razorpay restano sempre. Predefinito: disattivato.

Importa / Esporta

Export: Download JSON salva le impostazioni in un file JSON. Le chiavi segrete non vengono esportate.

Import: incolla un 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 UPI, Cards, NetBanking). Nel passaggio Confirm Order il cliente vede la tua descrizione e la nota After "Confirm Order" the Razorpay Checkout window opens to pay securely (UPI, cards, NetBanking, wallets). OpenCart crea l'ordine in questo passaggio, ancora senza stato. Quando il cliente clicca su Confirm Order, l'estensione crea un ordine Razorpay per l'importo esatto e la valuta dell'ordine e apre la pagina Razorpay payment del tuo negozio. Il popup di Razorpay Checkout si apre lì automaticamente, con nome, e-mail e telefono del cliente già compilati. 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 di checkout. Il pagamento appare in Razorpay come Order # seguito dal numero dell'ordine. Se il popup viene chiuso, il cliente può cliccare su Pay Now per riaprirlo oppure su Choose another payment method per tornare al checkout. Il carrello viene conservato.

Dopo un pagamento riuscito, il cliente vede Please wait while we process your payment... L'estensione verifica la firma di Razorpay, recupera il pagamento dall'API di Razorpay e confronta importo e valuta con l'ordine. L'ordine viene segnato come pagato solo quando Razorpay lo conferma. Poi 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 conferma ordine di OpenCart. Se la firma è valida ma il pagamento non può essere recuperato in quel momento, l'ordine riceve lo On Hold (Review) Status e sarà il webhook a confermarlo più tardi.

OpenCart 3 crea un nuovo ordine ogni volta che viene mostrato il passaggio Confirm Order. OpenCart 4 mantiene un solo ordine per il checkout e lo aggiorna, quindi dopo la chiusura del popup o dopo Choose another payment method il cliente paga lo stesso ordine. Prima che inizi un nuovo pagamento, l'estensione controlla gli ordini Razorpay aperti dello stesso carrello: uno già pagato, per esempio perché il cliente ha chiuso il browser e non c'è un webhook, viene applicato invece di chiedere un secondo pagamento, e gli altri non vengono più proposti. Se il cliente paga di nuovo lo stesso ordine, il suo ordine Razorpay viene riutilizzato quando importo, valuta e modalità non sono cambiati; altrimenti ne viene creato uno nuovo. Se il carrello è già pagato da un altro ordine, il cliente va direttamente alla pagina di successo.

Messaggi che il cliente può vedere:

Payment was cancelled. Please click "Pay Now" to try again.
Payment could not be completed. Please try again.
Your session has expired. Please click "Pay Now" to try again.
We could not verify your payment. Il messaggio aggiunge che l'ordine verrà aggiornato automaticamente non appena Razorpay confermerà il pagamento, se l'importo è stato addebitato.
This payment method is not available right now. Please choose another payment method. Le chiavi mancano o sono errate.
Razorpay is temporarily unavailable. Please try again in a few minutes.
Razorpay could not accept this payment: seguito dal motivo indicato da Razorpay.
The order amount is too small to be paid with Razorpay.
Razorpay Checkout could not be loaded. Lo script del popup è bloccato; il messaggio chiede di controllare la connessione, disattivare i blocchi dei contenuti e ricaricare la pagina.

Su OpenCart 4, se l'ordine del checkout è stato chiuso dal negozio o è già pagato per un carrello diverso (per esempio perché il carrello è cambiato, anche con una nuova quantità), il cliente torna al checkout con il messaggio Your previous order is already closed or paid. Please confirm the order again: the cart will be paid with a new order., e il successivo Confirm Order paga un nuovo ordine. Su OpenCart 4 i messaggi che riportano al checkout, come questo, Payment session not found. Please try again. e We could not verify your payment., vengono mostrati sopra la pagina del checkout.

Il webhook funziona anche quando il negozio è in modalità manutenzione: OpenCart 3 lascia passare le richieste delle estensioni di pagamento, mentre su OpenCart 4 l'estensione aggiunge un'azione di avvio per il webhook e per il risultato del popup.

L'estensione gestisce solo pagamenti una tantum. Non prevede abbonamenti o pagamenti ricorrenti, carte salvate, Razorpay Magic Checkout, Payment Links o Route (pagamenti suddivisi), né widget di offerte o di rateizzazione.

Ordini e rimborsi

Stati dell'ordine

Nessuno stato (ordine mancante): il cliente non ha pagato, il tentativo di pagamento non è riuscito o Razorpay non ha ancora confermato il pagamento. 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 acquisito e confermato. Una nota mostra l'ID del pagamento Razorpay (pay_...), l'importo e come è stato confermato (callback, webhook, sincronizzazione o amministratore).

Authorized Status (predefinito In attesa): il pagamento è stato solo autorizzato (Authorize Only). Acquisiscilo per completare l'ordine.

On Hold (Review) Status (predefinito In attesa): impostato in questi casi, ciascuno con una nota: l'importo o la valuta pagati non corrispondevano all'ordine, il pagamento è stato acquisito per un ordine annullato, oppure il pagamento non è stato verificabile tramite l'API di Razorpay in quel momento. Controlla l'ordine e poi evadilo o rimborsa il pagamento.

Cancelled Status: un pagamento che arriva più tardi per un ordine annullato non lo riapre automaticamente: un pagamento autorizzato non viene acquisito e riceve solo una nota, mentre un pagamento acquisito mette l'ordine in revisione. Una notifica ripetuta del pagamento che ha già saldato l'ordine non cambia nulla, anche se nel frattempo hai annullato l'ordine.

Refunded Status (predefinito Rimborsato): il pagamento è stato rimborsato per intero.

Se arriva un pagamento aggiuntivo per un ordine già pagato, l'ordine non viene modificato. Una nota ti chiede di rimborsarlo nel Razorpay Dashboard se non era previsto. Un pagamento tardivo per un ordine precedente di un carrello già pagato lascia quell'ordine precedente senza stato, e l'ordine pagato riceve la nota. Un payment.failed tardivo per un ordine pagato aggiunge soltanto una nota.

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

Scheda VibeFox Razorpay Payment

In Sales > Orders apri un ordine pagato con Razorpay. In fondo alla pagina dell'ordine, accanto a History e Additional, la scheda VibeFox Razorpay Payment mostra il Payment ID con l'etichetta Test mode per i pagamenti di prova, il Razorpay order, lo Status del pagamento, Paid / refunded (l'importo addebitato da Razorpay e quello rimborsato), il pulsante di acquisizione, il modulo di rimborso, lo storico dei rimborsi e le Razorpay notes dell'ordine. La scheda è mostrata agli utenti che hanno accesso all'estensione. Acquisizione e rimborsi richiedono il permesso di modificare l'estensione (impostato in System > Users > User Groups).

Acquisizione (Authorize Only)

Apri l'ordine nello stato Authorized Status, clicca su Capture Razorpay payment nella scheda e conferma Capture the authorized Razorpay payment? Il pagamento viene acquisito nella modalità in cui era stato autorizzato, e l'ordine passa a Order Status After Payment, senza notificare il cliente e senza modificare il magazzino, come per un cambio di stato manuale. Se Razorpay rifiuta, la scheda e le note mostrano Razorpay capture failed: con il motivo. Un'acquisizione effettuata nel Razorpay Dashboard completa l'ordine tramite il webhook.

Rimborsi

Nella scheda inserisci l'Amount (viene precompilato l'importo non ancora rimborsato), facoltativamente un Reason (optional), e clicca su Refund via Razorpay. Conferma la domanda Refund this amount through Razorpay? This cannot be undone. Sono supportati rimborsi totali e parziali. I rimborsi vengono eseguiti nell'importo e nella valuta addebitati da Razorpay, quindi dopo una differenza di importo puoi rimborsare fino a quanto il cliente ha realmente pagato, non fino al totale dell'ordine. Un importo più alto mostra Invalid refund amount: at most seguito dall'importo. Il rimborso viene inviato con le chiavi della modalità in cui è stato effettuato il pagamento. Se Razorpay non accetta il rimborso, la scheda mostra Razorpay refund failed: con il motivo, e nessun rimborso viene registrato. Un rimborso riuscito viene aggiunto allo storico dei rimborsi e alle note, con l'ID del rimborso Razorpay, l'importo e lo stato. Un rimborso totale imposta l'ordine sullo Refunded Status senza notificare il cliente e senza restituire i prodotti al magazzino. Un rimborso parziale non cambia lo stato. I rimborsi sono disponibili una volta acquisito il pagamento.

Le restituzioni di prodotti in Sales > Returns non rimborsano denaro tramite Razorpay.

I rimborsi effettuati nel Razorpay Dashboard arrivano tramite il webhook e vengono registrati una sola volta nello storico dei rimborsi (contrassegnati come Razorpay Dashboard) e nelle note. Quando l'ordine è rimborsato per intero, il suo stato diventa Refunded Status. Un rimborso dal Dashboard in un'altra valuta o superiore all'importo rimborsabile non viene registrato automaticamente; una nota ti chiede di registrarlo manualmente.

Chiave di licenza

L'estensione funziona con una chiave di licenza VibeFox ottenuta su vibefox.net. Il blocco della licenza License — VibeFox Razorpay Payment è il primo blocco di Extensions > Extensions > Payments > VibeFox Razorpay 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 controllare 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-razorpay 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 indica il motivo, per esempio Key not found, This key belongs to another product, Domain limit reached oppure License expired on seguito da una data. Dopo aver cambiato l'indirizzo del negozio, o 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 solo dominio: l'indirizzo del negozio della configurazione di OpenCart. Rimuovere la chiave dal negozio non libera il suo slot di dominio. Liberalo nel tuo account vibefox.net.

Senza una chiave attiva, Razorpay 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 che ha effettuato l'accesso 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 all'amministrazione, quindi senza una chiave attiva il metodo di pagamento è nascosto a tutti. Dopo aver aperto una volta la pagina Edit, compare un promemoria sulla Dashboard dell'amministrazione. Chiudilo con × per nasconderlo per 7 giorni. Gli ordini esistenti non sono interessati: i pagamenti già avviati vengono comunque confermati, e acquisizioni e rimborsi funzionano.

Quando una licenza scade, l'estensione continua a funzionare, ma aggiornamenti e supporto richiedono un rinnovo. Lo stato viene controllato di nuovo automaticamente quando apri la Dashboard o la pagina Edit dell'amministrazione: una volta al giorno per i primi 14 giorni dopo l'inserimento della chiave, poi una volta a settimana. Non serve alcun cron job. La disinstallazione dell'estensione rimuove sempre la chiave di licenza e lo stato della licenza.

Risoluzione dei problemi

Razorpay non compare al checkout: verifica che la licenza sia attiva, che Enable/Disable sia attivo e che la modalità corrente abbia entrambe le chiavi: Test Key ID e Test Key Secret in modalità test, Live Key ID e Live Key Secret in modalità live. La pagina delle impostazioni mostra un avviso quando mancano. 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 funziona. Nel Razorpay Dashboard verifica che il webhook esista nella modalità che usi (Test o Live), che il suo URL sia esattamente quello mostrato in Webhook URL e che siano selezionati i cinque eventi. Controlla che Webhook Secret sia lo stesso segreto presente in Razorpay. L'ordine riceve comunque il suo stato quando il cliente torna dal popup o avvia di nuovo il pagamento dello stesso carrello.

Il webhook risponde Webhook secret not configured: Webhook Secret è vuoto. Inserisci il segreto del webhook Razorpay. Razorpay invierà di nuovo l'evento più tardi.

Il webhook risponde Invalid signature o Missing signature: il segreto nelle impostazioni è diverso da quello del webhook Razorpay. Inserisci lo stesso segreto in entrambi i punti, per il webhook di test e per quello live.

Il webhook risponde Retry later: l'estensione non è riuscita a confermare un'acquisizione con l'API di Razorpay, non è stato possibile impostare lo stato dell'ordine, oppure il carrello veniva aggiornato in quello stesso momento da un'altra richiesta. Razorpay invia di nuovo l'evento automaticamente. Il motivo è nel Log.

L'URL del webhook mostra Method not allowed nel browser: è normale. L'URL accetta solo richieste da Razorpay.

Un ordine è nello stato di revisione: leggi le note nella scheda VibeFox Razorpay Payment. L'importo o la valuta non corrispondevano all'ordine, il pagamento è arrivato per un ordine annullato, oppure non è stato verificabile tramite l'API di Razorpay in quel momento e attende il webhook.

Il cliente vede un errore durante il pagamento: controlla il campo Log nella pagina dell'estensione. Gli errori vengono registrati anche con Enable Logging disattivato. Chiavi errate producono il messaggio che il metodo di pagamento non è disponibile in questo momento. Gli altri motivi di Razorpay vengono mostrati dopo Razorpay could not accept this payment:.

Il popup non si apre: lo script di Razorpay Checkout è stato bloccato da un blocco dei contenuti o dalla connessione. Il cliente vede un messaggio e può ricaricare la pagina.

Nella scheda non c'è il modulo di acquisizione o di rimborso: la scheda indica il motivo: il pagamento non è ancora acquisito, è rimborsato per intero, il tuo gruppo utenti non ha il permesso di modificare l'estensione, oppure non sono impostate le chiavi della modalità in cui è stato effettuato il pagamento (The payment was made in Test mode, but the Test Key ID / Key Secret are not configured. o lo stesso per la modalità live). Inserisci le chiavi di quella modalità e riprova.

Disinstallazione

Vai su Extensions > Extensions, scegli il tipo Payments e clicca su Uninstall (il pulsante rosso −) accanto a VibeFox Razorpay 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. Su OpenCart 4 vengono rimossi anche gli eventi dell'estensione e la sua azione di avvio, che fa passare il webhook in modalità manutenzione. Se Delete Data on Uninstall è attivo, vengono rimosse le altre impostazioni del gateway (titolo, descrizione, modalità test, chiavi, azione di pagamento, segreto del webhook, registrazione) e il registro. Se è disattivo, vengono conservate per una reinstallazione successiva. Le transazioni e i rimborsi Razorpay restano sempre, quindi gli ordini pagati in precedenza possono essere acquisiti e rimborsati anche dopo una reinstallazione. Gli ordini esistenti conservano le proprie 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 Razorpay Payment nell'elenco delle estensioni installate, poi su Delete (il pulsante rosso con il cestino) per rimuovere il pacchetto caricato.

Razorpay è un marchio del suo rispettivo proprietario. Questa estensione non è affiliata a Razorpay né approvata da Razorpay.