Google Standart Ödemeler:

Token ile FOP

Genel Bakış

Token atanmış ödeme şekli (FOP), Payments Platformu'na bir ödeme entegrasyonu türüdür. Kullanıcının bu ödeme şeklini kullanarak ödeme yapabilmesi için Google ve ödeme entegratörü, hesap kimliği kimlik bilgilerini tek seferliğine değiştirmelidir. Dolayısıyla bu işlem, belirli bir kullanıcı için söz konusu ödeme şeklini temsil eden bir jeton oluşturma akışından geçer. Bu jeton daha sonra tekrar tekrar ödeme yapmak için kullanılabilir. Şu anda bu API'lerin 2 sürümü vardır. Sürüm 2, mobil operatörleri ve referans numarası sağlayıcılarını destekler. Diğer tüm token atanmış ödeme şekilleri sağlayıcıları sürüm 1'i uygulamalıdır. Bu dokümanın geri kalanı için sürüm 1'e odaklanılmıştır.

Google, kimliği belirlemek ve bu jetonu oluşturmak için iki akış kullanır:

  1. Kimlik doğrulama akışı: Kullanıcıyı tanımlar ve doğrular.
  2. İlişkilendirme akışı: Bir kullanıcı için jeton oluşturur (yeni veya önceden tanımlanmış ve kimliği doğrulanmış). Bu jeton, belirli bir kullanıcının belirli bir ödeme şeklini gösterir. Bu jeton sonraki satın alma işlemlerinde kullanılabilir.

Jeton oluşturulduktan sonra Google, kullanıcının hızlı ve sorunsuz bir ödeme deneyimi yaşaması için bu jetonu satın alma sürecinde kullanır. Google, bu jetonu müşterilerin ödeme yöntemlerinden birini göstermek için kullanır. Buna enstrüman da denir. Bir Google müşterisi, ürün ve hizmetler için ödeme yapmak üzere birden fazla araca sahip olabilir.

Son olarak, entegrasyon uzmanının bankası ile Google'ın bankası arasındaki tüm para hareketleri havale akışı üzerinden gerçekleştirilir.

Ürün seçin
1) Kullanıcı, satın alacağı ürünü seçer
Ödeme yöntemini seçin
2) Ardından bir ödeme yöntemi seçer
Ödeme yöntemi ekle
3) Şimdi yeni bir ödeme yöntemi ekliyorlar
Yönlendirme
4) Kimlik doğrulama işlemine yönlendirilirler
Kimliği doğrulandı
5) Son olarak, kimliği doğrulanır ve ürün satın alabilir.

Bu şemada, akışlara genel bir bakış sunulmaktadır:

Token ile FOP'a genel bakış

Token Atanmış FOP Genel Bakış Diyagramı

Genel olarak, hizmetinizi Google ürünlerine ödeme şekli olarak eklemek aşağıdaki akışları içerir:

  1. Kimlik doğrulama akışı
  2. İlişkilendirme akışı
  3. Satın alma akışı
  4. Geri ödeme akışı
  5. Havale akışı

Bu akışlar aşağıdaki bölümlerde, kılavuzlar bölümünde ise daha ayrıntılı olarak açıklanmıştır.

Kavramlar ve terminoloji

Semboller ve Kongreler

Anahtar kelimeleri "ZORUNLU", "ZORUNLU OLMAMALIDIR", "Zorunlu", "SHALL", "YAPMAYIN," "ZORUNLU", "YAPMAYIN:" "ÖNERİLİR", "MAYIS," ve "OPTIONAL" (İsteğe bağlı) RFC 2119'da açıklandığı gibi yorumlanmalıdır.

Zaman damgaları

Tüm zaman damgaları, UTC saat diliminde Unix döneminden (1 Ocak 1970) itibaren milisaniye olarak gösterilir.

Örneğin:

  • 23 Nisan 2019 20:23:25 GMT = 1556051005000 milisaniye
  • 16 Ağustos 2018 12:28:35 GMT = 1534422515000 milisaniye

Miktarlar

Bu API'deki parasal değerler "mikro değerler" biri oldu. Mikro değerler, tamsayı tabanlı, sabit bir hassasiyet biçimidir. Parasal bir değeri mikro cinsinden göstermek için standart para birimi değerini 1.000.000 ile çarpın.

Örneğin:

  • 1,23 TL = 1230.000 mikro ABD doları
  • 0,01 TL = 10.000 mikro ABD doları

Aciliyet

Bu API içindeki tüm yöntem çağrıları idempotent davranışına sahip olmalıdır. Google, işlemlerin her iki tarafta da aynı durumda olmasını sağlamak için belirli aralıklarla istekleri yeniden dener. Entegratörler, başarıyla işlenmiş olan istekleri yeniden işlemeyi denememelidir. Bunun yerine, başarılı işleme için alınan yanıt bildirilmelidir. Tüm yöntemlerde requestId içeren bir ortak RequestHeader bulunur. Bu requestId, tüm çağrılar için idempotency anahtarıdır.

