Panduan gateway pembayaran
Integrasi API Razorpay untuk tapak web tempahan perjalanan
Razorpay ialah gateway pembayaran India yang menerima kad, UPI, netbanking dan dompet digital dalam rupee. Panduan ini menerangkan cara pembayaran Razorpay berfungsi untuk tempahan penerbangan, hotel atau pakej lawatan, serta status sebenar dalam PHPTRAVELS: Razorpay bukan penyambung sedia ada hari ini, tetapi boleh ditambah sebagai integrasi tersuai pada kod sumber yang anda miliki.
- Kad, UPI, netbanking, dompet digital
- Pesanan, Checkout, capture
- Semakan tandatangan dan webhook
- Bayaran balik penuh dan separa
Razorpay sepintas lalu
Apa itu Razorpay dan kedudukannya dalam PHPTRAVELS
Razorpay ialah gateway pembayaran India. Perniagaan pelancongan yang menjual kepada pelanggan di India menggunakannya untuk menerima kaedah pembayaran yang dijangka pelanggan semasa checkout: kad debit dan kredit, UPI, netbanking dan dompet digital popular, semuanya dicaj dan diselesaikan dalam rupee ke akaun Razorpay milik peniaga sendiri.
PHPTRAVELS ialah platform tempahan perjalanan yang dihoskan sendiri dengan kod sumber penuh disertakan. Gateway pembayaran sedia adanya datang daripada senarai langsung yang anda aktifkan dengan kelayakan peniaga anda sendiri. Razorpay tiada dalam senarai itu hari ini, jadi belum ada suis untuknya dalam admin.
Itu tidak bermakna anda tidak boleh menggunakannya. Oleh sebab kod itu milik anda, Razorpay boleh ditambah sebagai Integrasi API tersuai, dan untuk India sudah ada gateway siap sedia: Cashfree. Halaman Integrasi gerbang pembayaran menyenaraikan setiap gateway yang boleh anda aktifkan sekarang.

