Google Pay ile web'de hızlı ödeme deneyimi oluşturun

Google Pay API'si, kullanıcılara Google Hesaplarında kayıtlı ödeme bilgilerini kullanarak her yerde ödeme yapma fırsatı sunar. Bu laboratuvarda, daha kolay, daha güvenli ve daha güvenli bir deneyim oluşturarak, daha basit bir online mağazanın ödeme deneyimini iyileştirmek için web'de Google Pay'in istemci kitaplığından yararlanacaksınız. Bu da daha fazla dönüşüm ve müşteri memnuniyeti sağlayacak.

Auto T-Shirt Shop, yapay zeka alanındaki en son gelişmelerden yararlanan ve satın alınabilecek en uygun ürünü önermek için stil tercihleri, hava durumu, yılın saati ve moda trendleri gibi bilgileri kullanan yenilikçi bir mağazadır.

Bu mağaza için etkileşim metrikleri çatı üzerinden yapılır. Maalesef metrikler, ödeme işlemi sırasında çok sayıda vazgeçmeyi de yansıtıyor. Bu sorunun üstesinden gelmeye karar veren proje sahiplerinden biri, Google Pay'in benzer sitelerden elde ettiği umut vaat eden sonuçları gösteren bir video izlediğini fark ediyor. Bu nedenle, siteyi inceleyip ona entegre olma konusunda size güveniyor.

Oluşturacağınız uygulama

Bu codelab'de, kullanıcının Google Pay tarafından desteklenen ödeme yöntemini kullanarak ödeme yapıp yapamayacağı, ödeme düğmesinin yerleşimi ve tasarımı ve işlemin yürütülmesi de dahil olmak üzere, Google Pay'i mevcut bir siteye entegre etme adımları açıklanmaktadır.

Neler öğreneceksiniz?

  • Google Pay'i mevcut ödeme sayfasına entegre etme
  • Tercih ettiğiniz ödeme yöntemleri arasından seçim yapma
  • Kullanıcının Google Pay ile ödeme yapmaya hazır olup olmadığını belirleme

Gerekenler

  • İnternet erişimi olan bir bilgisayar
  • Temel JavaScript bilgisi

Örnek siteyi glitch.com'da çalıştırın

Olabildiğince hızlı şekilde çalışmaya başlamak için bu codelab, glitch.com'da kullanıma sunulmuştur. Glitch, web uygulamaları oluşturmak ve sunmak için kullanabileceğiniz bir kod düzenleyicinin yanı sıra barındırma ve dağıtım özellikleri sağlayan ücretsiz bir web tabanlı ortamdır.

Başlamak için, Glitch'te bu codelab'in bir kopyasıyla oluşturulmuş yeni bir geliştirme ortamının temel hazırlığını yapmak için aşağıdaki düğmeyi kullanın.

Glitch.com'da geliştirme ortamını başlatın

Bu aşamada, Glitch'teki kod düzenleyiciyi kullanarak dosyalarınızı değiştirebilirsiniz. En üstteki Göster menüsünü kullanarak uygulamanızı yayınlamaya başlayın ve Yeni Pencerede'yi seçin.

Örnek siteye göz atın

Gördüğünüz gibi, depoda karmaşık olmayan bir dosya yapısı var. Bu codelab'in birincil amacı, birlikte çalışmayı seçtiğiniz çerçeve, kitaplık veya araçlardan bağımsız olarak bu entegrasyonu mevcut ve gelecekteki uygulamalarınıza uyarlayabilmenizi sağlamaktır.

Siteyi keşfedin

Bu demo ticaret sitesi, satın alım yöntemi eklemeden önce, mevcut veya potansiyel uygulamanızın bugünkü görünümüne şahsen benzeyecek şekilde oluşturulmuş. Aslında bu demo uygulaması üzerinde çalışmanızı önermemize rağmen devam ederek Google Pay'i mevcut uygulamalarınıza entegre etmek için bu codelab'i kullanabilirsiniz.

Henüz yapmadıysanız demo sitesini şu anki haliyle açın. Bunu yapmak için Glitch'i kullanıyorsanız Göster düğmesini tıklayın veya yerel web sunucunuzun çalıştığı URL'yi açın.

