Canlı demo

Ödeme geçidi rehberi

Seyahat rezervasyon siteleri için Razorpay API entegrasyonu

Razorpay, kart, UPI, internet bankacılığı ve cüzdan ödemelerini rupi cinsinden alan, Hindistan'a yönelik bir ödeme geçididir. Bu rehber, bir uçuş, otel veya tur rezervasyonunda Razorpay ödemesinin nasıl işlediğini ve PHPTRAVELS'taki gerçek durumu anlatır: Razorpay bugün hazır bir bağlayıcı değildir, ancak sahip olduğunuz kaynak koduna özel entegrasyon olarak eklenebilir.

  • Kart, UPI, internet bankacılığı, cüzdan
  • Sipariş, Checkout, tahsilat
  • İmza ve webhook doğrulaması
  • Tam ve kısmi iadeler

Bir bakışta Razorpay

Razorpay nedir ve PHPTRAVELS'ta nerede duruyor

Razorpay, Hindistan merkezli bir ödeme geçididir. Hintli müşterilere satış yapan bir seyahat işletmesi, ödeme sayfasında bu müşterilerin beklediği yöntemleri kabul etmek için onu kullanır: banka ve kredi kartları, UPI, internet bankacılığı ve yaygın cüzdanlar. Tahsilat ve mutabakat Hindistan rupisi cinsinden, işyerinin kendi Razorpay hesabına yapılır.

PHPTRAVELS, kaynak kodunun tamamının dahil olduğu, kendi sunucunuzda barındırdığınız bir seyahat rezervasyon platformudur. Hazır ödeme geçitleri, kendi işyeri bilgilerinizle açtığınız canlı bir listeden gelir. Razorpay bugün bu listede yok, dolayısıyla yönetim panelinde onun için henüz bir anahtar bulunmuyor.

Bu, onu kullanamayacağınız anlamına gelmez. Kod size ait olduğu için Razorpay bir Özel API entegrasyonu olarak eklenebilir; Hindistan için de hazır bir geçit zaten var: Cashfree. Şu anda açabileceğiniz tüm geçitler Ödeme ağ geçidi entegrasyonu sayfasında listelenir.

Çevrimiçi seyahat ödemesi çizimi: bir rezervasyon ödeme sayfası kartlı ödemeyi ödeme geçidine iletiyor ve sonuç rezervasyon sistemine dönüyor

Razorpay bilgi kartı

Nedir
Hindistan'daki işletmeler için bir ödeme geçidi
Ödeme yöntemleri
Kart, UPI, internet bankacılığı ve cüzdan
Para birimi
INR ile tahsil eder ve mutabakat yapar; tutarlar paise olarak gönderilir
API anahtarları
Key ID ve Key Secret; test modu ve canlı mod için ayrı
PHPTRAVELS durumu
Hazır bağlayıcı değil. Dahil gelen kaynak koduna özel entegrasyon olarak eklenebilir
Hindistan'da bugün hazır
Cashfree; kendi Cashfree hesabınızla yönetim panelinden açılır
Cashfree kurulum rehberi

Ödeme akışı

Bir seyahat rezervasyonu için tek bir Razorpay ödemesi, adım adım

Razorpay entegrasyonu işi yolcunun tarayıcısı ile sunucunuz arasında böler. Tarayıcı Checkout'u gösterir; sunucu siparişi oluşturur, sonucu doğrular ve rezervasyonun ne zaman onaylanacağına karar verir.

  1. 01

    Sunucunuz

    Sipariş oluşturma

    Yolcu Öde'ye bastığında sunucunuz Orders API'yi paise cinsinden tutar, para birimi ve rezervasyon numarasına ayarlanmış bir receipt ile çağırır. Razorpay bir order_id döndürür.

  2. 02

    Tarayıcı

    Razorpay Checkout'u açma

    Rezervasyon sayfası Checkout'u Key ID'niz ve bu order_id ile açar; böylece yolcu tam olarak sunucunuzun belirlediği tutarı öder.

  3. 03

    Tarayıcı

    Yolcu öder

    Yolcu kart, UPI, internet bankacılığı veya cüzdan seçer ve bankasının istediği adımları tamamlar. Ödeme artık yetkilendirilmiştir.

  4. 04

    Tarayıcı

    Checkout üç değer döndürür

    Başarılı olduğunda Checkout razorpay_payment_id, razorpay_order_id ve razorpay_signature değerlerini verir, sayfa da bunları sunucunuza gönderir.

  5. 05

    Sunucunuz

    İmzayı doğrulama

    Sunucunuz, order_id ve payment_id'den imzayı Key Secret ile yeniden hesaplar. Yalnızca eşleşen bir imza gerçek ödeme sayılır.

  6. 06

    Sunucunuz

    Ödemeyi tahsil etme

    Otomatik tahsilatta Razorpay sizin yerinize tahsil eder. Manuel tahsilatta ise havayolu, otel veya tur tedarikçisi onayladıktan sonra sunucunuz tahsil eder; böylece başarısız bir rezervasyon için kimseden ücret alınmaz.

  7. 07

    Sunucunuz

    Rezervasyonu onaylama

    Rezervasyon ödendi durumuna geçer, bilet veya voucher düzenlenir ve Razorpay payment_id'si rezervasyon numarasıyla birlikte saklanır.

  8. 08

    SunucunuzSunucudan sunucuya

    Webhook'u alma

    Razorpay, payment.captured gibi olayları webhook URL'nize de gönderir. Bu, sayfa sonucu bildiremeden sekmeyi kapatan yolcuyu da kapsar.

