Canlı demo

Seyahat ödeme API

Seyahat rezervasyonları için Ödeme geçidi API: ödemeden iadeye

Ödeme geçidi API, rezervasyon sitenizin kart verisine hiç dokunmadan yolcunun parasını almasını sağlar. Bu sayfada tek bir kartlı ödemenin çağrıları, ödemenin geçtiği durumlar, seyahat ödemelerinin perakendeden neden daha zor olduğu ve PHPTRAVELS'ın rezervasyon akışınızı seçtiğiniz geçide nasıl bağladığı anlatılıyor.

  • Oturum, 3-D Secure, tahsilat
  • Tüm ödeme durumları
  • Kart, cüzdan, banka, kredi
  • Sunucunuzda kart verisi yok

Çağrılar nasıl işler

Tek bir kartlı ödeme, çağrı çağrı

Ödeme geçidi API, bir ödeme şirketinin işyerlerine açtığı web servisleri takımıdır. Sunucunuz belirli bir tutar ve para birimi için ödeme oluşturmasını ister, yolcu kartını geçidin kendi formuna girer, geçit de kart ağı ve kartı veren bankayla konuşur. Sunucunuz kart numarasını hiç görmez; yalnızca bir ödeme kimliği ve durum alır.

Sürece dört taraf katılır. Diyagram tarafları sütun, her mesajı numaralı bir ok olarak gösterir. Adlar geçitten geçide değişir (payment intent, session, order, charge) ama sıra aynıdır.

Bir yolcu seyahatini çevrimiçi öderken rezervasyon sitesi, ödeme geçidi ve banka ödeme mesajları alışverişi yapıyor

Kesikli ok bir webhook'tur: geçit sunucunuzu kendiliğinden çağırır, böylece yolcu tarayıcıyı kapatsa bile ödeme rezervasyonu günceller. Her adımın PHPTRAVELS'taki rezervasyona nasıl bağlandığı Ödeme ağ geçidi entegrasyonu sayfasında anlatılıyor.

  • Yolcu
  • Siteniz
  • Geçit
  • Kart ağı / banka
  1. 01Ödeme sayfasıYolcu Siteniz

    Yolcu seyahati gözden geçirip Öde'ye basar. Rezervasyon tedarikçide tutulur, henüz onaylanmamıştır.

  2. 02Payment intent veya oturum oluşturmaSiteniz Geçit

    Sunucunuz gizli API anahtarıyla tutarı, para birimini, rezervasyon numarasını ve bir idempotency anahtarını gönderir. Geçit bir ödeme kimliği döndürür.

  3. 03Barındırılan alanlar veya yönlendirmeGeçit Yolcu

    Kart formunu geçit sunar; sayfanızın içinde ya da kendi sayfasında olabilir, böylece kart verisi doğrudan geçide gider.

  4. 043-D SecureKart ağı / banka Yolcu

    Kartı veren banka isterse yolcu ödemeyi bankacılık uygulamasında veya tek kullanımlık kodla onaylar.

  5. 05ProvizyonGeçit Kart ağı / banka

    Geçit, kart ağı üzerinden kartı veren bankadan tutarı onaylamasını ister.

  6. 06Onaylandı, tutar blokeKart ağı / banka Geçit

    Banka parayı kartta ayırır. Henüz para hareket etmemiştir.

  7. 07Sonuç sitenize dönerGeçit Siteniz

    Yolcu ödeme kimliğiyle sitenize döner. Sunucunuz durumu API'den okur ve rezervasyonu tedarikçide onaylar.

  8. 08TahsilatSiteniz Geçit

    Tedarikçi onaylayınca sunucunuz tutarın tamamını veya daha azını tahsil eder. Birçok geçit anında tahsilat da yapabilir.

  9. 09WebhookGeçit SitenizGeçit kendiliğinden gönderir

    Geçit uç noktanıza imzalı bir olay (ödeme tahsil edildi, iade edildi, itiraz edildi) gönderir. Sunucunuz imzayı doğrular ve rezervasyonu günceller.

