Guida al gateway di pagamento
Integrazione API Razorpay per siti di prenotazione viaggi
Razorpay è un gateway di pagamento indiano che accetta carte, UPI, netbanking e wallet in rupie. Questa guida spiega come funziona un pagamento Razorpay per la prenotazione di un volo, un hotel o un tour e qual è la situazione reale in PHPTRAVELS: Razorpay oggi non è un connettore già pronto, ma può essere aggiunto come integrazione personalizzata sul codice sorgente di cui siete proprietari.
- Carte, UPI, netbanking, wallet
- Ordine, Checkout, cattura
- Verifica di firma e webhook
- Rimborsi totali e parziali
Razorpay in sintesi
Cos'è Razorpay e dove si colloca in PHPTRAVELS
Razorpay è un gateway di pagamento indiano. Un'azienda di viaggi che vende a clienti in India lo usa per accettare al checkout i metodi che questi clienti si aspettano: carte di debito e credito, UPI, netbanking e i wallet più diffusi, tutto addebitato e accreditato in rupie sul conto Razorpay dell'esercente.
PHPTRAVELS è una piattaforma di prenotazione viaggi self-hosted con il codice sorgente completo incluso. I gateway di pagamento già pronti provengono da un elenco in tempo reale che attivate con le vostre credenziali di esercente. Razorpay oggi non è in quell'elenco, quindi nell'amministrazione non c'è ancora un interruttore per attivarlo.
Questo non significa che non possiate usarlo. Poiché il codice è vostro, Razorpay può essere aggiunto come Integrazione API personalizzata, e per l'India è già disponibile un gateway pronto: Cashfree. La pagina Integrazione gateway di pagamento elenca tutti i gateway che potete attivare subito.