Lembaran fakta Razorpay
- Apa itu
- Gateway pembayaran untuk perniagaan di India
- Kaedah pembayaran
- Kad, UPI, netbanking dan dompet digital
- Mata wang
- Mengecaj dan menyelesaikan dalam INR; jumlah dihantar dalam paise
- Kunci API
- Key ID dan Key Secret, berasingan untuk mod ujian dan mod langsung
- Status dalam PHPTRAVELS
- Bukan penyambung sedia ada. Boleh didapati sebagai integrasi tersuai pada kod sumber yang disertakan
- Sedia di India hari ini
- Cashfree, diaktifkan dalam admin dengan akaun Cashfree anda sendiri
Aliran pembayaran
Satu pembayaran Razorpay untuk tempahan perjalanan, langkah demi langkah
Integrasi Razorpay membahagikan kerja antara pelayar pelancong dan pelayan anda. Pelayar memaparkan Checkout; pelayan mencipta pesanan, menyemak keputusan dan memutuskan bila tempahan disahkan.
- 01
Pelayan anda
Cipta pesanan
Apabila pelancong menekan Bayar, pelayan anda memanggil Orders API dengan jumlah dalam paise, mata wang dan receipt yang ditetapkan kepada rujukan tempahan. Razorpay memulangkan order_id.
- 02
Pelayar
Buka Razorpay Checkout
Halaman tempahan membuka Checkout dengan Key ID anda dan order_id itu, supaya pelancong membayar tepat jumlah yang ditetapkan pelayan anda.
- 03
Pelayar
Pelancong membayar
Pelancong memilih kad, UPI, netbanking atau dompet digital dan melengkapkan sebarang langkah yang diminta banknya. Pembayaran kini diberi kebenaran.
- 04
Pelayar
Checkout memulangkan tiga nilai
Apabila berjaya, Checkout memulangkan razorpay_payment_id, razorpay_order_id dan razorpay_signature, dan halaman menghantarnya ke pelayan anda.
- 05
Pelayan anda
Sahkan tandatangan
Pelayan anda mengira semula tandatangan daripada order_id dan payment_id dengan Key Secret. Hanya tandatangan yang sepadan dianggap pembayaran sebenar.
- 06
Pelayan anda
Capture pembayaran
Dengan capture automatik, Razorpay membuat capture untuk anda. Dengan capture manual, pelayan anda membuat capture selepas syarikat penerbangan, hotel atau pembekal pakej lawatan mengesahkan, supaya tiada sesiapa dicaj untuk tempahan yang gagal.
- 07
Pelayan anda
Sahkan tempahan
Tempahan bertukar kepada dibayar, tiket atau baucar dikeluarkan dan payment_id Razorpay disimpan bersama rujukan tempahan.
- 08
Pelayan andaPelayan ke pelayan
Terima webhook
Razorpay juga menghantar peristiwa seperti payment.captured ke URL webhook anda. Ini meliputi pelancong yang menutup tab sebelum halaman sempat melapor.
Tandatangan dan webhook
Dua semakan yang memastikan integrasi Razorpay boleh dipercayai
Apa sahaja yang datang daripada pelayar atau internet boleh dipalsukan. Integrasi Razorpay hanya mempercayai pembayaran selepas menyemak tandatangan yang dibuat dengan rahsia yang tidak pernah meninggalkan pelayan anda.
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}
Pseudo-code ilustrasi untuk menunjukkan logik, bukan fail siap guna. Ikuti dokumentasi dan SDK Razorpay untuk panggilan yang tepat.
Tandatangan pembayaran
HMAC SHA256 bagi order_id, satu garis menegak dan payment_id, dengan Key Secret anda sebagai kunci, mesti sama dengan razorpay_signature. Bandingkan dengan fungsi masa tetap.
Tandatangan webhook
Setiap webhook membawa pengepala X-Razorpay-Signature: HMAC SHA256 bagi badan permintaan mentah, dengan kunci berupa rahsia webhook yang anda tetapkan dalam papan pemuka Razorpay.
Penghantaran berulang
Webhook boleh tiba lebih daripada sekali atau tidak mengikut urutan. Rekodkan ID peristiwa dan pembayaran, dan abaikan peristiwa yang telah dikenakan pada tempahan.
Rahsia kekal di sisi pelayan
Hanya Key ID dihantar ke pelayar. Key Secret dan rahsia webhook berada dalam konfigurasi pelayan, tidak pernah dalam sumber halaman atau aplikasi mudah alih.
Bayaran balik dan pembatalan
Bayaran balik perjalanan jarang sebanyak jumlah penuh
Yuran pembatalan, peraturan tidak hadir dan jadual perjalanan yang dibatalkan sebahagian menjadikan bayaran balik perjalanan sering separa. Refunds API Razorpay mengendalikan kedua-duanya, dan integrasi menentukan jumlah berdasarkan peraturan tempahan anda.
Bayaran balik penuh
Pembatalan percuma memulangkan seluruh jumlah yang di-capture kepada kaedah yang digunakan pelancong untuk membayar.
Bayaran balik separa
Selepas yuran pembatalan, pelayan hanya memulangkan baki. Jumlah dihantar dalam paise, seperti pesanan asal.
Sebahagian daripada jadual perjalanan
Batalkan satu malam hotel atau seorang penumpang dan pulangkan bahagian itu; bayaran balik separa lagi boleh menyusul sehingga jumlah yang di-capture.
refund.processed
Webhook bayaran balik memberitahu pelayan anda apabila bayaran balik selesai, supaya tempahan dan pelancong melihat status yang betul.
Disimpan bersama tempahan
Setiap ID bayaran balik disimpan bersama rujukan tempahan dan payment_id asal untuk pasukan akaun anda.
Contoh: pembatalan dengan yuran
- Di-capture
- ₹12,500.00 amount: 1250000
- Yuran pembatalan
- ₹1,500.00 amount: 150000
- Jumlah bayaran balik
- ₹11,000.00 amount: 1100000
Angka sekadar contoh. Razorpay menerima jumlah dalam unit mata wang terkecil, jadi 100 paise ialah satu rupee.
Cara menyambung Razorpay
Tiga cara menerima pembayaran dengan atau tanpa Razorpay
Pilih laluan yang sesuai dengan pasukan dan tarikh pelancaran anda. Ketiga-tiganya mengekalkan wang dalam akaun peniaga anda sendiri; PHPTRAVELS tidak pernah terlibat dalam penyelesaian.
Pilihan 1
Pembangun anda menambahnya
PHPTRAVELS disertakan dengan kod sumber penuh, jadi pembangun anda sendiri boleh menambah Razorpay sebagai gateway baharu di sebelah yang sedia ada: penciptaan pesanan, Checkout pada langkah pembayaran, semakan tandatangan, capture, webhook dan bayaran balik.
- Bina dan uji dengan kunci mod ujian Razorpay
- Guna semula rujukan tempahan sebagai receipt pesanan
- Beralih ke kunci langsung selepas tempahan ujian lulus
Pilihan 2
PHPTRAVELS membinanya
Pembangun kami boleh membina penyambung Razorpay untuk anda sebagai Integrasi API tersuai. Anda menghantar keperluan, menerima kos dan garis masa sebelum kerja bermula, dan mendapat kod sumber yang telah diuji pada akhirnya.
- Disebut harga sebelum kerja bermula
- Dibina pada mod ujian Razorpay
- Diserahkan sebagai kod sumber milik anda
Pilihan 3
Guna gateway sedia ada sekarang
Jika anda perlu melancarkan dahulu, aktifkan gateway yang sudah ada dalam platform. Untuk India, itu Cashfree. Gateway sedia ada hari ini termasuk:
- CashfreePanduan persediaan Cashfree
- Stripe
- PayPal
- xMoney
- Fawaterk
- Paystack
Gateway sedia ada
Gateway pembayaran yang boleh anda aktifkan hari ini
Senarai ini datang secara langsung daripada direktori gateway PHPTRAVELS. Setiap satu diaktifkan dalam admin dengan akaun dan kunci anda sendiri.
Cashfree
StripePanduan integrasiPayPalPanduan integrasi
xMoney
Fawaterk
Paystack
Flutterwave
Adyen
MyFatoorah
SSLcommerz
Razorpay- Semua integrasi
Mahu memahami panggilan di sebalik mana-mana satu? Baca panduan API Gerbang Pembayaran, bandingkan panduan Pembayaran Stripe dan Pembayaran PayPal, atau lihat cara ejen membayar daripada Dompet ejen B2B di portal B2B.
Bukan sebagai penyambung sedia ada. Razorpay tiada dalam senarai gateway PHPTRAVELS hari ini, jadi anda tidak boleh mengaktifkannya dalam admin. Oleh sebab kod sumber penuh disertakan, ia boleh ditambah sebagai integrasi gateway pembayaran tersuai, oleh pembangun anda atau pembangun kami.
Cashfree ialah gateway sedia ada dalam PHPTRAVELS dan mempunyai panduan persediaan di docs.phptravels.com/payments/cashfree. Anda mengaktifkannya dalam admin dengan akaun Cashfree anda sendiri. Gateway sedia ada lain seperti Stripe dan PayPal disenaraikan di halaman gateway pembayaran.
Razorpay menerima kad, UPI, netbanking dan dompet digital untuk pembayaran dalam rupee India. Kaedah yang muncul semasa checkout bergantung pada apa yang diaktifkan pada akaun Razorpay anda sendiri.
Razorpay menerima jumlah dalam unit mata wang terkecil, jadi jumlah tempahan dalam rupee didarab 100 sebelum pesanan dicipta. Jumlah bayaran balik dihantar dengan cara yang sama.
Checkout memulangkan ID pembayaran, ID pesanan dan satu tandatangan. Pelayan anda mengira HMAC SHA256 bagi ID pesanan dan ID pembayaran dengan Key Secret anda dan hanya menerima pembayaran jika hasilnya sepadan dengan tandatangan.
Capture automatik lebih mudah. Capture manual membolehkan anda capture hanya selepas syarikat penerbangan, hotel atau pembekal pakej lawatan mengesahkan tempahan, jadi tempahan yang gagal boleh dilepaskan dan bukannya dibayar balik. Pilihan bergantung pada produk dan pembekal anda.
Boleh. Refunds API Razorpay menyokong bayaran balik penuh dan separa, jadi yuran pembatalan boleh ditahan dan bakinya dipulangkan. Webhook refund.processed memberitahu pelayan anda apabila bayaran balik selesai.
Ya. Akaun peniaga, Key ID dan Key Secret serta penyelesaiannya milik anda. PHPTRAVELS tidak pernah menyediakan kelayakan gateway dan tidak pernah mengendalikan dana anda. Bina dengan kunci mod ujian dan beralih ke kunci langsung apabila melancarkan.
Ia bergantung pada skop yang anda perlukan, seperti checkout, capture manual, bayaran balik dan pembayaran ejen. PHPTRAVELS memberi sebut harga untuk kerja tersuai sebelum bermula. Platform itu sendiri ialah lesen sekali bayar bermula dari.
Terokai lagi
Lagi tentang platform
- Integrasi gerbang pembayaranPembayaran, 3D Secure, bayaran balik dan webhook
- API Gerbang PembayaranCara pembayaran kad, 3-D Secure, capture dan bayaran balik berfungsi melalui API
- Integrasi API tersuaiSambungkan mana-mana API pembekal atau rakan ke PHPTRAVELS
- Pembayaran StripeBayaran kad dan e-dompet, bayaran balik dan pindahan
- Pembayaran PayPalPembayaran PayPal untuk penerbangan, hotel dan lawatan
- Dompet ejen B2BDeposit ejen, had kredit dan lejar bagi setiap ejen
