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 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

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.

  1. Kullanıcı, Google sunucusuna geri ödeme işlemini başlatır.
  2. Google Sunucusu, Ödeme Entegratörü Sunucusu'nda Refund uç noktasını çağırır.
  3. Ödeme Entegratörü Sunucusu Başarıyla yanıt veriyor.
  4. 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.