Terminal olmayan yanıtlar (HTTP 200 başarılı olmayan) dolaylı olarak işlenmemelidir. Dolayısıyla, daha önce 400 (hatalı istek/başarısız ön koşul) alan bir istek, ikinci kez çağrıldığında, dolaylı olarak 400 değerini döndürmemelidir. Bu durumda, isteğin yeniden değerlendirilmesi gerekir. Yeniden değerlendirme sırasında 400 kod döndürebilir veya başarıyla işlenebilir.

Yeterlilik hakkında daha fazla bilgi için bu ayrıntılı kılavuza bakın.

Entegratör

İşletmesi için Google'ın Ödeme Platformu'nu kullanan bir şirket. YouTube veya AdWords gibi dahili (birinci taraf) olabilir. Ayrıca, hizmetlerini Google'ın ekosistemiyle çalışacak şekilde entegre etmek isteyen harici (3. taraf) bir işletme de olabilir.

FOP

Ödeme Şekli. Bu, bir enstrümantan daha genel bir ifadedir. Visa, MasterCard ve PayPal FOP'tur.

Enstrüman

Belirli bir müşteri tarafından gerçekleştirilen belirli bir ödeme şekli. Örneğin, kullanıcının kredi kartı veya PayPal hesabı. Belirli bir müşteri için token atanmış bir ödeme şekli, sistemimizde güvenli bir şekilde depolanan bir müşteri ödeme şeklinin bir örneği olduğundan aynı zamanda bir araçtır.

Jeton

Google'ın sisteminde belirli bir kullanıcının ödeme yöntemini temsil eder. Satın alma işlemi için gereken tüm bilgileri içerdiğinden jeton da bir araçtır. Kullanıcının entegrasyon uzmanındaki hesap numarası gibi bilgiler de bu kapsamda yer alabilir.

Temel akışlar

Kimlik Doğrulama Akışı

Kimlik doğrulama, gerçekleşmesi gereken ilk akıştır. Kimlik doğrulama akışının amacı, entegrasyonda kullanıcıyı tanımlamak ve kullanıcının kimliğini doğrulamaktır. Kimlik doğrulama çeşitli şekillerde gerçekleşebilir. Jetonlu FOP'lar, kullanıcıyı tanımlamak ve doğrulamak için iki yöntemi destekler:

  1. SMS-MT OTP Kimlik Doğrulaması (SMS Mobil Sonlandırıldı, Tek Kullanımlık Şifre)
  2. Yönlendirmeli Kimlik Doğrulaması

İlk katılım sırasında entegrasyon uzmanları, ürünlerine en uygun kimlik doğrulama mekanizmalarını seçmek için Google ile birlikte çalışır.

Kimlik doğrulama akışları iki bağlamda kullanılabilir: İlk olarak, ilişkilendirme yapmak için yeni bir müşteri tanımlamak, ikincisi ise kullanıcıyı mevcut bir aracın kimlik bilgilerini öğrenmek için sorgulamak. Kimlik doğrulama akışının sonucu, ilişkilendirme akışı, yenileme jetonu akışı, sorgulama uygulanmış satın alma akışı gibi birden fazla akışa giriş olarak kullanılabilir. Buna ek olarak, kimlik doğrulama akışı bağımsız modda kullanılabilir, sonraki herhangi bir akışa bağlı değildir.

SMS-MT OTP Kimlik Doğrulaması

Bu kimlik doğrulama mekanizmasında, kullanıcı Google kullanıcı arayüzüne bir telefon numarası girer. Google, bu telefon numarasını sendOtp yöntemiyle entegrasyon uzmanına gönderir. Entegratör, kullanıcıya tek kullanımlık bir şifre gönderir. Kullanıcı, şifreyi Google kullanıcı arayüzüne girer ve şifre entegratöre gönderilir. Bu, Ödeme Entegratörü'nden başarılı bir yanıt almayı tetikler.

SMS-MT OTP kimlik doğrulaması bağımsız modda kullanıldığında, OTP'nin değeri verifyOtp yöntemi kullanılarak entegrasyona gönderilir. Bu yöntem, sağlanan OTP'nin gönderildiğini doğrular.

Yönlendirmeli Kimlik Doğrulaması

Yönlendirme kimlik doğrulaması, Google'ın kullanıcıyı entegratöre ait bir uygulamaya yönlendirmesiyle gerçekleşir. Bu uygulama bir web veya Android uygulaması olabilir.