Ödeme durumları

Bir ödemenin yaşamı, durum makinesi olarak

Her geçit API'si her ödeme için bir durum bildirir. Sözcükler değişir ama hepsi aynı birkaç duruma karşılık gelir ve rezervasyon mantığınız her birine tepki vermelidir.

  1. created

    Oluşturuldu

    Ödeme tutar ve para birimiyle oluşturuldu, yolcuyu bekliyor.

    failedSon

    Başarısız

    Reddedildi, 3-D Secure tamamlanmadı veya yarıda bırakıldı. Hiçbir tutar çekilmez.

  2. authorized

    Provizyon alındı

    Kartı veren banka tutarı onayladı ve kartta bloke etti.

    voidedSon

    İptal edildi

    Bloke tahsilattan önce kaldırılır, yolcudan hiçbir şey çekilmez.

  3. captured

    Tahsil edildi

    Para çekildi ve işyeri hesabınıza aktarılacak.

    partially_refundedSon

    Kısmen iade edildi

    Tahsil edilen tutarın bir kısmı geri verilir, örneğin iptal ücreti düşüldükten sonra.

    refundedSon

    İade edildi

    Tahsil edilen tutarın tamamı karta iade edilir.

Provizyon sonsuza dek sürmez: zamanında tahsil edilmezse bloke sona erer ve banka parayı serbest bırakır. Kısmen iade edilmiş bir ödeme, tahsil edilen tutara kadar yeniden iade edilebilir.

Seyahat neden daha zor

Seyahat ödemeleri neden farklı

Mağaza stokta olanı satar. Seyahat satıcısı, tedarikçinin henüz onaylaması gereken bir rezervasyon için, çoğu zaman yolculuktan aylar önce para alır. Ödeme API'sinin buna uyması gerekir.

  • 01

    Şimdi provizyon, sonra tahsilat

    Talep üzerine onaylanan oteller, grup tarifeleri ve turlar siparişten saatler ya da günler sonra onaylanır. Önce provizyon alıp onayda tahsil etmek, gerçekleşmeyen rezervasyondan ücret alınmaması demektir.

  • 02

    Tedarikçi yine de hayır diyebilir

    Bir tarife ödeme ile biletleme arasında tükenebilir. Provizyonda para iptalle serbest kalır; tahsilattan sonra ise iadeye dönüşür.

  • 03

    İptal ücretinden sonra kısmi iade

    Konaklama veya bilet iptalinde genellikle bir ücret kalır. İade çağrısı, kurallar gerektirdiği kadar sık, ilk ödemeye karşı daha düşük bir tutar gönderir.

  • 04

    Çoklu para birimi

    Yolcular kendi para birimiyle öder, tedarikçiler kendi para birimiyle fatura keser. Geçit gösterim para birimini desteklemeli, kayıtlarınız da iki tutarı birden tutmalıdır.

  • 05

    Yüksek tutarlı dolandırıcılık kontrolleri

    Yarın için, başkası adına, yeni kartla ödenen biletler klasik bir dolandırıcılık örüntüsüdür. 3-D Secure, geçidin risk puanlaması ve manuel inceleme kuyruğu yüksek tutarlı siparişleri korur.

  • 06

    Aylar sonra gelen chargeback'ler

    İtirazlar çoğunlukla seyahatten sonra gelir. Doğrulama sonucunu, rezervasyon belgelerini ve geçit olaylarını bir arada tutun ki itirazı kanıtla yanıtlayabilesiniz.

Ödeme yöntemleri

Bir ödeme geçidi API hangi ödeme şekillerini kapsar

Kart yalnızca bir seçenektir. Yolcular ve acenteler farklı şekillerde öder ve her birinin iadesi de farklı yapılır.

