Hosted Ön Ödeme Sayfası
Hosted ön ödeme (prepayment) sayfaları, ödeme bilgilerini ve client süreçlerini (ör. 3DS authentication) Lidio Hosted Ödeme Sayfaları üzerinden tamamlamak isteyen, ancak ödemenin provizyon aşaması için - kendi iş süreçlerine göre gerekli kontrolleri (ör. stok, poliçe, vb.) sağlayarak - sunucu üzerinden (server side) ayrıca bir tetikleme yapmak isteyen işyerleri için sunulan iki aşamalı bir ödeme akışıdır.
İlk aşama, klasik hosted ödem akışına benzer şekilde, Lidio API StartHostedPrepayment servisi ile temin edilen Hosted Ödeme ekranının websitesi/uygulama içerisinde gösterilmesi ve kullanıcının ödeme bilgilerini girmesini - varsa gerekli 3D şifre vb. aşamaları tamamlamasını konu alır. İlk aşama sonucu işyerine ait ReturnURL'e redirect ederek HTTP GET query string parametreleriyle ve/veya işyeri Notifikasyon adresine Ödeme Notifikasyonu gönderilerek bildirilir.
İkinci aşama için Lidio API FinishPaymentProcess servisi tetiklenir ve ilk aşamada alınan bilgiler ile işlem bankaya provizyona gönderilerek sonuç alınır.
Hosted entegrasyonda dikkat edilmesi gereken hususlar:
ReturnURL’e gelen ödeme sonucun teyidi (Lidio'dan geldiği) doğrulaması için mutlaka “GetHostedPaymentStatus” servisi kullanılmalıdır. İşlem sonucu bu servisten alınmalı, ReturnURL'deki temel alanlar (müşteri, tutar, taksit sayısı vb.) mukayese edilerek doğrulanmalıdır. Bu servisle ödemeye dair tüm detaylara ulaşılabilir.
- Kullanıcı ödeme sürecine gelir. Ödemeye ve siparişe dair bilgiler netleşmiş olur. Bu noktada işyeri isterse ödeme yöntemini kendi UI'ında seçtirir ve Lidio Hosted Sayfayı sadece seçili ödeme enstrüman(lar)ı için çağırabilir. Alternatif olarak ödeme yönteminin seçimi Hosted Sayfaya bırakılabilir, bu durumda servis isteğinde istenilen tüm yöntemlere yer verilmelidir.
- Sipariş ve ödeme bilgileri ile birlikte StartHostedPrepaymentProcess metodu çağrılır.
- StartHostedPrePaymentProcess responseta RedirectURL dönülür.
- Servisten edilinlen RedirectURL, client ekranında iframe içinde ya da redirect olarak açılır.
- Kullanıcı Lidio Hosted Ödeme ekranlarında gerekli ödeme bilgileri girişini/seçimini yapar ve Devam'a basar.
- Kullanıcı faslı tamamlandığında, işlem banka/kurum provizyonuna gönderilir ve işlem sonuçlanır.
- Ödeme işlem sonucu ile birlikte (query string parametreleri) işyeri ReturnURL'ine dönüş sağlanır. İşyeri işlem sonucunu doğrulamak ve daha fazla detay edinmek için GetHostedPaymentStatus servisini çağırır. (Not: Alternatif veya tamamlayıcı olarak işyeri tercihine bağlı olarak işlem sonucu işyerine Ödeme Notifikasyonu (server->server) yapıda da bildirilebilir.
- İşyeri client aşaması başarılı olan süreçlerde, ödemeyi kesinleştirmeden kendi tarafındaki kontrolleri (ör. stok, poliçe) yapar ve ödeme provizyonu için şartlar uygunsa, FinishPaymentProcess API çağrısı sunucudan yapılır.
- FİnishPaymentProcess servis yanıtında ödeme sonucu işyeri tarafından alınır.
- Kullanıcıya ödeme sonucu bildirilir ve kullanıcı akışı sonuca göre devam ettirilir.
- Fraud kontrol (sahtecilik tespit) kullanılıyorsa, işleme dair FraudControlResult değeri de takip edilir. Asenkron sonuç söz konusu olacak ise (InProcess), ödeme sonucu başarılı da olsa, kesin sonuç için Ödeme Notifikasyonu gelene dek sipariş/teslimat beklemede tutulur.