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.
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:
- Kitaplığı yükleme
- Google Pay ile ödeme yapma kapasitesini belirleme
- Google Pay ile ödeme yapmak için düğmeyi gösterin
- Ödeme isteği oluşturma ve gönderme
- 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şlevonGooglePayLoaded
ş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
- Kitaplık referansına göz atın.
- Hata görürseniz uygulamanızla ilgili sorun giderme adımlarını uygulayın.
- Google Pay'i Android'e entegre etme hakkında daha fazla bilgi edinin.