Ö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ılacak ve hizmet çalışanı, ek bilgi olmadan yalnızca canmakepayment etkinliğini alacak.

Özellik algılama

Hizmet çalışanı kodunda canmakepayment etkinliğinin değiştirilip değiştirilmediğini tespit etmek için ilgili özellikleri aşağıdaki gibi 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 yazın.
  3. İşareti etkinleştirin.
  4. Chrome'u yeniden başlatın.

İşaretin etkinleştirilmesi, canmakepayment etkinliğindeki kimlik alanlarının (ve Android IS_READY_TO_PAY Intent'in) boşaltılmasına neden olur.

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

Ayrıca, Chrome'a uygulanmadan önce değişikliği test amacıyla üretimde etkinleştirebilirsiniz. Bu mekanizmaya kaynak deneme 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 işleyici JavaScript dosyanıza ekleyin. HTTP üstbilgilerini ayarlamak için sunucunuzu yapılandırmaya erişmeniz gerekir. Elde edilen yanıt üstbilgisi şöyle 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 yazın.
  3. İşareti etkinleştirin.
  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.