Android ve Web yönlendirmeleri benzer şekilde çalışır. Google, kullanıcıyı entegrasyon uzmanının uygulamasına yönlendirir. Entegratör, kullanıcıyı tanımlayan ve kimliğini, söz konusu entegrasyon uzmanı için en uygun biçimde doğrular. Kimliğin doğrulanmasından sonra entegrasyon uzmanı, ilişkilendirmeyi tamamlamak için kullanıcıyı tekrar Google'ın kullanıcı arayüzüne yönlendirir. Yönlendirme sonrasında Google, bu kimlik doğrulama oturumunu tanımlamak için bir requestId sağlar. Bu tanımlayıcı, daha sonra İlişkilendirme sırasında kimlik doğrulama kanıtı olarak kullanılır.

Bu akışı seçen entegratörler, tüm platformlarda (masaüstü veya mobil) en yaygın payda olduğundan web kimlik doğrulama URL'si sağlamalıdır. Ancak mobil cihazlarda en iyi kullanıcı deneyimini sağlamak için Android kimlik doğrulaması kesinlikle önerilir.

Google kullanıcı arayüzleri, cihaz bağlamına ve yüklenen uygulamalara bağlı olarak web'i veya Android uygulaması yönlendirmesini seçer.

Bu kimlik doğrulama mekanizması, entegratöre maksimum özgürlük sağlar. Kullanıcıların kimliğini doğrulamanın ve kullanıcıları tanımlamanın birçok yolu vardır. Kullanıcı adı ve şifre veya biyometrik bilgiler ve güvenlik soruları uygulanabilir çözümlerdir. Google'ın amacı, bir entegrasyon uzmanının kullanıcıları nasıl doğruladığı konusunda direktif vermek değildir. Kullanıcının kimliğini doğrulama işini entegrasyon uzmanı üstlenir. Böylelikle Google, kullanıcının kimliğini doğrulamak için entegratörün çeşitli kullanıcı arayüzlerinden faydalanmayı ve Google'a kimlik doğrulama kanıtı sağlamayı amaçlar.

Kimlik doğrulama hakkında daha fazla bilgi için bu ayrıntılı kılavuza bakın.

İlişkilendirme Akışı

Yukarıda belirtilen mekanizmalardan biri aracılığıyla kimlik doğrulama akışından sonra kullanıcı ilişkilendirme akışına geçer. İlişkilendirme akışının amacı, ödeme aracı oluşturmak için bir Google Ödeme Jetonu (GPT) oluşturmaktır. Bu akış şunları yapar:

  1. Bu kullanıcıyı temsil edecek jeton adı verilen bir kimliği görüşür.
  2. Google'ın risk motoruna bilgi sağlamak için hesap bilgileri sağlar.
  3. GPT'ı oluşturmak ve kurmak için ilk kurulumla ilgili gerekli bilgileri toplar.

Sonuç olarak, yerleşik GPT hem Google hem de entegrasyon şirketi tarafından kabul edilir.

İki Google kullanıcısının, aynı kullanıcının hesabını entegratörle paylaşması mümkündür. Bu durumda, her kullanıcının farklı bir aracı olur. Her araç için bağımsız bir ilişkilendirme akışı, dolayısıyla da benzersiz bir GPT vardır.

Bu görselde, InvisiCash adlı sahte token atanmış bir ödeme şekline göz atabilirsiniz. Bu görselde, kullanıcının kimlik doğrulama akışı ve ilişkilendirme akışı için atacağı adımlar gösterilmektedir.

İlişkilendirme akışına genel bakış

Token ile FOP-Invisicash

  1. E-posta adresi sf@gmail.com olan bir Google kullanıcısı, satın alma işlemlerinde kullanmak için InvisiCash hesabını Google Play Store'a eklemek istiyor.
  2. Google Play Store, kimlik doğrulama için InvisiCash uygulamasını açar.
  3. Kullanıcı, InvisiCash hesabına sally@otheremail.com e-posta adresiyle giriş yapar. InvisiCash hesabının giriş e-posta adresiyse, her ikisi için de Gmail e-posta adresini kullanıyor olabilir.

  4. InvisiCash uygulaması, kimlik doğrulama kimliğini Google Play Store'a geri gönderir.

  5. Google Play Store, kimlik doğrulama kimliğini Google Sunucularına gönderir.

  6. Google sunucusu, hesabı ilişkilendirmek için InvisiCash sunucusuna bir mesaj gönderir. Bu ilişkilendirme bir Kimlik Doğrulama Kimliği, GPT (Google Ödeme Jetonu) ve ilişkilendirme kimliğini içerir.

  7. InvisiCash sunucuları, Google Payment Token'ı (GPT) ve ilişkilendirme kimliğini depolar. Her ikisi de artık Sally'nin InvisiCash hesabıyla ilişkilendirilmiştir.

  8. InvisiCash bu ilişkilendirmeyi onaylar. Ardından Google Sunucuları, gelecekteki satın alma işlemlerinde kullanılabilecek bir araç oluşturur.