Demo sitesinde şaşırtıcı bir şey yok, değil mi? Bir resim, fiyat, açıklama, birkaç seçici ve sizi hayali ve sıradan bir ödeme formuna yönlendiren bir düğmenin bulunduğu ürün ayrıntıları sayfası.

Bu laboratuvarın amacı, bu akışı Google Pay tarafından desteklenen iki tıklamalı deneyimle değiştirmektir.

Bunu planlayalım!

Bu entegrasyonu daha iyi anlamak için süreç aşağıdaki temel adımlara ayrılır:

  1. Kitaplığı yükleme
  2. Google Pay ile ödeme yapma kapasitesini belirleme
  3. Google Pay ile ödeme yapmak için düğmeyi gösterin
  4. Ödeme isteği oluşturma ve gönderme
  5. Sonuçları toplama

script etiketini ekleme

Google Pay API'yi kullanmaya başlamak için ilk olarak JavaScript kitaplığını yüklemeniz gerekir. Bunu yapmak için, API dosyasına çağırmak istediğiniz HTML dosyasına bir script etiketi ekleyin. Bu etiket, harici JavaScript kitaplığını işaret eden bir src özelliği de içerir.

Bu codelab için index.html dosyasını açın. Komut dosyası etiketinin sizin için zaten eklendiğini görürsünüz:

<script async
  src="https://pay.google.com/gp/p/js/pay.js"
  onload="onGooglePayLoaded()">
</script>

src özelliğine ek olarak iki özellik daha eklediniz.

  • async, komut dosyanızın sayfanın geri kalanıyla birlikte eşzamansız olarak yüklenmesine ve yürütülmesine olanak tanır. Böylece dokümanınızın ilk yükleme süresi etkilenmez.
  • onload, komut dosyanız yüklenene kadar bu kitaplığa bağlı kodun yürütülmesini ertelemenize yardımcı olur. İşlem tamamlandıktan sonra bu özellikte belirttiğiniz işlev çalıştırılır. Bu örnekte, işlev onGooglePayLoaded şeklindedir.

API istemcisini örneklendirme

Komut dosyanız yüklendikten sonra, bu kitaplığı kullanmaya başlamanız için her şey hazır olur. Daha sonra Google Pay API'ye çağrı yapmak için kullanacağınız istemci nesnesini örnekleyerek başlayın.

Bu projedeki dosya yapısının bir parçası olan index.js dosyasını düzenleyin. onGooglePayLoaded işlevini aşağıdaki kodla değiştirin.

let googlePayClient;
function onGooglePayLoaded() {
  googlePayClient = new google.payments.api.PaymentsClient({
    environment: 'TEST'
  });
}

Ödeme istemcisi bir PaymentOptions nesnesiyle başlatılır. environment özelliğini TEST olarak ayarlamak, entegrasyonun tamamında sahte ödeme bilgileriyle denemeler yapmanıza olanak tanır. Gerçek işlemleri destekleyen işlemler oluşturmaya hazır olduğunuzda, environment özelliğini PRODUCTION olarak güncelleyebilirsiniz.

Genel Bakış

Google Pay API JavaScript İstemci Kitaplığı'nı yükledik. Şimdi bu API'yi bizim için API çağrıları yapacak şekilde yapılandıralım.

Codelab'in geri kalanı için aşağıdaki kod değişikliklerinin tümü index.js dosyasına yapılır.

İskelet

Google Pay API ile her iletişim kurduğunuzda, hedeflediğiniz API'nin sürümü gibi isteklerinize dahil etmeniz gereken çeşitli yapılandırma parametreleri bulunur. Bu codelab'in amacına uygun olarak bu nesne de başvurunuzda kabul edilen ödeme yöntemleri hakkında bilgi içerir. Son yapı aşağıdaki gibi görünür:

{
  apiVersion: number,
  apiVersionMinor: number,
  allowedPaymentMethods: Array
}

allowedPaymentMethods mülkü, ödeme yöntemlerinin listesini alır. Her ödeme yöntemi için aşağıdaki özellikleri eklemeniz gerekir:

{
  type: 'CARD',
  parameters: {
    allowedCardNetworks: Array.<string>,
    allowedAuthMethods: Array.<string>
  }
}

Söz konusu kullanıcının Google Pay ile ödeme yapıp yapamayacağını belirlemek için yalnızca type ve parameters mülkleri gerekir.