İmzalar ve webhook'lar

Razorpay entegrasyonunu dürüst tutan iki kontrol

Tarayıcıdan veya internetten gelen her şey sahte olabilir. Razorpay entegrasyonu bir ödemeye ancak sunucunuzdan hiç çıkmayan bir gizli anahtarla oluşturulmuş imzayı kontrol ettikten sonra güvenir.

verify-razorpay.php · örnek
 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}

Mantığı göstermek için örnek sözde koddur, doğrudan kullanılacak bir dosya değildir. Kesin çağrılar için Razorpay'in kendi belgelerini ve SDK'larını izleyin.

  • Ödeme imzası

    order_id, dikey çizgi ve payment_id'nin Key Secret ile alınan HMAC SHA256 değeri razorpay_signature'a eşit olmalıdır. Karşılaştırmayı sabit zamanlı bir fonksiyonla yapın.

  • Webhook imzası

    Her webhook bir X-Razorpay-Signature başlığı taşır: Razorpay panosunda belirlediğiniz webhook gizli anahtarıyla, ham istek gövdesinden alınan HMAC SHA256.

  • Tekrarlanan teslimatlar

    Webhook'lar birden fazla kez veya sırasız gelebilir. Olay ve ödeme kimliklerini kaydedin; rezervasyona zaten uyguladığınız bir olayı yok sayın.

  • Gizli anahtarlar sunucuda kalır

    Tarayıcıya yalnızca Key ID gider. Key Secret ve webhook gizli anahtarı sunucu yapılandırmasında durur; sayfa kaynağına veya mobil uygulamaya asla girmez.

İadeler ve iptaller

Seyahat iadeleri nadiren tutarın tamamıdır

İptal ücretleri, gelmeme kuralları ve kısmen iptal edilen güzergahlar yüzünden seyahat iadesi çoğu zaman kısmidir. Razorpay'in Refunds API'si ikisini de karşılar; tutarı ise entegrasyon, rezervasyon kurallarınıza göre belirler.

  • Tam iade

    Ücretsiz bir iptal, tahsil edilen tutarın tamamını yolcunun ödemede kullandığı yönteme geri verir.

  • Kısmi iade

    İptal ücreti düşüldükten sonra sunucu yalnızca kalan tutarı iade eder. Tutar, ilk sipariş gibi paise olarak gönderilir.

  • Güzergahın bir bölümü

    Bir otel gecesini veya bir yolcuyu iptal edip yalnızca o kısmı iade edin; tahsil edilen toplama kadar yeni kısmi iadeler yapılabilir.

  • refund.processed

    İade webhook'u, iade tamamlandığında sunucunuza haber verir; böylece rezervasyon ve yolcu doğru durumu görür.

  • Rezervasyonla birlikte saklanır

    Her iade kimliği, muhasebe ekibiniz için rezervasyon numarası ve ilk payment_id ile birlikte tutulur.

  • Örnek: ücretli iptal

    Tahsil edilen
    ₹12,500.00 amount: 1250000
    İptal ücreti
    ₹1,500.00 amount: 150000
    İade tutarı
    ₹11,000.00 amount: 1100000

    Yalnızca örnek rakamlar. Razorpay tutarları en küçük para birimiyle alır; yani 100 paise bir rupidir.

Razorpay nasıl bağlanır

Razorpay ile veya onsuz ödeme almanın üç yolu

