Demo langsung

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.

Ilustrasi pembayaran perjalanan dalam talian: checkout tempahan menghantar bayaran kad kepada gateway pembayaran dan kembali ke sistem tempahan

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
Panduan persediaan Cashfree

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.

  1. 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.

  2. 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.

  3. 03

    Pelayar

    Pelancong membayar

    Pelancong memilih kad, UPI, netbanking atau dompet digital dan melengkapkan sebarang langkah yang diminta banknya. Pembayaran kini diberi kebenaran.

  4. 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.

  5. 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.

  6. 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.

  7. 07

    Pelayan anda

    Sahkan tempahan

    Tempahan bertukar kepada dibayar, tiket atau baucar dikeluarkan dan payment_id Razorpay disimpan bersama rujukan tempahan.

  8. 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.

verify-razorpay.php · ilustrasi
 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.

  1. 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
  2. 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
  3. 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:

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.

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.

Soalan tentang Razorpay

Razorpay dan PHPTRAVELS, dijawab

Hubungi jualan

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.