Ödeme yöntemi yapılandırması

Bu örnekte, yalnızca jeton ve birincil hesap numarası (PAN) formlarında Mastercard ve Visa için kart ödemelerine izin veren bir yapılandırma kabul etmiş olursunuz.

index.js içinde yapılandırmanız şu şekilde ayarlanmalıdır:

const baseCardPaymentMethod = {
  type: 'CARD',
  parameters: {
    allowedCardNetworks: ['VISA','MASTERCARD'],
    allowedAuthMethods: ['PAN_ONLY','CRYPTOGRAM_3DS']
  }
};

Özet

Özetleyelim.

Web sitenizde kabul edilecek bir ödeme yöntemi tanımladınız ve API'nin 2.0 sürümüyle çalışacaksınız. Elde edilen yapılandırma aşağıdaki gibi olacaktır:

const baseCardPaymentMethod = {
  type: 'CARD',
  parameters: {
    allowedCardNetworks: ['VISA','MASTERCARD'],
    allowedAuthMethods: ['PAN_ONLY','CRYPTOGRAM_3DS']
  }
};

const googlePayBaseConfiguration = {
  apiVersion: 2,
  apiVersionMinor: 0,
  allowedPaymentMethods: [baseCardPaymentMethod]
};

Artık temel konfigürasyonunuzu hazırladığınıza göre şimdi en eğlenceli bölüme geçebiliriz.

Google Pay'in temel hedeflerinden biri, kullanıcılarınıza daha hızlı ve daha kolay bir ödeme deneyimi sunmaktır. Bu, bir kullanıcının Google Pay'i kullanabileceği durumlar için de geçerli değildir. Aynı zamanda, isReadyToPay isteğini kullanarak Google Pay ile ödeme yapmaya hazır olup olmadığınızı ve sitenizdeki deneyimi uygun şekilde değiştirme fırsatını belirleyebilirsiniz.

Kullanıcınız Google Pay ile ödeme yapabiliyor mu?

Yapmanız gereken ilk şey, sitenizde ödeme yapmak üzere olan belirli bir kullanıcının Google Pay'i kullanıp kullanamayacağını kontrol etmektir. Bu istek, Google Pay API'nin sürümünü ve siteniz için izin verilen ödeme yöntemlerini belirtmenizi gerektirir. Önceki adımda tanımlanan temel yapılandırma nesnesi tam olarak bunu içerir.

onGooglePayLoaded() işlevinin içindeki index.js öğesine aşağıdakileri yapıştırın:

googlePayClient.isReadyToPay(googlePayBaseConfiguration)
  .then(function(response) {
    if(response.result) {
      createAndAddButton();
    } else {
      alert("Unable to pay using Google Pay");
    }
  }).catch(function(err) {
    console.error("Error determining readiness to use Google Pay: ", err);
  });

Arama başarısız olursa veya başarısız bir yanıtla sonuçlanırsa Google Pay bağlamında başka bir işlem yapılmaz. Bu durumda en uygun adım, diğer ödeme yöntemlerini destekleyen ek kullanıcı arayüzünü göstermektir.

Diğer yandan, yanıt başarılı olursa artık kullanıcılarınızın Google Pay'den faydalanmasına olanak tanıyabilirsiniz. Dolayısıyla, devam ederek kullanıcı etkinleştirmesinde (örneğin, düğme tıklaması) ödeme işlemini başlatmak için bir düğme ekleyebilirsiniz.

Google Pay ile ödeme yapmak için bir düğme ekleyin

Ödeme işlemini başlatmak için Google Pay marka kurallarına uygun tüm düğmeleri kullanabilirsiniz, ancak Google Pay API'yi kullanarak bir düğme oluşturmanızı öneririz. Bu şekilde, marka kurallarının doğru şekilde kullanılmasını sağlamakla kalmaz, aynı zamanda yerelleştirme gibi doğrudan düğmeye yerleştirilmiş diğer iyileştirmelerden de yararlanırsınız.

Düğme oluşturmak için PaymentsClient nesnesinde createButton düğmesini kullanın ve düğmeyi yapılandırmak için ButtonOptions'ı kullanın.

createAndAddButton() işlevinin içindeki index.js öğesine aşağıdakileri yapıştırın:

function createAndAddButton() {

  const googlePayButton = googlePayClient.createButton({

    // currently defaults to black if default or omitted
    buttonColor: 'default',

    // defaults to long if omitted
    buttonType: 'long',

    onClick: onGooglePaymentsButtonClicked
  });

  document.getElementById('buy-now').appendChild(googlePayButton);
}

function onGooglePaymentsButtonClicked() {
  // TODO: Perform transaction
}

createButton kullanılırken gereken tek özellik, kullanıcılarınız düğmeyi her etkinleştirdiğinde tetiklenecek geri çağırma nesnesini veya işlevini belirlemek için gerekli olan onClick değeridir. buttonColor ve buttonType, düğmenizin görünümünü özelleştirmenize olanak tanır. Uygulamanızın teması ve kullanıcı arayüzü koşullarına göre bu başlıkları gerektiği şekilde değiştirin.

Düğme oluşturulduktan sonra, tek yapmanız gereken DOM'daki uygun bir düğüme eklemektir. Bu örnekte, buy-now ile tanımlanan bir div düğümü bu amaçla kullanılır.

Düğme tıklama etkinliklerini işlemek için bir işlev tanımladığınızı da görebilirsiniz. Sonraki bölümde, bir ödeme yöntemi istemek için bu işlevi kullanacaksınız.

Ödeme isteğini hazırlama

Bu noktada Google Pay API'yi yüklediniz ve sitenizin kullanıcısının ödeme yapmak için Google Pay'i kullanabileceğini belirlediniz. Bunun sonucunda, kullanıcı arayüzünde Google Pay ödeme düğmesini gösterdiniz ve kullanıcınız artık işlemi başlatmaya hazır. Artık, giriş yapan farklı kullanıcılara sunulan ödeme şekillerini içeren son ödeme sayfasını yüklemenin zamanı geldi.

Daha önce yaptığınız gibi, isReadyToPay isteğinin tanımı sırasında bu çağrı, bazı yeni özelliklerin yanı sıra daha önce tanımlanan temel yapılandırma nesnesindeki (apiVersion, apiVersionMinor ve allowedPaymentMethods) mülkleri de gerektirir. Bu sefer, ödeme yöntemlerinizde bu isteğin amacıyla ilgili yeni bir mülk, tokenizationSpecification ve ek parameters bulunuyor. transactionInfo ve merchantInfo özelliklerinin de eklenmesi gerekir.

Ödeme yöntemlerinize gerekli ek bilgileri ekleme

Daha önce kullanılan temel kart ödeme yönteminin bir kopyasını oluşturarak başlayın. Bu kart ödeme yönteminde artık, seçilen ödeme yöntemiyle ilgili verilerin nasıl işleneceğini ve gerçek işlem için gereken diğer veri gereksinimlerinin (bu örnekte tam fatura adresi ve telefon numarası) tanımlanması için tokenizationSpecification mülkü gerekiyor.

tokenizationSpecification özelliği

Jeton spesifikasyonu, müşterileriniz tarafından seçilen ödeme yönteminin nasıl işleneceğini ve bir işlemi tamamlamak için nasıl kullanılacağını belirler.

Desteklenen iki farklı işlem stratejisi türü vardır. Ödeme işlemini PCI DSS uyumlu sunucularınızdan gerçekleştiriyorsanız DIRECT spesifikasyon türünü kullanın. Bu örnekte, ödemeyi işlemek için bir ödeme ağ geçidi kullanırsınız. Dolayısıyla, PAYMENT_GATEWAY spesifikasyon türünü ayarlarsınız.

onGooglePaymentsButtonClicked() işlevinin içindeki index.js öğesine aşağıdakileri yapıştırın:

const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    gateway: 'example',
    gatewayMerchantId: 'gatewayMerchantId'
  }
};

parameters bölümünde, her bir ağ geçidi için gereken ek yapılandırmanın yanı sıra Google Pay API'nin desteklediği sağlayıcılar listesinden bir ağ geçidi belirtebilirsiniz. Bu laboratuvarın amaçları doğrultusunda, yürütülen işlemler için test sonuçları veren example ağ geçidinin kullanılması yeterlidir.

Ek parametreler