Ekibinize ve yayın tarihinize uyan yolu seçin. Üçünde de para kendi işyeri hesabınızda kalır; PHPTRAVELS mutabakatın hiçbir aşamasında yer almaz.

  1. Seçenek 1

    Geliştiricileriniz ekler

    PHPTRAVELS kaynak kodunun tamamıyla gelir; kendi geliştiricileriniz Razorpay'i mevcut geçitlerin yanına yeni bir geçit olarak ekleyebilir: sipariş oluşturma, ödeme adımında Checkout, imza kontrolü, tahsilat, webhook'lar ve iadeler.

    • Razorpay test modu anahtarlarıyla geliştirin ve test edin
    • Rezervasyon numarasını sipariş receipt'i olarak kullanın
    • Test rezervasyonları geçince canlı anahtarlara geçin
  2. Seçenek 2

    PHPTRAVELS geliştirir

    Geliştiricilerimiz Razorpay bağlayıcısını sizin için bir Özel API entegrasyonu olarak geliştirebilir. Gereksinimlerinizi gönderirsiniz, iş başlamadan önce maliyet ve süreyi alırsınız, sonunda da test edilmiş kaynak kodunu teslim alırsınız.

    • İş başlamadan önce teklif verilir
    • Razorpay test moduna karşı geliştirilir
    • Size ait kaynak kodu olarak teslim edilir
  3. Seçenek 3

    Hazır bir geçidi hemen kullanın

    Önce yayına çıkmanız gerekiyorsa platformda zaten bulunan bir geçidi açın. Hindistan için bu Cashfree'dir. Bugün hazır olan geçitler şunlardır:

Hazır geçitler

Bugün açabileceğiniz ödeme geçitleri

Bu liste canlı olarak PHPTRAVELS geçit dizininden gelir. Her biri yönetim panelinde kendi hesabınız ve anahtarlarınızla etkinleştirilir.

Bunlardan herhangi birinin arkasındaki çağrıları merak ediyorsanız Ödeme geçidi API rehberini okuyun, Stripe ödemeleri ve PayPal ödemeleri rehberlerini karşılaştırın veya acentelerin B2B portalında bir B2B acente cüzdanı ile nasıl ödeme yaptığını görün.

Razorpay soruları

Razorpay ve PHPTRAVELS, yanıtlarıyla

Satış ekibiyle görüşün

Hazır bağlayıcı olarak hayır. Razorpay bugün PHPTRAVELS geçit listesinde yok, bu yüzden yönetim panelinden açılamaz. Kaynak kodunun tamamı dahil olduğundan, özel bir ödeme geçidi entegrasyonu olarak sizin geliştiricileriniz veya bizimkiler tarafından eklenebilir.

Cashfree, PHPTRAVELS'ta hazır bir geçittir ve kurulum rehberi docs.phptravels.com/payments/cashfree adresindedir. Kendi Cashfree hesabınızla yönetim panelinden etkinleştirirsiniz. Stripe ve PayPal gibi diğer hazır geçitler ödeme geçitleri sayfasında listelenir.

Razorpay, Hindistan rupisi cinsinden ödemeler için kart, UPI, internet bankacılığı ve cüzdanları kabul eder. Ödeme sayfasında hangi yöntemlerin görüneceği, kendi Razorpay hesabınızda nelerin etkin olduğuna bağlıdır.

Razorpay tutarları en küçük para birimiyle aldığından, rupi cinsinden rezervasyon toplamı sipariş oluşturulmadan önce 100 ile çarpılır. İade tutarı da aynı şekilde gönderilir.

Checkout bir ödeme kimliği, sipariş kimliği ve imza döndürür. Sunucunuz, sipariş kimliği ile ödeme kimliğinin Key Secret ile HMAC SHA256 değerini hesaplar ve ödemeyi yalnızca sonuç imzayla eşleşirse kabul eder.

Otomatik tahsilat daha basittir. Manuel tahsilat ise yalnızca havayolu, otel veya tur tedarikçisi rezervasyonu onayladıktan sonra tahsil etmenizi sağlar; böylece başarısız bir rezervasyon iade edilmek yerine serbest bırakılabilir. Seçim ürünlerinize ve tedarikçilerinize bağlıdır.

Evet. Razorpay'in Refunds API'si tam ve kısmi iadeleri destekler; böylece iptal ücreti alıkonulup kalan tutar geri verilebilir. refund.processed webhook'u, iade tamamlandığında sunucunuza haber verir.

Evet. İşyeri hesabı, Key ID ve Key Secret'ı ile mutabakat size aittir. PHPTRAVELS hiçbir zaman geçit kimlik bilgisi sağlamaz ve paranıza dokunmaz. Test modu anahtarlarıyla geliştirin, yayına çıkarken canlı anahtarlara geçin.

Checkout, manuel tahsilat, iadeler ve acente ödemeleri gibi ihtiyaç duyduğunuz kapsama bağlıdır. PHPTRAVELS özel işi başlamadan önce fiyatlandırır. Platformun kendisi fiyatından başlayan tek seferlik bir lisanstır.