Ödeme yöntemi ayarlama

Web Payments kullanılarak yapılan bir ödeme işlemi, ödeme uygulaması. Ödeme yöntemi ayarlamayı ve ödeme uygulamanızı almayı öğrenin ödeme yapmaya hazır olduğundan emin olmanız gerekir.

Ödeme İsteği API'si ile kullanılabilmesi için bir ödeme uygulamasının ödeme yöntemi tanımlayıcısı. Bir ödeme uygulamasıyla entegrasyon sağlamak isteyen satıcılar bunu tarayıcıya belirtmek için ödeme yöntemi kimliğini kullanır. Bu Bu makalede, ödeme uygulaması keşfetmenin işleyiş şekli ve hesabınızı yapılandırmanın ödeme uygulamasının bir tarayıcı tarafından düzgün bir şekilde keşfedilmesini ve çağrılmasına izin verir.

Web Ödemeleri kavramını veya bir ödeme işleminin işleyiş şeklini yeni öğrendiyseniz kullanıyorsanız öncelikle aşağıdaki makaleleri okuyun:

Tarayıcı desteği

Web Payments, birkaç farklı teknolojiden ve destek hizmetinden oluşur durumu tarayıcıya göre değişir.

Chromium Safari Firefox
Masaüstü Android Masaüstü Mobil Masaüstü/Mobil
Ödeme İsteği API'si
Ödeme İşleyici API'si
iOS/Android ödeme uygulaması ✔* ✔*

Tarayıcı, bir ödeme uygulamasını nasıl keşfeder?

Her ödeme uygulaması aşağıdakileri sağlamalıdır:

  • URL tabanlı ödeme yöntemi tanımlayıcısı
  • Ödeme yöntemi manifesti (ödeme yöntemi tanımlayıcısının üçüncü tarafça sağlananlar)
  • Web uygulaması manifesti
Şema: Tarayıcı, ödeme uygulamasını URL tabanlı ödeme yöntemi tanımlayıcısından nasıl keşfeder?

Keşif süreci, satıcı bir işlem başlattığında başlar:

  1. Tarayıcı, ödeme yöntemine bir istek gönderir tanımlayıcı URL'si ve getirmeleri ödeme yöntemi manifesto'da bulabilirsiniz.
  2. Tarayıcı, web uygulamasını manifest URL'sini ödeme yöntemi manifestini gönderir ve web uygulaması manifestini getirir.
  3. OS ödeme uygulamasının mı yoksa uygulamanın mı açılacağına tarayıcı karar verir. web uygulaması manifestinden web tabanlı ödeme uygulaması.

Sonraki bölümlerde, kendi ödeme yönteminizi nasıl ayarlayacağınız ayrıntılı olarak açıklanmıştır. bir yolunu sunar.

1. adım: Ödeme yöntemi tanımlayıcısını sağlayın

Ödeme yöntemi tanımlayıcı URL tabanlı bir dizedir. Örneğin, Google Pay'in tanımlayıcısı https://google.com/pay Ödeme uygulaması geliştiricileri, ödeme olarak herhangi bir URL'yi seçebilir yöntem tanımlayıcısı olduğu sürece, bunun üzerinde kontrol sahibi oldukları ve isteğe bağlı olarak sunulabildiği sürece içerik. Bu makalede, Ödeme yöntemi olarak https://bobbucks.dev/pay kullanır.

Satıcılar ödeme yöntemi tanımlayıcısını nasıl kullanır?

Ödeme yöntemi listesini içeren bir PaymentRequest nesnesi oluşturulur Ödemeyi tanımlayan tanımlayıcılar kabul etmeye karar verdiği uygulamalar. Ödeme yöntemi tanımlayıcıları bir değer olarak ayarlanmıştır supportedMethods mülkü için. Örneğin:

[merchant] ödeme istiyor:

const request = new PaymentRequest([{
  supportedMethods: 'https://bobbucks.dev/pay'
}], {
  total: {
    label: 'total',
    amount: { value: '10', currency: 'USD' }
  }
});
.

