लाइव डेमो

पेमेंट गेटवे गाइड

ट्रैवल बुकिंग वेबसाइटों के लिए Razorpay API इंटीग्रेशन

Razorpay भारत के लिए एक पेमेंट गेटवे है, जो रुपये में कार्ड, UPI, नेटबैंकिंग और वॉलेट स्वीकार करता है। यह गाइड बताती है कि फ्लाइट, होटल या टूर बुकिंग में Razorpay पेमेंट कैसे काम करता है, और PHPTRAVELS में इसकी असली स्थिति क्या है: Razorpay आज तैयार कनेक्टर नहीं है, लेकिन इसे आपके स्वामित्व वाले सोर्स कोड पर कस्टम इंटीग्रेशन के रूप में जोड़ा जा सकता है।

  • कार्ड, UPI, नेटबैंकिंग, वॉलेट
  • ऑर्डर, Checkout, कैप्चर
  • सिग्नेचर और वेबहुक जाँच
  • पूर्ण और आंशिक रिफंड

एक नज़र में Razorpay

Razorpay क्या है, और PHPTRAVELS में इसकी स्थिति क्या है

Razorpay एक भारतीय पेमेंट गेटवे है। भारतीय ग्राहकों को बेचने वाला ट्रैवल व्यवसाय इसका उपयोग वे पेमेंट तरीके देने के लिए करता है जिनकी वे चेकआउट पर अपेक्षा करते हैं: डेबिट और क्रेडिट कार्ड, UPI, नेटबैंकिंग और लोकप्रिय वॉलेट, जिनकी वसूली और सेटलमेंट व्यापारी के अपने Razorpay खाते में भारतीय रुपये में होता है।

PHPTRAVELS एक सेल्फ-होस्टेड ट्रैवल बुकिंग प्लेटफ़ॉर्म है, जिसमें पूरा सोर्स कोड शामिल है। इसके तैयार पेमेंट गेटवे एक लाइव सूची से आते हैं, जिन्हें आप अपने मर्चेंट क्रेडेंशियल से चालू करते हैं। Razorpay आज उस सूची में नहीं है, इसलिए एडमिन में अभी इसके लिए कोई स्विच नहीं है।

इसका मतलब यह नहीं कि आप इसे इस्तेमाल नहीं कर सकते। कोड आपका है, इसलिए Razorpay को कस्टम API इंटीग्रेशन के रूप में जोड़ा जा सकता है, और भारत के लिए एक तैयार गेटवे पहले से मौजूद है: Cashfree। पेमेंट गेटवे इंटीग्रेशन पेज उन सभी गेटवे की सूची देता है जिन्हें आप अभी चालू कर सकते हैं।

ऑनलाइन ट्रैवल पेमेंट का चित्र: बुकिंग चेकआउट कार्ड पेमेंट को पेमेंट गेटवे तक पहुँचाता है और नतीजा बुकिंग सिस्टम में लौटता है

Razorpay फ़ैक्ट शीट

यह क्या है
भारत में व्यवसायों के लिए एक पेमेंट गेटवे
पेमेंट तरीके
कार्ड, UPI, नेटबैंकिंग और वॉलेट
मुद्रा
INR में वसूली और सेटलमेंट; राशि पैसे में भेजी जाती है
API कीज़
Key ID और Key Secret, टेस्ट मोड और लाइव मोड के लिए अलग
PHPTRAVELS में स्थिति
तैयार कनेक्टर नहीं। साथ दिए सोर्स कोड पर कस्टम इंटीग्रेशन के रूप में उपलब्ध
भारत में आज तैयार
Cashfree, एडमिन में आपके अपने Cashfree खाते से चालू होता है
Cashfree सेटअप गाइड

पेमेंट प्रवाह

ट्रैवल बुकिंग के लिए एक Razorpay पेमेंट, कदम दर कदम