Scheda tecnica di Razorpay
- Che cos'è
- Un gateway di pagamento per aziende in India
- Metodi di pagamento
- Carte, UPI, netbanking e wallet
- Valuta
- Addebita e accredita in INR; gli importi vengono inviati in paise
- Chiavi API
- Key ID e Key Secret, distinte per modalità di test e modalità live
- Stato in PHPTRAVELS
- Non è un connettore pronto. Disponibile come integrazione personalizzata sul codice sorgente incluso
- Pronto oggi in India
- Cashfree, attivato nell'amministrazione con il vostro account Cashfree
Flusso di pagamento
Un pagamento Razorpay per una prenotazione di viaggio, passo dopo passo
Un'integrazione Razorpay divide il lavoro tra il browser del viaggiatore e il vostro server. Il browser mostra il Checkout; il server crea l'ordine, verifica l'esito e decide quando la prenotazione è confermata.
- 01
Il vostro server
Creare un ordine
Quando il viaggiatore preme Paga, il vostro server chiama l'Orders API con l'importo in paise, la valuta e un receipt uguale al riferimento della prenotazione. Razorpay restituisce un order_id.
- 02
Browser
Aprire Razorpay Checkout
La pagina di prenotazione apre il Checkout con la vostra Key ID e quell'order_id, così il viaggiatore paga esattamente l'importo fissato dal vostro server.
- 03
Browser
Il viaggiatore paga
Il viaggiatore sceglie carta, UPI, netbanking o wallet e completa l'eventuale passaggio richiesto dalla banca. Il pagamento è ora autorizzato.
- 04
Browser
Il Checkout restituisce tre valori
In caso di successo il Checkout restituisce razorpay_payment_id, razorpay_order_id e razorpay_signature, e la pagina li invia al vostro server.
- 05
Il vostro server
Verificare la firma
Il vostro server ricalcola la firma da order_id e payment_id con la Key Secret. Solo una firma corrispondente è considerata un pagamento reale.
- 06
Il vostro server
Catturare il pagamento
Con la cattura automatica Razorpay cattura per voi. Con la cattura manuale è il vostro server a catturare dopo la conferma della compagnia aerea, dell'hotel o del fornitore del tour, così nessuno paga una prenotazione fallita.
- 07
Il vostro server
Confermare la prenotazione
La prenotazione passa a pagata, biglietto o voucher vengono emessi e il payment_id di Razorpay è salvato insieme al riferimento della prenotazione.
- 08
Il vostro serverDa server a server
Ricevere il webhook
Razorpay invia anche eventi come payment.captured all'URL del vostro webhook. Così è coperto il viaggiatore che chiude la scheda prima che la pagina possa riferire l'esito.
Firme e webhook
Due controlli che rendono affidabile un'integrazione Razorpay
Tutto ciò che arriva dal browser o via internet può essere falsificato. Un'integrazione Razorpay considera attendibile un pagamento solo dopo aver verificato una firma creata con un segreto che non lascia mai il vostro server.
1// 1. After Checkout: verify the payment signature 2$orderId = $booking["razorpay_order_id"]; // from your own record 3$paymentId = $_POST["razorpay_payment_id"]; 4$signature = $_POST["razorpay_signature"]; 5$expected = hash_hmac("sha256", $orderId . "|" . $paymentId, $keySecret); 6if (!hash_equals($expected, $signature)) { rejectPayment(); } 7markPaid($booking["ref"], $paymentId); 8 9// 2. Webhook: verify X-Razorpay-Signature over the raw body10$body = file_get_contents("php://input");11$header = $_SERVER["HTTP_X_RAZORPAY_SIGNATURE"] ?? "";12$expect = hash_hmac("sha256", $body, $webhookSecret);13if (!hash_equals($expect, $header)) { http_response_code(400); exit; }14$event = json_decode($body, true);15if (alreadyHandled($event)) exit; // repeat delivery16switch ($event["event"]) {17 case "payment.captured": confirmBooking($event); break;18 case "refund.processed": markRefunded($event); break;19}
Pseudocodice illustrativo per mostrare la logica, non un file pronto all'uso. Per le chiamate esatte seguite la documentazione e gli SDK di Razorpay.
Firma del pagamento
L'HMAC SHA256 di order_id, una barra verticale e payment_id, con la vostra Key Secret come chiave, deve coincidere con razorpay_signature. Confrontate con una funzione a tempo costante.
Firma del webhook
Ogni webhook porta l'header X-Razorpay-Signature: un HMAC SHA256 del corpo grezzo della richiesta, con chiave il segreto del webhook impostato nella dashboard Razorpay.
Consegne ripetute
I webhook possono arrivare più volte o fuori ordine. Registrate gli ID di evento e pagamento e ignorate un evento già applicato alla prenotazione.
I segreti restano sul server
Al browser va solo la Key ID. La Key Secret e il segreto del webhook stanno nella configurazione del server, mai nel sorgente della pagina né in un'app mobile.
Rimborsi e cancellazioni
I rimborsi nei viaggi raramente coprono l'intero importo
Penali di cancellazione, regole sul no-show e itinerari cancellati in parte fanno sì che il rimborso di un viaggio sia spesso parziale. Il Refunds API di Razorpay gestisce entrambi i casi, e l'integrazione decide l'importo in base alle vostre regole di prenotazione.
Rimborso totale
Una cancellazione gratuita restituisce l'intero importo catturato al metodo con cui il viaggiatore ha pagato.
Rimborso parziale
Dopo una penale di cancellazione, il server rimborsa solo il saldo. L'importo è inviato in paise, come l'ordine originale.
Parte di un itinerario
Annullate una notte d'hotel o un passeggero e rimborsate quella parte; altri rimborsi parziali possono seguire fino al totale catturato.
refund.processed
Il webhook di rimborso avvisa il vostro server quando il rimborso è concluso, così la prenotazione e il viaggiatore vedono lo stato corretto.
Salvato con la prenotazione
Ogni ID di rimborso viene conservato con il riferimento della prenotazione e il payment_id originale per il vostro ufficio contabile.
Esempio: cancellazione con penale
- Catturato
- ₹12,500.00 amount: 1250000
- Penale di cancellazione
- ₹1,500.00 amount: 150000
- Importo rimborsato
- ₹11,000.00 amount: 1100000
Cifre solo a titolo di esempio. Razorpay accetta importi nella più piccola unità della valuta, quindi 100 paise sono una rupia.
Come collegare Razorpay
Tre modi per incassare con Razorpay o senza
Scegliete il percorso adatto al vostro team e alla data di lancio. In tutti e tre i casi il denaro resta sul vostro conto esercente; PHPTRAVELS non entra mai nel regolamento.
Opzione 1
Lo aggiungono i vostri sviluppatori
PHPTRAVELS include il codice sorgente completo, quindi i vostri sviluppatori possono aggiungere Razorpay come nuovo gateway accanto a quelli esistenti: creazione dell'ordine, Checkout nel passaggio di pagamento, verifica della firma, cattura, webhook e rimborsi.
- Sviluppo e test con chiavi in modalità test di Razorpay
- Riutilizzo del riferimento della prenotazione come receipt dell'ordine
- Passaggio alle chiavi live quando le prenotazioni di prova riescono
Opzione 2
Lo realizza PHPTRAVELS
I nostri sviluppatori possono creare per voi il connettore Razorpay come Integrazione API personalizzata. Inviate i requisiti, ricevete costo e tempi prima dell'inizio dei lavori e, alla fine, il codice sorgente testato.
- Preventivo prima dell'inizio dei lavori
- Sviluppato sulla modalità test di Razorpay
- Consegnato come codice sorgente di vostra proprietà
Opzione 3
Usare subito un gateway pronto
Se dovete prima andare online, attivate un gateway già presente nella piattaforma. Per l'India è Cashfree. I gateway già pronti oggi includono:
- CashfreeGuida alla configurazione di Cashfree
- Stripe
- PayPal
- xMoney
- Fawaterk
- Paystack
Gateway pronti
Gateway di pagamento che potete attivare oggi
Questo elenco proviene in tempo reale dalla directory dei gateway di PHPTRAVELS. Ognuno si attiva nell'amministrazione con il vostro account e le vostre chiavi.
Cashfree
StripeGuida all'integrazionePayPalGuida all'integrazione
xMoney
Fawaterk
Paystack
Flutterwave
Adyen
MyFatoorah
SSLcommerz
Razorpay- Tutte le integrazioni
Volete capire le chiamate dietro ciascuno? Leggete la guida API gateway di pagamento, confrontate le guide Pagamenti Stripe e Pagamenti PayPal, oppure scoprite come pagano gli agenti da un Wallet B2B per agenti nel portale B2B.
Non come connettore già pronto. Razorpay oggi non è nell'elenco dei gateway di PHPTRAVELS, quindi non potete attivarlo nell'amministrazione. Poiché il codice sorgente completo è incluso, può essere aggiunto come integrazione personalizzata di gateway di pagamento, dai vostri sviluppatori o dai nostri.
Cashfree è un gateway pronto in PHPTRAVELS e ha una guida alla configurazione su docs.phptravels.com/payments/cashfree. Lo attivate nell'amministrazione con il vostro account Cashfree. Altri gateway pronti, come Stripe e PayPal, sono elencati nella pagina dei gateway di pagamento.
Razorpay accetta carte, UPI, netbanking e wallet per pagamenti in rupie indiane. I metodi che compaiono al checkout dipendono da quanto è attivato sul vostro account Razorpay.
Razorpay accetta importi nella più piccola unità della valuta, quindi il totale della prenotazione in rupie viene moltiplicato per 100 prima di creare l'ordine. Anche l'importo di un rimborso si invia così.
Il Checkout restituisce un ID di pagamento, l'ID dell'ordine e una firma. Il vostro server calcola un HMAC SHA256 dell'ID dell'ordine e dell'ID del pagamento con la Key Secret e accetta il pagamento solo se il risultato coincide con la firma.
La cattura automatica è più semplice. La cattura manuale permette di catturare solo dopo la conferma della compagnia aerea, dell'hotel o del fornitore del tour, così una prenotazione fallita può essere rilasciata invece di essere rimborsata. La scelta dipende dai vostri prodotti e fornitori.
Sì. Il Refunds API di Razorpay supporta rimborsi totali e parziali, quindi si può trattenere una penale di cancellazione e restituire il saldo. Il webhook refund.processed avvisa il vostro server quando il rimborso è completato.
Sì. L'account esercente, la sua Key ID e Key Secret e il suo regolamento sono vostri. PHPTRAVELS non fornisce mai credenziali del gateway e non gestisce mai i vostri fondi. Sviluppate con chiavi in modalità test e passate alle chiavi live quando andate online.
Dipende dall'ambito richiesto, ad esempio checkout, cattura manuale, rimborsi e pagamenti degli agenti. PHPTRAVELS fa un preventivo del lavoro personalizzato prima di iniziare. La piattaforma stessa è una licenza una tantum a partire.
Continua a esplorare
Altro sulla piattaforma
- Integrazione gateway di pagamentoCheckout, 3D Secure, rimborsi e webhook
- API gateway di pagamentoCome funzionano via API pagamenti con carta, 3-D Secure, catture e rimborsi
- Integrazione API personalizzataCollega qualsiasi API fornitore o partner a PHPTRAVELS
- Pagamenti StripePagamento con carta e wallet, rimborsi e accrediti
- Pagamenti PayPalPagamento PayPal per voli, hotel e tour
- Wallet B2B per agentiDepositi, fidi e un registro contabile per ogni agente