2. Adım: Ödeme yöntemi manifestini yayınlayın

Ödeme yöntemi manifesti, Bu ödeme yöntemini hangi ödeme uygulamasının kullanabileceğini tanımlayan JSON dosyası.

Ödeme yöntemi manifestini sağlayın

Satıcı ödeme işlemi başlattığında, tarayıcı bir HTTP Ödeme yöntemi kimliği URL'sine GET isteği. Sunucu, ödeme yöntemiyle yanıt verir manifest gövdesini inceleyin.

Ödeme yöntemi manifestinde iki alan bulunur: default_applications ve supported_origins.

ziyaret edin. 'nı inceleyin.
Mülk adı Açıklama
default_applications (zorunlu) Ödemenin yapıldığı web uygulaması manifest'lerine yönlendiren bir dizi URL barındırmadığını unutmayın. (URL bir akraba olabilir). Bu dizi bekleniyor referans için kullanabilirsiniz.
supported_origins Üçüncü taraf barındırabilecek kaynaklara işaret eden URL dizisi aynı ödeme yöntemini uygulayan ödeme uygulamaları. Ödemenin yöntemi birden fazla ödeme uygulaması tarafından uygulanabilir.
Ödeme yöntemi manifest alanları

Ödeme yöntemi manifest dosyası şu şekilde görünmelidir:

[ödeme işleyici] /payment-manifest.json:

{
  "default_applications": ["https://bobbucks.dev/manifest.json"],
  "supported_origins": [
    "https://alicepay.friendsofalice.example"
  ]
}

Tarayıcı default_applications alanını okuduğunda, desteklenen aşağıdaki web uygulaması manifestlerinin bağlantıları ödeme uygulamaları.

İsteğe bağlı olarak, ödeme yöntemi manifestini başka bir konumda bulmak için tarayıcıyı yönlendirin.

Ödeme yöntemi tanımlayıcı URL'si isteğe bağlı olarak Link başlığıyla yanıt verebilir. Tarayıcının, ödeme yöntemini getirebileceği başka bir URL'ye manifest'ini kullanabilirsiniz. Bu, ödeme yöntemi manifesti farklı bir sunucu olduğunda veya ödeme uygulaması bir üçüncü taraf tarafından sunulduğundan gelir.

Tarayıcı, ödeme uygulamasını yönlendirme içeren URL tabanlı bir ödeme yöntemi tanımlayıcısından nasıl keşfeder?

Ödeme yöntemi sunucusunu, HTTP Link başlığıyla yanıt verecek şekilde yapılandırın. rel="payment-method-manifest" özelliği ve ödeme yöntemi manifest URL'si.

Örneğin, manifest dosyası https://bobbucks.dev/payment-manifest.json adresindeyse yanıt başlığında şunlar yer alır:

Link: <https://bobbucks.dev/payment-manifest.json>; rel="payment-method-manifest"

URL, tam bir alan adı veya göreli bir yol olabilir. İncele Ağ trafiği için https://bobbucks.dev/pay/ değerini girin. Web sitemiz g.co/newsinitiative/labs üzerinden curl komutunu da kullanabilirsiniz:

curl --include https://bobbucks.dev/pay
.

3. Adım: Web uygulaması manifesti yayınlayın

Web uygulaması manifest dosyası Adından da anlaşılacağı gibi bir web uygulamasını tanımlamak için kullanılır. Yaygın olarak kullanılan bir manifest dosyasıdır Progresif Web Uygulaması (PWA) tanımlamak için aşağıdaki adımları uygulayın.

Tipik web uygulaması manifesti şöyle görünür:

[ödeme işleyici] /manifest.json:

{
  "name": "Pay with Bobpay",
  "short_name": "Bobpay",
  "description": "This is an example of the Payment Handler API.",
  "icons": [
    {
      "src": "images/manifest/icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "images/manifest/icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ],
  "serviceworker": {
    "src": "service-worker.js",
    "scope": "/",
    "use_cache": false
  },
  "start_url": "/",
  "display": "standalone",
  "theme_color": "#3f51b5",
  "background_color": "#3f51b5",
  "related_applications": [
    {
      "platform": "play",
      "id": "com.example.android.samplepay",
      "min_version": "1",
      "fingerprints": [
        {
          "type": "sha256_cert",
          "value": "4C:FC:14:C6:97:DE:66:4E:66:97:50:C0:24:CE:5F:27:00:92:EE:F3:7F:18:B3:DA:77:66:84:CD:9D:E9:D2:CB"
        }
      ]
    }
  ]
}

Bir web uygulaması manifest'inde açıklanan bilgiler, bir Ödeme uygulaması, Ödeme İsteği kullanıcı arayüzünde görüntülenir.

ziyaret edin. 'nı inceleyin.
Mülk adı Açıklama
name (zorunlu) Ödeme uygulaması adı olarak kullanılır.
icons (zorunlu) Ödeme uygulaması simgesi olarak kullanılır. Bu simgeleri yalnızca Chrome kullanır; diğer bir simge olarak belirtmezseniz tarayıcılar bunları yedek simge olarak kullanabilir ödeme aracının
serviceworker Web tabanlı ödeme olarak çalışan hizmet çalışanını tespit etmek için kullanılır uygulamasını indirin.
serviceworker.src Hizmet çalışanı komut dosyasının indirileceği URL.
serviceworker.scope Bir hizmet çalışanının kimliğini tanımlayan URL'yi temsil eden bir dize kayıt kapsamındadır.
serviceworker.use_cache Hizmet çalışanı komut dosyasının indirileceği URL.
related_applications İşletim sistemi tarafından sağlanan ödeme uygulaması gibi çalışan uygulamayı algılamak için kullanılır. Daha fazla bilgiyi Android ödeme uygulamaları geliştirici kılavuzuna göz atın.
prefer_related_applications Hem işletim sistemi tarafından sağlanan bir ödeme uygulaması hem de web tabanlı bir ödeme uygulaması mevcut olduğunda hangi ödeme uygulamasının başlatılacağını belirlemek için kullanılır.
Önemli web uygulaması manifest alanları
Simge içeren ödeme uygulaması.
Ödeme uygulaması etiketi ve simgesi.

Web uygulaması manifestinin name mülkü, ödeme uygulaması adı (icons) olarak kullanılıyor ödeme uygulaması simgesi olarak kullanılır.

Chrome hangi ödeme uygulamasının başlatılacağını nasıl belirler?

Platforma özel ödeme uygulamasını kullanıma sunuyoruz

Platforma özel ödeme uygulamasını başlatmak için aşağıdaki koşulların karşılanması gerekir:

  • related_applications alanı, web uygulaması manifest dosyasında belirtilir ve:
    • Yüklenen uygulamanın paket kimliği ve imzası eşleşiyor ancak minimum web uygulaması manifest dosyasındaki sürüm (min_version) şundan küçük veya bu sürüme eşit: yüklü uygulamanın sürümü
  • prefer_related_applications alanı true.
  • Platforma özel ödeme uygulaması yüklü ve aşağıdaki özelliklere sahip:
    • org.chromium.action.PAY intent filtresi.
    • org.chromium.default_payment_method_name özelliğinin değeri olarak belirtilen ödeme yöntemi tanımlayıcısı.

Android ödeme uygulamaları: geliştirici kılavuzuna göz atın. .

[ödeme işleyici] /manifest.json

"prefer_related_applications": true,
"related_applications": [{
  "platform": "play",
  "id": "xyz.bobpay.app",
  "min_version": "1",
  "fingerprints": [{
    "type": "sha256_cert",
    "value": "92:5A:39:05:C5:B9:EA:BC:71:48:5F:F2:05:0A:1E:57:5F:23:40:E9:E3:87:14:EC:6D:A2:04:21:E0:FD:3B:D1"
  }]
}]

Tarayıcı, platforma özel ödeme uygulamasının kullanılabildiğini belirlerse keşif akışı burada sonlandırılıyor. Aksi takdirde, sonraki adıma geçer. web tabanlı ödeme uygulamasını kullanıma sunuyoruz.

Web tabanlı ödeme uygulamasını kullanıma sunuyoruz

Web tabanlı ödeme uygulaması, web uygulaması manifestinin serviceworker alanında belirtilmelidir.

[ödeme işleyici] /manifest.json:

"serviceworker": {
  "src": "payment-handler.js"
}

Tarayıcı, bir paymentrequest göndererek web tabanlı ödeme uygulamasını başlatır hizmet çalışanına gönderir. Hizmet çalışanının ilerlemenizi sağlar. Tam zamanında kaydedilebilir.

Özel optimizasyonları anlama

Tarayıcılar Ödeme İsteği kullanıcı arayüzünü atlayıp doğrudan bir ödeme uygulamasını nasıl başlatabilir?

Chrome'da PaymentRequest için show() yöntemi çağrıldığında İstek API'sinde, "Ödeme İsteği Kullanıcı Arayüzü" adı verilen, tarayıcı tarafından sağlanan bir kullanıcı arayüzü görüntülenir. Bu Kullanıcı arayüzü, kullanıcıların bir ödeme uygulaması seçmesine olanak tanıyor. Devam düğmesine bastıktan sonra Ödeme İsteği kullanıcı arayüzünde, seçilen ödeme uygulaması başlatılır.

Ödeme İsteği kullanıcı arayüzü, ödeme uygulaması başlatılmadan önce devreye giriyor.

Bir ödeme uygulamasını kullanıma sunmadan önce Ödeme İsteği kullanıcı arayüzünün gösterilmesi, Kullanıcının ödemeyi tamamlaması için gereken adım sayısı. Süreci optimize etmek için tarayıcı, bu bilgilerin sağlanması için ödeme uygulamalarına yetki verebilir ve aşağıdaki durumlarda Ödeme İsteği kullanıcı arayüzünü göstermeden doğrudan bir ödeme show() çağrıldı.

Ödeme İsteği kullanıcı arayüzünü atlayın ve ödeme uygulamasını doğrudan başlatın.

Bir ödeme uygulamasını doğrudan başlatmak için aşağıdaki koşulların karşılanması gerekir:

  • show(), kullanıcı hareketiyle (örneğin, fare tıklaması) tetiklenir.
  • Aşağıdaki koşulları karşılayan yalnızca bir ödeme uygulaması vardır:
    • İstenen ödeme yöntemi tanımlayıcısını destekler.
ziyaret edin.

Web tabanlı bir ödeme uygulaması ne zaman tam zamanında (JIT) kaydedilir?

Web tabanlı ödeme uygulamaları, kullanıcının önceden açıkça ziyaret etmediği durumlarda başlatılabilir. ve hizmet çalışanının kaydını tutmalısınız. Hizmet kullanıcı ödeme yöntemini kullanarak ödeme yapmayı seçtiğinde, çalışan web tabanlı ödeme uygulaması. Kayıt zamanlaması iki farklı şekilde olabilir:

  • Ödeme İsteği kullanıcı arayüzü kullanıcıya gösteriliyorsa uygulama kayıtlıdır demektir. tam zamanında başlar ve kullanıcı Devam'ı tıkladığında başlatılır.
  • Ödeme İsteği kullanıcı arayüzü atlanırsa ödeme uygulaması kaydedilir. zamanında ve doğrudan satışa sunulur. Ödeme İsteği kullanıcı arayüzünü başlatma adımı atlanıyor Tam zamanında kayıtlı bir uygulamada, kullanıcının hareketinin kaynaklar arası hizmet çalışanlarının beklenmedik şekilde kaydı.
ziyaret edin.

Sonraki Adımlar

Ödeme uygulamanızı bulabildiğinize göre artık platforma özel bir uygulama geliştirmeyi öğrenebilirsiniz. ödeme uygulaması ve web tabanlı bir ödeme uygulaması.