Benzer şekilde, artık işlemi başarıyla gerçekleştirmek için sağlamanız gereken bilgiler hakkında daha fazla ayrıntı verebilirsiniz. Bu örnekte, billingAddressRequired ve billingAddressParameters özelliklerini eklemeniz gerekir. Bu işlem için, kullanıcının fatura adresinin telefon numarası da dahil olmak üzere tam biçiminde olması gerektiğini belirtin.

onGooglePaymentsButtonClicked() işlevinin içindeki index.js öğesine aşağıdakileri yapıştırın:

const cardPaymentMethod = {
  type: 'CARD',
  tokenizationSpecification: tokenizationSpecification,
  parameters: {
    allowedCardNetworks: ['VISA','MASTERCARD'],
    allowedAuthMethods: ['PAN_ONLY','CRYPTOGRAM_3DS'],
    billingAddressRequired: true,
    billingAddressParameters: {
      format: 'FULL',
      phoneNumberRequired: true
    }
  }
};

İşlem hakkında bilgi ekleme

transactionInfo özelliği, işlemle ilgili finansal ayrıntıları (ör. fiyat ve para birimi kodu (ISO 4217 alfa biçimi)) içeren bir nesne içerir. Bu durum, işlemin niteliğine bağlı olarak son veya tahmini olabilir (örneğin, fiyat belirtilen gönderim adresine göre değişebilir).

onGooglePaymentsButtonClicked() işlevinin içindeki index.js öğesine aşağıdakileri yapıştırın:

const transactionInfo = {
  totalPriceStatus: 'FINAL',
  totalPrice: '123.45',
  currencyCode: 'USD'
};

Satıcı hakkında bilgi ekleme

Ödeme isteği, merchantInfo mülkü altında isteği gerçekleştiren satıcıyla ilgili bilgileri alır. Bu codelab'de bunların ikisine odaklanacaksınız:

  • merchantId, sitenizin Google tarafından üretimde çalışmasını onayladıktan sonra hesabınızla ilişkilendirilen tanımlayıcıyı bekler. TEST ortamı kullanılırken bu durumun değerlendirilmediğini unutmayın.
  • merchantName, sitenizin veya kuruluşunuzun kullanıcılara görünen adıdır. Google Pay ödeme sayfasının içinde, işlemi kimin istediği hakkında kullanıcılara daha fazla bilgi sunmak için gösterilebilir.

onGooglePaymentsButtonClicked() işlevinin içindeki index.js öğesine aşağıdakileri yapıştırın:

const merchantInfo = {
  // merchantId: '01234567890123456789', Only in PRODUCTION
  merchantName: 'Example Merchant Name'
};

Ödeme bilgilerini isteme ve sonucu işleme

Şimdi, önceden tanımlanmış yapılandırmayı nihai paymentDataRequest nesnesiyle birleştirin.

onGooglePaymentsButtonClicked() işlevinin içindeki index.js öğesine aşağıdakileri yapıştırın:

const paymentDataRequest = Object.assign({}, googlePayBaseConfiguration, {
  allowedPaymentMethods: [cardPaymentMethod],
  transactionInfo: transactionInfo,
  merchantInfo: merchantInfo   
});

Bu aşamada, Google Pay API'den geçerli bir ödeme şekli istemek için ihtiyacınız olan her şeye sahip olursunuz. Bunu yapmak için PaymentsClient nesnesinde loadPaymentData yöntemini kullanarak, az önce tanımladığınız yapılandırmayı iletin.

onGooglePaymentsButtonClicked() işlevinin içindeki index.js öğesine aşağıdakileri yapıştırın:

googlePayClient
  .loadPaymentData(paymentDataRequest)
  .then(function(paymentData) {
    processPayment(paymentData);
  }).catch(function(err) {
    // Log error: { statusCode: CANCELED || DEVELOPER_ERROR }
  });

loadPaymentData yönteminin çağrılması Google Pay ödeme sayfasının yayınlanmasını tetikler. Yapılandırma hatası yoksa o anda giriş yapmış olan hesapla ilişkili geçerli ödeme yöntemlerinin listesini görebilirsiniz.

Seçim yaptığınızda, sayfa kapanır ve Promise, seçilen ödeme yöntemiyle ilgili bilgileri içeren bir PaymentData nesnesiyle karşılanır:

{
  "apiVersionMinor": 0,
  "apiVersion": 2,
  "paymentMethodData": {
    "description": "Visa •••• 1234",
    "tokenizationData": {
      "type": "PAYMENT_GATEWAY",
      "token": "examplePaymentMethodToken"
    },
    "type": "CARD",
    "info": {
      "cardNetwork": "VISA",
      "cardDetails": "1234",
      "billingAddress": {
        "phoneNumber": ...,
        ...
      }
    }
  }
}

Gerçek işlemi gerçekleştirmek için bu ödeme yöntemi bilgisini artık kullanabilirsiniz.

function processPayment(paymentData) {
  // TODO: Send a POST request to your processor with the payload
  // https://us-central1-devrel-payments.cloudfunctions.net/google-pay-server 
  // Sorry, this is out-of-scope for this codelab.
  return new Promise(function(resolve, reject) {
    // @todo pass payment token to your gateway to process payment
    const paymentToken = paymentData.paymentMethodData.tokenizationData.token;
    console.log('mock send token ' + paymentToken + ' to payment processor');
    setTimeout(function() {
      console.log('mock response from processor');
      alert('done');
      resolve({});
    }, 800);
  });
}

Şimdiye kadar, sabit ödeme tutarı olan işlemleri inceledik. Ancak fiyatı, işlemin belirli özelliklerinin (ör. gönderim ayrıntıları) seçimine göre güncellemek istediğinizi varsayalım. Bunu, istemciyi oluştururken paymentDataCallback parametresini sağlayarak yapabilirsiniz. Bu geri çağırma, işlemdeki değişiklikleri yönetmek ve değişiklikleri buna göre uygulamak için kullanılır. Gönderim adresi, gönderim seçeneği ve ödeme yönteminde yapılan değişiklikleri dinleyebilirsiniz. Bu örnekte, seçili gönderim seçeneğindeki değişiklikleri duyarsınız. Öncelikle, tüm gönderim bilgilerini içeren değişkenleri tanımlayın ve bunları paymentDataRequest içerecek şekilde değiştirin:

const shippingOptionParameters = {
  shippingOptions: [
    {
      id: 'shipping-001',
      label: '$1.99: Standard shipping',
      description: 'Delivered on May 15.'
    },
    {
      id: 'shipping-002',
      label: '$3.99: Expedited shipping',
      description: 'Delivered on May 12.'
    },
    {
      id: 'shipping-003',
      label: '$10: Express shipping',
      description: 'Delivered tomorrow.'
    }
  ]
};

// Shipping surcharges mapped to the IDs above.
const shippingSurcharges = {
  'shipping-001': 1.99,
  'shipping-002': 3.99,
  'shipping-003': 10
};

...

// Place inside of onGooglePaymentsButtonClicked()
paymentDataRequest.shippingAddressRequired = true;
paymentDataRequest.shippingOptionRequired = true;
paymentDataRequest.callbackIntents = ['SHIPPING_OPTION'];
paymentDataRequest.shippingOptionParameters =  shippingOptionParameters;

Ardından, googlePayClient içinde oluşturma işlemini, paymentDataCallback öğesinde callbackIntents içerecek şekilde bir değişiklik yapıldığında çağrılacak şekilde değiştirirsiniz. Bu geri çağırma, özellikleri değiştirilmiş bir nesne içeriyor. Güncellenmiş bir ödeme işlemi oluşturmak için aşağıdaki değişiklikleri kullanabilirsiniz:

function onGooglePayLoaded() {
  googlePayClient = new google.payments.api.PaymentsClient({
    paymentDataCallbacks: { onPaymentDataChanged: paymentDataCallback },
    environment: 'TEST'
  });
  ...
}

function paymentDataCallback(callbackPayload) {

  const selectedShippingOptionId = callbackPayload.shippingOptionData.id;
  const shippingSurcharge = shippingSurcharges[selectedShippingOptionId];
  const priceWithSurcharges = 123.45 + shippingSurcharge;

  return {
    newTransactionInfo: {
      totalPriceStatus: 'FINAL',
      totalPrice: priceWithSurcharges.toFixed(2),
      totalPriceLabel: 'Total',
      currencyCode: 'USD',
      displayItems: [
        {
          label: 'Subtotal',
          type: 'SUBTOTAL',
          price: priceWithSurcharges.toFixed(2),
        },
        {
          label: 'Shipping',
          type: 'LINE_ITEM',
          price: shippingSurcharge.toFixed(2),
          status: 'FINAL'
        }]
    }
  }
};

