Ödeme İşleyici API'sinin CanMakePayment etkinlik davranışında güncelleme

Payment Handler API, ödeme sağlayıcıların Payment Request API ile birlikte özel ödeme deneyimlerini satıcılara sunmasına olanak tanır. Payment Request API, new PaymentRequest() kurucu aracılığıyla başlatıldığında Payment Handler API için kayıtlı bir hizmet çalışanına satıcının kaynağını ve rastgele verileri içeren bir canmakepayment etkinliğini sessizce tetikler. Bu kaynak arası iletişim için kullanıcı hareketi gerekmez ve herhangi bir kullanıcı arayüzü gösterilmez.

Chrome, canmakepayment etkinliğindeki tanımlama alanlarını kaldıracak ve Chrome 108'den itibaren kaynak denemesini başlatacak.

Bu sayfadaki bilgiler yalnızca Payment Handler API'yi kullanan ödeme uygulaması sağlayıcıları için geçerlidir. Bu özelliği kullanmıyorsanız bu talimatları atlayabilirsiniz.

Neler değişiyor?

Bir satıcı new PaymentRequest()'ü çağrdığında, kayıtlı bir hizmet çalışanı aşağıdaki bilgileri içeren bir canmakepayment etkinliği (CanMakePaymentEvent) alır:

  • topOrigin
  • paymentRequestOrigin
  • methodData
  • modifiers

Bunlar kaldırılır ve Service Worker yalnızca canmakepayment etkinliğini ek bilgi olmadan alır.

Özellik algılama

canmakepayment etkinliğinin Service Worker kodunda değişip değişmediğini tespit etmek için aşağıdaki gibi ilgili özellikleri inceleyin:

self.addEventListener(e => {
  if (e.paymentRequestOrigin) {...}
  if (e.topOrigin) {...}
  if (e.methodData && e.methodData.length > 0) {...}
  if (e.modifiers && e.modifiers.length > 0) {...}
  ...
});

Değişikliği yerel olarak deneme

Geliştirme amacıyla değişikliği yerel olarak etkinleştirmek için:

  1. Chrome 108, 109 veya 110 sürümünü kullanıyor olmalısınız.
  2. URL çubuğuna chrome://flags/#clear-identity-in-can-make-payment girin.
  3. İşareti etkinleştirin.
  4. Chrome'u yeniden başlatın.

İşaret etkinleştirildiğinde canmakepayment etkinliğindeki kimlik alanları (ve Android IS_READY_TO_PAY Amacı) silinir.

Değişikliği üretimde etkinleştirme

Üretimdeki değişikliği Chrome'a ulaşmadan önce test amacıyla da etkinleştirebilirsiniz. Bu mekanizmaya kaynak denemesi adı verilir.

Kaynak denemeleri, yeni özellikleri denemenize ve web standartları topluluğuna kullanılabilirlikleri, pratiklikleri ve etkililikleri hakkında geri bildirim vermenize olanak tanır. Daha fazla bilgi için Web Geliştiricileri İçin Kaynak Deneme Kılavuzu'na bakın. Bu veya başka bir kaynak denemesine kaydolmak için kayıt sayfasını ziyaret edin.

Kaynak denemesini kaydetmek için:

  1. Kaynağınız için jeton isteyin.
  2. Origin-Trial HTTP başlığı kullanarak jetonu hizmet çalışanı JavaScript dosyanıza ekleyin. HTTP üstbilgilerini ayarlamak için sunucunuzu yapılandırmaya erişmeniz gerekir. Elde edilen yanıt başlığı aşağıdaki gibi görünmelidir:
Origin-Trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Hizmet çalışanı dosyasında kaynak deneme jetonunu görmek için DevTools'u veya curl komutunu şu şekilde kullanın:

$ curl --head <Service Worker JS file URL> | grep -i origin-trial
origin-trial: Auw/tjTQ2eJQ911wiMHi1Bb7i71...

Chrome 111'den sonra kimlik alanlarını yerel olarak yeniden etkinleştirme

Chrome 111 veya sonraki bir sürümü kullanıyorsanız canmakepayment etkinliğindeki kimlik alanları boş bırakılır. Alanları yerel olarak yeniden etkinleştirmek için aşağıdakileri yapabilirsiniz:

  1. Chrome 111 veya sonraki sürümleri kullanın.
  2. URL çubuğuna chrome://flags/#add-identity-in-can-make-payment girin.
  3. İşareti etkinleştir.
  4. Chrome'u yeniden başlatın.

Sonraki adımlar

Bu değişikliğin Chrome 111'den itibaren varsayılan olarak etkinleştirilmesi planlanmaktadır. Lansman zamanındaki değişikliğe hazırlanmak için bugünden test etmeye başlayabilirsiniz.