YöntemNedirPara ne zaman gelirİadeler
KartlarGeçit üzerinden banka ve kredi kartları; kartı veren banka istediğinde 3-D Secure ile.Ödeme sırasında provizyon; anında veya tedarikçi onayladığında tahsilat.API ile aynı karta tam veya kısmi iade.
Dijital cüzdanlarGeçidin desteklediği cüzdan hesapları; örneğin PayPal veya tokenlaştırılmış kart tutan bir telefon cüzdanı.Ödeme sırasında, yolcu cüzdanda onayladıktan sonra.Geçit üzerinden cüzdana veya arkasındaki karta geri döner.
Banka havalesiYolcu veya acente banka hesabınıza para gönderir ve ödeme rezervasyona işlenir.Günler sonra; ekibiniz tahsilatı onaylayana kadar rezervasyon bekler.Geçit dışında havale ile geri ödenir.
Sonra ödeRezervasyon şimdi yapılır, ödeme sonra alınır; ödeme geldiğinde ekibiniz kaydeder.Rezervasyondan sonra, yolcu ödediğinde.Yalnızca gerçekten ödenen tutar iade edilir.
B2B acente cüzdanı veya kredisiAlt acenteler önceden yükledikleri bakiyeden veya sizin verdiğiniz kredi limitinden öder.Rezervasyonda düşülür; depozito ve kredi sizin koşullarınıza göre kapatılır.Acente bakiyesine geri yüklenir.

Banka havalesi, sonra öde ve cüzdan bakiyesi, geçit değil platformun kendi ödeme seçenekleridir. Acente bakiyeleri ve kredi limitleri B2B acente cüzdanı sayfasında, banka ödemeleri Banka havalesi ile ödeme sayfasında anlatılıyor.

PHPTRAVELS'ta hazır

Hâlihazırda bağlı ödeme geçidi API'leri

Bu geçitler PHPTRAVELS'a zaten bağlı. Sağlayıcıda işyeri hesabı açar, API anahtarlarınızı yönetim paneline girer, sanal ortamında test eder ve yayına alırsınız. Liste, entegrasyon dizinimizdeki canlı listedir.

Ücretler ve işyeri onayı PHPTRAVELS ile değil, ödeme şirketiyle kararlaştırılır. Burada olmayan bir geçit Özel API entegrasyonu olarak eklenebilir; her birinin nasıl kurulduğunu Ödeme ağ geçidi entegrasyonu sayfası anlatır.

Güvenlik

Kart verisini sisteminizin dışında tutmak

En güvenli kart numarası, sunucunuzun hiç almadığı numaradır. Ödeme geçidi API'si bunu gerektirmeyecek şekilde tasarlanmıştır.

  • Kart numaralarını asla saklamayın

    Kart bilgileri geçide gider, geçit de bir token veya ödeme kimliği döndürür. Veritabanınız yalnızca bu referansı tutar; kart numarasını ya da güvenlik kodunu asla.

  • Barındırılan alanlar ve yönlendirmeler PCI DSS kapsamını daraltır

    PCI DSS, kart verisini işleyen herkese uygulanır. Kart formu geçidin kendi sayfası veya gömülü alanları olduğunda sisteminizin çok daha az kısmı kapsama girer. Hangi öz değerlendirme anketinin geçerli olduğunu bankanız (acquirer) teyit eder.

  • İmzayla doğrulanan webhook'lar

    Her webhook, paylaşılan bir gizli anahtarla üretilmiş bir imza taşır. Sunucunuz imzayı yeniden hesaplar ve eşleşmeyen olayı reddeder; böylece kimse ödenmiş rezervasyonu taklit edemez.

  • Gizli anahtarlar sunucuda kalır

    Tarayıcı yalnızca herkese açık anahtarı alır. Ödeme ve iade oluşturan gizli anahtar sunucu yapılandırmanızda durur; her istek bir idempotency anahtarı taşıdığı için yeniden deneme iki kez tahsilat yapmaz.

