Genel bakış
Yönlendirmeyi Başlat akışının amacı, kullanıcıyı ödemeyi tamamlamak için yeterli bilgilerle ödeme entegratörüne yönlendirmektir. Entegratör de ardından kullanıcıyı, Google'ın sağladığı bilgileri ileterek kartı veren kuruluşun web arayüzüne yönlendirir. Kullanıcı, ödemeyi tamamlamak için kartı veren kuruluş tarafından sağlanan talimatları uygulayabilir. Bu, Yönlendirmeyi Tamamla akışını tetikler.
Akışın işleyiş şekli
Kullanıcının, Ödeme Şekli (FOP) olarak kullanacağı kartı veren kuruluşu seçmesinin iki yolu vardır.
- Kullanıcı, Google'ın kullanıcı arayüzünde yayıncıyı seçer.
- Kullanıcı, Google'ın kullanıcı arayüzünde entegre ediciyi ve entegratörün kullanıcı arayüzünde kartı vereni seçer.
Kullanıcı, Google'ın kullanıcı arayüzünde kartı veren kuruluşu seçer
Bu durumda kullanıcı, Google'ın kullanıcı arayüzündeki ödeme şeklini seçerken bir yayıncı seçer. Bu nedenle RedirectRequest'teki formOfPayment
nesnesinin issuerId
alanı, Google tarafından oluşturulan ve kartı veren benzersiz bir tanımlayıcı içerir. Ödeme entegratörü ve kartı veren kuruluş aynı tüzel kişiyse Google'ın ödeme entegratörü için bir issuerId
oluşturacağını unutmayın. Yönlendirme isteği, parametreleri URL'ye kodlanmış olan bir HTTPS GET yöntemi kullanır.
Yönlendirme akışını başlat (düzenleyen seçili)
Aşağıdaki sıra diyagramında, kullanıcı Google'ın kullanıcı arayüzünde bir yayıncı seçtiğinde kullanıcının tarayıcısı, Google, entegratör ve kartı veren kuruluş arasındaki etkileşim gösterilmektedir:
Yukarıdaki diyagramda bulunan nesnelerin listesini aşağıda görebilirsiniz:
- Kullanıcı: Ödeme yapmak isteyen kişidir.
- Google kullanıcı arayüzü: Müşterinin ödeme başlattığı Google web veya uygulama arayüzü.
- Google Sunucusu: Google'da yönlendirme isteği oluşturan arka uç sunucusu.
- Ödeme Entegratörü: Kullanıcıyı ve yönlendirme isteğini kartı veren kuruluşa yönlendiren entegratör.
- Düzenleyen: Kullanıcının hesabı olan kuruluş.
Yönlendirmeyi Başlat akışı için, kullanıcının Google mülkünde (Google Kullanıcı Arayüzü) bulunduğunu ve bir ödeme yöntemi seçtiğini varsayıyoruz. İşte her şey burada başlıyor.
- Kullanıcı, ödeme yapmak için kullanmak istediği sağlayıcıyı seçer. Yönlendirmeyi Başlat akışını bu işlem tetikler.
- Google kullanıcı arayüzü, yeni bir yönlendirme isteği oluşturmak için Google Sunucusu'nu (arka uç) çağırır.
- Google Sunucusu bir yönlendirme isteği oluşturur.
- Yönlendirme isteği Google kullanıcı arayüzüne gönderilir.
- Google kullanıcı arayüzü, kullanıcıyı entegratörün sunucusuna yönlendirir.
- Entegre edici, Google'ın yönlendirme isteğini işler ve yayıncıya özel bir yönlendirme isteği oluşturur.
- Entegratör, kullanıcıyı kartı veren kuruluşun web arayüzüne yönlendirir.
- Kullanıcı, kartı veren kuruluşun web arayüzünde kimlik doğrulamasını yapar.
- Kullanıcı, ödemeyi tamamlamak için ekrandaki talimatları uygular.
Kullanıcı, Google'ın kullanıcı arayüzünde entegratörü seçer
Bu durumda kullanıcı, Google'ın kullanıcı arayüzündeki entegre ediciyi seçer. Böylece, yalnızca veren kuruluşlar geçerli FOP olarak kabul edildiğinden RedirectRequest'in formOfPayment
alanı noneChosen
olarak ayarlanır. Entegratör, kullanıcının Google tarafından onaylanmış kuruluşlardan birini seçmesine olanak tanıyan bir kullanıcı arayüzü sağlamalıdır. Yönlendirme isteği, parametreleri URL'ye kodlanmış olan bir HTTPS GET yöntemi kullanır.
Yönlendirme akışını başlat (entegratör seçili)
Aşağıdaki sıra şemasında, kullanıcı Google'ın kullanıcı arayüzünde bir entegratör seçtiğinde kullanıcının tarayıcısı, Google, entegre edici ve kartı veren kuruluş arasındaki etkileşim gösterilmektedir:
Yukarıdaki diyagramda bulunan nesnelerin listesini aşağıda görebilirsiniz:
- Kullanıcı: Ödeme yapmak isteyen kişidir.
- Google kullanıcı arayüzü: Müşterinin ödeme başlattığı Google web veya uygulama arayüzü.
- Google Sunucusu: Google'da yönlendirme isteği oluşturan arka uç sunucusu.
- Ödeme Entegratörü: Kullanıcının bir kartı seçtiği entegratör.
- Düzenleyen: Kullanıcının hesabı olan kuruluş.
Yönlendirmeyi Başlat akışı için, kullanıcının Google mülkünde (Google Kullanıcı Arayüzü) bulunduğunu ve bir ödeme yöntemi seçtiğini varsayıyoruz. İşte her şey burada başlıyor.
- Kullanıcı, ödeme yapmak için bir entegrasyon sağlayıcı seçer (belirli bir kuruluş sağlayıcısı değil). Yönlendirmeyi Başlat akışını bu işlem tetikler.
- Google kullanıcı arayüzü, yeni bir yönlendirme isteği oluşturmak için Google Sunucusu'nu (arka uç) çağırır.
- Google Sunucusu bir yönlendirme isteği oluşturur.
- Yönlendirme isteği Google kullanıcı arayüzüne gönderilir.
- Google kullanıcı arayüzü, kullanıcıyı entegratörün web arayüzüne yönlendirir.
- Entegre edici, Google'ın yönlendirme isteğini işler.
- Entegratör, uygun kuruluşları kullanıcıya gösterir.
- Kullanıcı, ödeme yapmak için kullanmak istediği sağlayıcıyı seçer.
- Entegratör, yayıncıya özel bir yönlendirme isteği oluşturur.
- Entegratör, kullanıcıyı kartı veren kuruluşun web arayüzüne yönlendirir.
- Kullanıcı, kartı veren kuruluşun web arayüzünde kimlik doğrulamasını yapar.
- Kullanıcı, ödemeyi tamamlamak için ekrandaki talimatları uygular.
En iyi uygulamalar ve dikkat edilmesi gereken diğer noktalar
Güvenlik önlemleri
Yönlendirme isteği URL'sinde şifrelenmemiş bir callbackUrl
alanı ile şifrelenmiş redirectRequest
alanı bulunur. Bu alanların her ikisi de geçerli işlem için requestId
değerini içerir. Tedarikçi firma, bunların birbiriyle ilişkili olduğunu doğrulamak için requestId
öğesinin hem callbackUrl
hem de şifrelenmiş yükte aynı olduğunu doğrulamalıdır.