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 entegratöre bir geri ödeme isteği gönderilir.
Akışın işleyiş şekli
Kullanıcı tarafından başlatılan bir 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: Geri ödeme komutunu Ödeme Entegratörü Sunucusu'na gönderen, Google'daki arka uç sunucusu.
- Ödeme Entegratörü Sunucusu: Geri ödeme isteğini kabul eden entegratörün arka uç sunucusu.
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 Sunucusu, Ödeme Entegratörü Sunucusu'nda
Refund
uç noktasını çağırır. - Ödeme Entegratörü Sunucusu Başarıyla yanıt veriyor.
- 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.
GPT'nin süresi dolduysa geri ödeme almaya devam eder. 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ştiğini ve bir kullanıcının orijinal işlemden 4,00 TL, 5,00 TL ve 1,00 TL tutarında geri ödeme yapabileceğini varsayalım. Bu durumda, üç geri ödeme de aynı merchantTransactionId
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ı merchantTransactionId
) 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.