Geri çağırma sırasında bu yeni nesnenin iade edilmesinin ardından, ödeme sayfasında sunulan bilgiler, işlemde yapılan değişiklikleri yansıtacak şekilde güncellenir.

Entegrasyonun düzgün şekilde çalıştığını test ettiğinize göre bir adım ileri giderek Google Pay'in kullanılabileceğini belirledikten hemen sonra ödeme yapılandırmanızı önceden getirebilirsiniz. Bu işlem, kullanıcı Google Pay ödeme düğmesini etkinleştirmeden önce gerçekleşir.

Ödeme verilerini önceden getirirseniz kullanıcınız ödeme yapmaya karar verdiğinde, sayfanın yüklenmesi için gerekli olan bilgiler zaten kullanılabilir hale gelir ve yükleme süresini önemli ölçüde azaltarak genel deneyimi iyileştirir.

Bu yöntemde loadPaymentData ile aynı giriş beklenir. Yani daha önce tanımlanan paymentDataRequest nesnesini kullanabilirsiniz. Artık, isReadyToPay başarıyla başarıyla döndürüldükten sonra, kullanıcının Google Pay'i kullanabileceğine karar verdiğiniz anda, önceden getirme yöntemine çağrı yapmanız yeterlidir:

googlePayClient.isReadyToPay(googlePayBaseConfiguration)
  .then(function(response) {
    if(response.result) {
      createAndAddButton();
      googlePayClient.prefetchPaymentData(paymentDataRequest);
    }
  });

Aynı şekilde, ödeme düğmesini kullanıcı düğmeyi tıklamadan önce önceden getirerek yükleme süresini kısaltmış olabilirsiniz. Sitenizin yanıt verme hızının artması, dönüşüm oranınızı da artırır.

Google Pay API'yi bu codelab'deki örnek siteye veya kendi uygulamanıza başarıyla entegre ettiniz.

Şimdi bunu üretime dahil etmek için entegrasyon kontrol listesine göz atmayı unutmayın. İşlem tamamlandıktan ve müşteri yapılandırmanıza ekleyebileceğiniz bir satıcı tanımlayıcısı alırsınız. Benzer şekilde, bir üçüncü taraf ödeme işleyicisi veya ağ geçidi kullanmayı planlıyorsanız (veya zaten kullanıyorsanız) Google Pay'deki desteklenen sağlayıcıların listesine göz atın ve kendi ağınızı yapılandırın. Doğrudan Google Pay ile entegrasyon yapıyorsanız bu konuyla ilgili belgeler bölümüne göz atabilirsiniz.

Ele aldığımız konular

  • Google API'sini sitenize aktarın ve yapılandırın.
  • API desteğini belirleyin ve gereken şekilde karşılık verin.
  • Kullanıcıların Google Pay'i kullanarak ödeme yapmasına olanak tanıyan bir düğme ekleyin.
  • Önceden depolanan kullanıcı ödeme bilgilerini yükleme ve işleme.
  • Ödeme bilgilerini önceden getirerek yükleme süresini optimize edin.

Sonraki adımlar

  • Google Pay hakkında daha fazla bilgi edinin.
  • Entegrasyon kontrol listesini inceleyin ve bir satıcı tanımlayıcısı alın.
  • İki farklı entegrasyon türüne bakın ve hangisinin daha uygun olduğuna karar verin: doğrudan entegrasyon veya ödeme ağ geçidi veya işlemci kullanma.
  • Ödeme işlemini başlatmak ve ödemenin yetkilendirme durumunu onaylamak için Ödemeleri Yetkilendir ayarını yapın. (Kimlik Doğrulama veya Reddetme)

Daha fazla bilgi

Bunu yararlı buldunuz mu?

Çok faydalı! Beklentileri karşılayacak kadar. Pek doğru sayılmaz.

Diğer entegrasyon türleriyle (Android, doğrudan entegrasyon, bağlılık API'leri) ilgili size yardımcı olacak diğer codelab'leri görmek ister misiniz?

Evet, lütfen harika! Elde ettiğim şeyden memnunum.