webhook.php
 1$payload   = file_get_contents("php://input"); 2$signature = $_SERVER["HTTP_X_SIGNATURE"] ?? ""; 3$expected  = hash_hmac("sha256", $payload, $webhookSecret); 4 5if (!hash_equals($expected, $signature)) { 6    http_response_code(400); exit;      // reject 7} 8$event = json_decode($payload, true); 9if (alreadyHandled($event["id"])) exit; // repeat delivery10updateBooking($event["data"]["metadata"]["booking_ref"], $event["type"]);

Genel bir örnektir. Başlık adları ve imzalama yöntemi seçtiğiniz geçide göre değişir.

PHPTRAVELS kendi sunucunuzda barındırılan bir yazılımdır; bu yüzden PCI DSS uyumu yalnızca yazılım için değil, işletmeniz ve sunucunuz için değerlendirilir.

Bir rezervasyonun ödenmesini, tahsil edilmesini ve iade edilmesini görün

Canlı demoda bir seyahat rezerve edin ve ödemeyi yönetim panelinde izleyin. Enterprise planında PHPTRAVELS, uygulamalarınız ve ortaklarınız için kendi REST API'sini ve webhook'larını da sunar.

Uçuş da mı planlıyorsunuz? Tedarikçi tarafını Uçuş API sayfası anlatır; PHPTRAVELS'ın bağladığı tüm API'ler Seyahat API'leri sayfasında listelenir.

SSS

Ödeme geçidi API: seyahat satıcılarının soruları

Satış ekibiyle görüşün

Bir ödeme şirketinin sunduğu web servisleri takımıdır; bir web sitesinin kart verisini kendisi saklamadan ödeme oluşturmasını, kartı bankaya onaya göndermesini, parayı tahsil etmesini, iade yapmasını ve webhook ile durum güncellemesi almasını sağlar.

Geçit, web sitenizin konuştuğu kısımdır: kartı güvenle toplar ve isteği iletir. İşlemci ise işlemi kart ağları üzerinden kartı veren bankaya taşır. Birçok sağlayıcı ikisini tek hizmet olarak sunar.

İşletmenizi onaylayan, müşterilerinizin ülkelerini, para birimlerini ve ödeme yöntemlerini destekleyen, provizyon ile tahsilatı ayrı sunan ve kısmi iade yapabilen geçit. Birçok acente küresel bir kart geçidini bölgesel biriyle birlikte kullanır.

Provizyon, yolcunun kartında tutarı ayırır; tahsilat onu çeker. İkisini ayırmak, tedarikçi rezervasyonu onayladıktan sonra ücret almanızı, onaylamazsa blokeyi kaldırmanızı sağlar.

Avrupa Ekonomik Alanı ve Birleşik Krallık dahil birçok bölgede çevrimiçi kart ödemelerinin çoğu için güçlü müşteri doğrulaması gerekir ve kartlar bunu 3-D Secure ile karşılar. Doğrulama adımını geçit API'si yürütür; rezervasyon akışınız sonucu bekler.

Tek başına yapmaz. Geçidin barındırılan alanlarını veya ödeme sayfasını kullanmak kart verisini sunucunuzdan uzak tutar ve PCI DSS kapsamınızı daraltır, ancak bankanızın istediği değerlendirmeyi yine de tamamlamanız gerekir.

Geçit kısmi iadeyi destekliyorsa evet; çoğu kart geçidi destekler. İlk ödemeye karşı daha düşük bir tutarda iade gönderirsiniz, örneğin fiyattan iptal ücreti düşülmüş hali.

Hayır. İşyeri hesabını seçtiğiniz geçitte siz açarsınız ve ücretlerini onlarla belirlersiniz. PHPTRAVELS, yönetim paneline girdiğiniz API anahtarlarıyla rezervasyon platformunuzu o hesaba bağlar.

Evet. Dokümante edilmiş API'si olan her geçit özel entegrasyon olarak eklenebilir; kaynak kodu dahil olduğu için geliştiricileriniz ödeme akışını da genişletebilir.