Geri ödeme akışı

Genel bakış

Geri ödemeler, etkin bir kullanıcı işlemiyle ("Geri Ödeme" düğmesine basılarak) başlatılabilir veya kullanıcı adına otomatik olarak tetiklenebilir. Tetikleyiciden bağımsız olarak Google'dan ödeme entegratörüne eşzamansız bir geri ödeme isteği gönderilir. Entegratör isteği onaylamalı ve geri ödeme işlemi tamamlandığında Google'ı bilgilendirmelidir.

Akışın işleyiş şekli

Geri ödeme süreci

Kullanıcı tarafından başlatılan eşzamansız geri ödeme akışı örneği:

Geri ödeme süreci

Yukarıdaki diyagramda bulunan nesnelerin listesini aşağıda görebilirsiniz:

  • Kullanıcı: Eksiksiz veya kısmi geri ödeme isteyen kişidir.
  • Google Sunucusu: Google'da geri ödeme komutunu ödeme entegratöre gönderen arka uç sunucusu.
  • Ödeme Entegratörü: Geri ödeme isteğini ilgili kuruluşa ileten entegrasyon aracı.
  • Düzenleyen: Ödeme için kullanılan ve geri ödeme isteğini kabul eden kuruluş.

Bu örnekteki geri ödeme işlemi kullanıcı tarafından başlatılıyorsa.

  1. Kullanıcı, Google sunucusuna geri ödeme işlemini başlatır.
  2. Google, ödeme entegratörünün AsynchronousRefund uç noktasını çağırır.
  3. Entegratör, Google'a Acknowledged yanıtı gönderir.
  4. Entegre edici, kartı veren kuruluşta uygun Refund uç noktasını çağırır.
  5. Kartı veren kuruluş, geri ödemeyi işleme alır ve entegratöre Success ile yanıt verir.
  6. Entegre edici, sonucu Google'a bildirmek için Google Sunucusu'ndaki RefundResultNotification uç noktasını çağırır.
  7. Google, RefundResultNotification hükümlerini onaylar.
  8. Google, kullanıcının mevcut bakiyesini günceller.
  9. Kullanıcı geri ödeme alır.

En iyi uygulamalar ve dikkat edilmesi gereken diğer noktalar

AdWords gibi bazı Google ürünleri, hesapta kredi olduğu sürece geri ödemeleri desteklediğinden, işlem geri ödeme istekleri süresiz olarak desteklenmelidir. Teknik bir sınırlama varsa geri ödeme süresi, platformunuzun izin verdiği süre kadar olmalıdır.

Geri ödemeler yalnızca orijinal işlemdeki bakiye geri ödeme tutarını karşılamak için yeterli değilse, hesap kapatıldı veya beklemedeyse ve entegratör kullanıcıya bu parayı gönderemiyorsa reddedilebilir.

Geri ödemeler, yakalama işleminden sonraki saniyeler içinde başlatılabilir. Geri ödemelerin zamanlaması Google'ın şahsi karar verme yetkisindedir.

Geri ödeme, asla eksiksiz geri ödeme olarak kabul edilmemelidir. Hesaba geri ödeme yapılırken her zaman refundAmount alanı dikkate alınmalıdır.

Birden fazla kısmi geri ödeme desteklenmelidir. Örneğin, 11,00 TL değerinde bir işlem gerçekleştirildiğini ve bir kullanıcının orijinal işlemden 4,00 TL, 5,00 TL ve 1,00 TL tutarında kısmi geri ödemeyi başarıyla yapabildiğini varsayalım. Bu durumda, üç geri ödeme de aynı captureRequestId değerine ancak farklı requestId değerlerine sahip olur. Dahası, bu işlemin yalnızca 1,00 TL'si kalır.

Şimdi de 12,00 TL'lik bir satın alma işlemi olduğunu varsayalım. Bu örnekte, kullanıcı her biri 6, 00 TL olmak üzere iki geri ödeme yapabilir. Bu iki geri ödemenin farklı requestId değerleri (ve aynı captureRequestId) varsa bunlar aynı işlemde ayrı geri ödemeler olarak ele alınmalıdır. Bu durumda, bu geri ödemeler tamamlandıktan sonra kullanıcıya işlemde 0 TL kalır.