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