Razorpay इंटीग्रेशन काम को यात्री के ब्राउज़र और आपके सर्वर के बीच बाँटता है। ब्राउज़र Checkout दिखाता है; सर्वर ऑर्डर बनाता है, नतीजा जाँचता है और तय करता है कि बुकिंग कब कन्फ़र्म होगी।

  1. 01

    आपका सर्वर

    ऑर्डर बनाएँ

    यात्री के पे दबाते ही आपका सर्वर Orders API को पैसे में राशि, मुद्रा और बुकिंग रेफ़रेंस वाले receipt के साथ कॉल करता है। Razorpay एक order_id लौटाता है।

  2. 02

    ब्राउज़र

    Razorpay Checkout खोलें

    बुकिंग पेज आपकी Key ID और उसी order_id के साथ Checkout खोलता है, ताकि यात्री ठीक वही राशि दे जो आपके सर्वर ने तय की है।

  3. 03

    ब्राउज़र

    यात्री भुगतान करता है

    यात्री कार्ड, UPI, नेटबैंकिंग या वॉलेट चुनता है और बैंक जो भी चरण माँगे उसे पूरा करता है। पेमेंट अब अधिकृत हो चुका है।

  4. 04

    ब्राउज़र

    Checkout तीन मान लौटाता है

    सफल होने पर Checkout razorpay_payment_id, razorpay_order_id और razorpay_signature लौटाता है, और पेज उन्हें आपके सर्वर को भेज देता है।

  5. 05

    आपका सर्वर

    सिग्नेचर जाँचें

    आपका सर्वर Key Secret से order_id और payment_id के आधार पर सिग्नेचर दोबारा निकालता है। केवल मेल खाता सिग्नेचर ही असली पेमेंट माना जाता है।

  6. 06

    आपका सर्वर

    पेमेंट कैप्चर करें

    स्वचालित कैप्चर में Razorpay खुद कैप्चर करता है। मैनुअल कैप्चर में एयरलाइन, होटल या टूर सप्लायर की पुष्टि के बाद ही आपका सर्वर कैप्चर करता है, ताकि फ़ेल हुई बुकिंग के लिए किसी से पैसे न कटें।

  7. 07

    आपका सर्वर

    बुकिंग कन्फ़र्म करें

    बुकिंग भुगतान-पूर्ण हो जाती है, टिकट या वाउचर जारी होता है और Razorpay की payment_id बुकिंग रेफ़रेंस के साथ सहेजी जाती है।

  8. 08

    आपका सर्वरसर्वर से सर्वर

    वेबहुक प्राप्त करें

    Razorpay आपके वेबहुक URL पर payment.captured जैसे इवेंट भी भेजता है। यह उस यात्री को सँभालता है जो पेज के रिपोर्ट करने से पहले टैब बंद कर देता है।

सिग्नेचर और वेबहुक

दो जाँचें जो Razorpay इंटीग्रेशन को भरोसेमंद रखती हैं

ब्राउज़र या इंटरनेट से आने वाली हर चीज़ नकली हो सकती है। Razorpay इंटीग्रेशन किसी पेमेंट पर तभी भरोसा करता है जब वह ऐसे सीक्रेट से बने सिग्नेचर को जाँच ले जो आपके सर्वर से बाहर कभी नहीं जाता।

verify-razorpay.php · उदाहरण
 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}

तर्क दिखाने के लिए उदाहरण स्यूडो-कोड, सीधे लगाने वाली फ़ाइल नहीं। सटीक कॉल के लिए Razorpay के अपने दस्तावेज़ और SDK देखें।

  • पेमेंट सिग्नेचर

    order_id, एक पाइप और payment_id का HMAC SHA256, आपकी Key Secret को कुंजी बनाकर, razorpay_signature के बराबर होना चाहिए। तुलना कॉन्स्टेंट-टाइम फ़ंक्शन से करें।

  • वेबहुक सिग्नेचर

    हर वेबहुक में X-Razorpay-Signature हेडर होता है: रॉ रिक्वेस्ट बॉडी का HMAC SHA256, उस वेबहुक सीक्रेट को कुंजी बनाकर जो आप Razorpay डैशबोर्ड में सेट करते हैं।

  • बार-बार डिलीवरी

    वेबहुक एक से ज़्यादा बार या उल्टे क्रम में आ सकते हैं। इवेंट और पेमेंट आईडी सहेजें और जो इवेंट बुकिंग पर पहले लागू कर चुके हैं उसे अनदेखा करें।

  • सीक्रेट सर्वर साइड रहते हैं

    ब्राउज़र को केवल Key ID जाती है। Key Secret और वेबहुक सीक्रेट सर्वर कॉन्फ़िगरेशन में रहते हैं, पेज सोर्स या मोबाइल ऐप में कभी नहीं।

रिफंड और रद्दीकरण

ट्रैवल रिफंड शायद ही कभी पूरी राशि का होता है

रद्दीकरण शुल्क, नो-शो नियम और आंशिक रूप से रद्द हुए यात्रा-कार्यक्रम के कारण ट्रैवल रिफंड अक्सर आंशिक होता है। Razorpay की Refunds API दोनों को सँभालती है, और इंटीग्रेशन राशि आपके बुकिंग नियमों से तय करता है।

  • पूर्ण रिफंड

    निःशुल्क रद्दीकरण पर कैप्चर की गई पूरी राशि उसी तरीके से लौट जाती है जिससे यात्री ने भुगतान किया था।

  • आंशिक रिफंड

    रद्दीकरण शुल्क काटने के बाद सर्वर केवल शेष राशि रिफंड करता है। राशि मूल ऑर्डर की तरह पैसे में भेजी जाती है।

  • यात्रा-कार्यक्रम का एक हिस्सा

    होटल की एक रात या एक यात्री रद्द करें और वही हिस्सा रिफंड करें; कैप्चर की गई कुल राशि तक और आंशिक रिफंड हो सकते हैं।

  • refund.processed

    रिफंड वेबहुक आपके सर्वर को बताता है कि रिफंड कब पूरा हुआ, ताकि बुकिंग और यात्री को सही स्थिति दिखे।

  • बुकिंग के साथ सहेजा गया

    हर रिफंड आईडी बुकिंग रेफ़रेंस और मूल payment_id के साथ आपकी अकाउंट्स टीम के लिए रखी जाती है।

  • उदाहरण: शुल्क के साथ रद्दीकरण

    कैप्चर की गई
    ₹12,500.00 amount: 1250000
    रद्दीकरण शुल्क
    ₹1,500.00 amount: 150000
    रिफंड राशि
    ₹11,000.00 amount: 1100000

    केवल उदाहरण के आँकड़े। Razorpay राशि मुद्रा की सबसे छोटी इकाई में लेता है, इसलिए 100 पैसे एक रुपया है।

Razorpay कैसे जोड़ें

पेमेंट लेने के तीन तरीके, Razorpay के साथ या बिना

वह रास्ता चुनें जो आपकी टीम और लॉन्च की तारीख़ के अनुकूल हो। तीनों में पैसा आपके अपने मर्चेंट खाते में रहता है; PHPTRAVELS सेटलमेंट में कभी शामिल नहीं होता।

  1. विकल्प 1

    आपके डेवलपर जोड़ते हैं

    PHPTRAVELS पूरे सोर्स कोड के साथ आता है, इसलिए आपके अपने डेवलपर मौजूदा गेटवे के बगल में Razorpay को नए गेटवे के रूप में जोड़ सकते हैं: ऑर्डर बनाना, पेमेंट चरण पर Checkout, सिग्नेचर जाँच, कैप्चर, वेबहुक और रिफंड।

    • Razorpay टेस्ट मोड कीज़ से बनाएँ और जाँचें
    • बुकिंग रेफ़रेंस को ऑर्डर receipt के रूप में दोबारा इस्तेमाल करें
    • टेस्ट बुकिंग पास होने पर लाइव कीज़ पर जाएँ
  2. विकल्प 2

    PHPTRAVELS बनाता है

    हमारे डेवलपर आपके लिए Razorpay कनेक्टर कस्टम API इंटीग्रेशन के रूप में बना सकते हैं। आप ज़रूरतें भेजते हैं, काम शुरू होने से पहले लागत और समय-सीमा पाते हैं, और अंत में जाँचा हुआ सोर्स कोड मिलता है।

    • काम शुरू होने से पहले कोटेशन
    • Razorpay टेस्ट मोड पर बनाया गया
    • आपके स्वामित्व वाले सोर्स कोड के रूप में सौंपा गया
  3. विकल्प 3

    अभी तैयार गेटवे इस्तेमाल करें

    अगर पहले लॉन्च करना है, तो प्लेटफ़ॉर्म में पहले से मौजूद कोई गेटवे चालू करें। भारत के लिए वह Cashfree है। आज के तैयार गेटवे में शामिल हैं:

तैयार गेटवे

पेमेंट गेटवे जिन्हें आप आज चालू कर सकते हैं

यह सूची PHPTRAVELS गेटवे डायरेक्टरी से लाइव आती है। हर गेटवे एडमिन में आपके अपने खाते और कीज़ से चालू होता है।

इनमें से किसी के पीछे की कॉल समझना चाहते हैं? पेमेंट गेटवे API गाइड पढ़ें, Stripe भुगतान और PayPal भुगतान गाइड की तुलना करें, या देखें कि B2B पोर्टल पर एजेंट B2B एजेंट वॉलेट से भुगतान कैसे करते हैं।

Razorpay के सवाल

Razorpay और PHPTRAVELS, जवाबों के साथ

सेल्स से बात करें

तैयार कनेक्टर के रूप में नहीं। Razorpay आज PHPTRAVELS की गेटवे सूची में नहीं है, इसलिए आप इसे एडमिन में चालू नहीं कर सकते। पूरा सोर्स कोड शामिल होने से इसे कस्टम पेमेंट गेटवे इंटीग्रेशन के रूप में जोड़ा जा सकता है, आपके डेवलपर या हमारे डेवलपर द्वारा।

Cashfree PHPTRAVELS में तैयार गेटवे है और इसकी सेटअप गाइड docs.phptravels.com/payments/cashfree पर है। इसे आप एडमिन में अपने Cashfree खाते से चालू करते हैं। Stripe और PayPal जैसे अन्य तैयार गेटवे पेमेंट गेटवे पेज पर सूचीबद्ध हैं।

Razorpay भारतीय रुपये में भुगतान के लिए कार्ड, UPI, नेटबैंकिंग और वॉलेट स्वीकार करता है। चेकआउट पर कौन-से तरीके दिखेंगे, यह आपके अपने Razorpay खाते में चालू चीज़ों पर निर्भर है।

Razorpay राशि मुद्रा की सबसे छोटी इकाई में लेता है, इसलिए रुपये में बुकिंग का कुल योग ऑर्डर बनाने से पहले 100 से गुणा किया जाता है। रिफंड की राशि भी इसी तरह भेजी जाती है।

Checkout एक पेमेंट आईडी, ऑर्डर आईडी और एक सिग्नेचर लौटाता है। आपका सर्वर अपनी Key Secret से ऑर्डर आईडी और पेमेंट आईडी का HMAC SHA256 निकालता है और पेमेंट तभी स्वीकार करता है जब नतीजा सिग्नेचर से मेल खाए।

स्वचालित कैप्चर सरल है। मैनुअल कैप्चर में एयरलाइन, होटल या टूर सप्लायर की पुष्टि के बाद ही कैप्चर होता है, इसलिए फ़ेल हुई बुकिंग को रिफंड करने के बजाय रिलीज़ किया जा सकता है। चुनाव आपके उत्पादों और सप्लायर पर निर्भर है।

हाँ। Razorpay की Refunds API पूर्ण और आंशिक रिफंड दोनों सपोर्ट करती है, इसलिए रद्दीकरण शुल्क रखकर शेष राशि लौटाई जा सकती है। refund.processed वेबहुक आपके सर्वर को बताता है कि रिफंड पूरा हो गया।

हाँ। मर्चेंट खाता, उसकी Key ID और Key Secret और उसका सेटलमेंट आपका है। PHPTRAVELS कभी गेटवे क्रेडेंशियल नहीं देता और आपका पैसा कभी नहीं सँभालता। टेस्ट मोड कीज़ से बनाएँ और लाइव होते समय लाइव कीज़ पर जाएँ।

यह आपकी ज़रूरत के दायरे पर निर्भर है, जैसे चेकआउट, मैनुअल कैप्चर, रिफंड और एजेंट पेमेंट। PHPTRAVELS कस्टम काम शुरू होने से पहले कोटेशन देता है। प्लेटफ़ॉर्म खुद एक बार का लाइसेंस है, जो से शुरू होता है।