Google Pay API, kullanıcıların Google Hesaplarında depolanan ödeme bilgilerini kullanarak her yerde ödeme yapmasına olanak tanır. Bu laboratuvarda, daha hızlı, daha rahat ve daha güvenli bir deneyim oluşturarak basitleştirilmiş örnek bir online mağazanın ödeme deneyimini iyileştirmek için Google Pay'in web için istemci kitaplığından yararlanacaksınız. Bu da daha fazla dönüşüm ve daha mutlu müşteriler elde etmenizi sağlayacak.
Auto T-Shirt Shop, yapay zekadaki en son gelişmelerden yararlanan ve satın alabileceğiniz en uygun öğeyi önermek için stil tercihleri, hava durumu, yılın zamanı ve moda trendleri gibi bilgileri kullanan yenilikçi bir mağazadır.
Bu mağazanın etkileşim metrikleri çok yüksek. Maalesef metrikler, ödeme işlemi sırasında çok sayıda terk etme olduğunu da gösteriyor. Bu sorunu çözmeye kararlı olan proje sahiplerinden biri, Google Pay'in benzer siteler için sağladığı umut verici sonuçları gösteren bir video izlediğini hatırlıyor. Bu nedenle, Google Pay'i denemeye karar veriyor ve entegrasyonu sizin yapacağınızdan emin oluyor.
Ne oluşturacaksınız?
Bu codelab'de, Google Pay'in mevcut bir siteye entegrasyonu (kullanıcının Google Pay tarafından desteklenen bir ödeme yöntemiyle ödeme yapıp yapamayacağını belirleme, ödeme düğmesinin yerleştirilmesi ve tasarımı, işlemin yürütülmesi dahil) adım adım açıklanmaktadır.
Neler öğreneceksiniz?
- Google Pay'i mevcut bir ö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
İhtiyacınız olanlar
- İnternet erişimi olan bir bilgisayar
- Temel JavaScript bilgisi
Örnek siteyi glitch.com'da çalıştırma
Bu codelab'i mümkün olduğunca hızlı bir şekilde kullanmaya başlamanız için glitch.com'da kullanıma sunduk. Glitch, web uygulamaları oluşturup yayınlamak için kullanabileceğiniz bir kod düzenleyici, barındırma ve dağıtım özellikleri sağlayan ücretsiz bir web tabanlı ortamdır.
Başlamak için aşağıdaki düğmeyi kullanarak Glitch'te bu codelab'in bir kopyasıyla önceden ayarlanmış yeni bir geliştirme ortamı sağlayın.
Bundan sonra, dosyalarınızı değiştirmek için Glitch'teki kod düzenleyiciyi kullanabilirsiniz. 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 atma
Gördüğünüz gibi, depoda basit bir dosya yapısı bulunur. Bu codelab'in temel amacı, bu entegrasyonu mevcut ve gelecekteki uygulamalarınıza, birlikte çalışmayı seçtiğiniz çerçevelerden, kitaplıklardan veya araçlardan bağımsız olarak uyarlayabilmenizi sağlamaktır.
Siteyi keşfetme
Bu demo pazar yeri, satın alma yöntemi eklemeden önce mevcut veya potansiyel uygulamanızın bugün nasıl görünebileceğine benzer şekilde oluşturulmuştur. Hatta bu demo uygulaması üzerinde çalışmanızı önersek de Google Pay'i mevcut uygulamalarınıza entegre etmek için bu codelab'i kullanabilirsiniz.
Şimdi, henüz yapmadıysanız demo sitesini mevcut haliyle açın. Bunu yapmak için Glitch kullanıyorsanız Show (Göster) düğmesini tıklayın veya yerel web sunucunuzun çalıştığı URL'yi açın.
Demo sitesi şaşırtıcı bir şey değil, değil mi? Resim, fiyat, açıklama, bazı seçiciler ve sizi hayali ve sıradan bir ödeme formuna götüren bir düğme içeren bir ürün ayrıntıları sayfası.
Bu laboratuvarın amacı, bu akışı Google Pay destekli iki tıklamalı bir deneyimle değiştirmektir.
Bunu planlayalım.
Bu entegrasyonu daha iyi anlamak için süreç aşağıdaki temel adımlara ayrılmıştır:
- Kitaplığı yükleme
- Google Pay ile ödeme yapma özelliğini belirleme
- Google Pay ile ödeme düğmesini gösterme
- Ödeme isteği oluşturma ve gönderme
- Sonuçları toplama
script
etiketini ekleyin
Google Pay API'yi kullanmaya başlamak için yapmanız gereken ilk şey JavaScript kitaplığını yüklemektir. Bunu yapmak için API'yi çağırmayı planladığınız HTML dosyasına, harici JavaScript kitaplığına işaret eden bir src
özelliği de dahil olmak üzere bir script
etiketi ekleyin.
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üklenip yürütülmesine olanak tanır. Böylece belgenizin ilk yüklenme süresi etkilenmez.onload
, bu kitaplığa bağlı kodun yürütülmesini komut dosyanız yüklenene kadar ertelemenize yardımcı olur. Bu işlem tamamlandıktan sonra, bu özellikte belirttiğiniz işlev çalıştırılır. Bu durumda işlevonGooglePayLoaded
olur.
API istemcisini oluşturma
Komut dosyanız yüklendikten sonra bu kitaplığı kullanmaya başlayabilirsiniz. Önce istemci nesnesini oluşturarak başlayın. Bu nesneyi daha sonra Google Pay API'ye çağrı yapmak için kullanacaksınız.
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, PaymentOptions
nesnesiyle başlatılır. environment
değerini TEST
olarak ayarladığınızda entegrasyonun tamamında sahte ödeme bilgileriyle denemeler yapabilirsiniz. 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 de API çağrıları yapacak şekilde yapılandıralım.
Bu kod laboratuvarının geri kalanında yapılacak tüm kod değişiklikleri index.js
dosyasına uygulanacaktır.
İskelet
Google Pay API ile her iletişim kurduğunuzda, isteklerinize dahil etmeniz gereken bir dizi yapılandırma parametresi (ör. hedeflediğiniz API'nin sürümü) vardır. Bu codelab'de, bu nesne uygulamanızda kabul edilen ödeme yöntemleri hakkında da bilgiler içerir. Nihai yapı aşağıdaki gibi görünür:
{
apiVersion: number,
apiVersionMinor: number,
allowedPaymentMethods: Array
}
allowedPaymentMethods
tesisinde ödeme yöntemleri listesi kabul ediliyor. 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
özellikleri gereklidir.
Ödeme yöntemi yapılandırması
Bu örnekte, yalnızca bir yapılandırmayı kabul edeceksiniz. Bu yapılandırma, hem belirteçli hem de birincil hesap numarası (PAN) biçiminde Mastercard ve Visa ile kart ödemelerine izin verir.
Yapılandırmanız index.js
'da ş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 şu şekilde görünmelidir:
const baseCardPaymentMethod = {
type: 'CARD',
parameters: {
allowedCardNetworks: ['VISA','MASTERCARD'],
allowedAuthMethods: ['PAN_ONLY','CRYPTOGRAM_3DS']
}
};
const googlePayBaseConfiguration = {
apiVersion: 2,
apiVersionMinor: 0,
allowedPaymentMethods: [baseCardPaymentMethod]
};
Temel yapılandırmanız hazır olduğuna göre şimdi eğlenceli kısma geçelim.
Google Pay'in temel amaçlarından biri, kullanıcılarınıza daha hızlı ve rahat bir ödeme deneyimi sunmaktır. Bu durum, kullanıcının Google Pay'i kullanabildiği durumların yanı sıra kullanamadığı durumlar için de geçerlidir. isReadyToPay
isteğini kullanarak Google Pay ile ödeme yapmaya hazır olup olmadığını belirleyebilir ve deneyimi sitenizde buna göre değiştirebilirsiniz.
Kullanıcınız Google Pay ile ödeme yapabiliyor mu?
Yapmanız gereken ilk şey, sitenizde ödeme yapacak belirli bir kullanıcının Google Pay'i kullanıp kullanamayacağını kontrol etmektir. Bu istek için Google Pay API'sinin sürümünü ve sitenizde izin verilen ödeme yöntemlerini belirtmeniz gerekir. Bu, önceki adımda tanımlanan temel yapılandırma nesnesinin tam olarak içerdiğidir.
index.js
içinde, onGooglePayLoaded()
işlevine 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 geri dönerse Google Pay bağlamında başka bir işlem yapılması gerekmez. Bu durumda, en uygun sonraki adım diğer ödeme yöntemlerini destekleyen ek kullanıcı arayüzü göstermektir.
Diğer yandan, yanıt başarılı olursa kullanıcılarınızın Google Pay'den yararlanmasına izin vermeye hazırsınız demektir. Bu durumda, kullanıcı etkinleştirildiğinde ödeme sürecini başlatacak bir düğme (ör. düğme tıklama) ekleyebilirsiniz.
Google Pay ile ödeme yapma düğmesi ekleme
Ödeme sürecini başlatmak için Google Pay marka kurallarına uyan herhangi bir düğmeyi kullanabilirsiniz ancak Google Pay API'yi kullanarak bir düğme oluşturmanızı öneririz. Bu sayede, marka kurallarının doğru şekilde kullanılmasını sağlamanın yanı sıra düğmeye doğrudan yerleştirilmiş yerelleştirme gibi diğer iyileştirmelerden de yararlanabilirsiniz.
Düğme oluşturmak için createButton
yöntemini PaymentsClient
nesnesinde kullanın. Düğmeyi yapılandırmak için ButtonOptions'ı da ekleyin.
index.js
içinde, createAndAddButton()
işlevine 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 tek zorunlu özellik onClick
'dir. Bu özellik, kullanıcılarınız düğmeyi her etkinleştirdiğinde tetiklenecek geri çağırma nesnesini veya işlevini belirlemek için gereklidir. buttonColor
ve buttonType
, düğmenizin görünümünü özelleştirmenize olanak tanır. Uygulamanızın temasına ve kullanıcı arayüzü gereksinimlerine göre bunları uygun şekilde ayarlayın.
Düğme oluşturulduktan sonra yapmanız gereken tek şey, düğmeyi DOM'daki uygun bir düğüme eklemektir. Bu örnekte, bu amaçla div
ile tanımlanan bir buy-now
düğümü kullanılmaktadır.
Düğme tıklama etkinliklerini işleyecek bir işlev de tanımladığınızdan emin olun. Bir sonraki bölümde, ö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 kullanabildiğini belirlediniz. Sonuç olarak, 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 farklı oturum açmış kullanıcılar için kullanılabilen ödeme şekillerini içeren nihai ödeme sayfasını yükleme zamanı.
Daha önce yaptığınız gibi, isReadyToPay
isteği tanımlanırken bu çağrı da bazı yeni özelliklerin yanı sıra daha önce tanımlanan temel yapılandırma nesnesindeki özellikleri (apiVersion
, apiVersionMinor
ve allowedPaymentMethods
) gerektirir. Bu sefer, tokenizationSpecification
adlı yeni bir mülk ve bu isteğin amacı için geçerli olan ödeme yöntemlerinizde ek parameters
var. Ayrıca transactionInfo
ve merchantInfo
özelliklerinin 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öntemi artık seçilen ödeme yöntemiyle ilgili verilerin nasıl işleneceğini tanımlamak için bir tokenizationSpecification
özelliği gerektiriyor. Ayrıca, gerçek işlem için gereken başka veri şartları da var. Bu örnekte, açık fatura adresi ve telefon numarası gibi.
tokenizationSpecification
özelliği
Belirtkeleme spesifikasyonu, müşterilerinizin seçtiği ödeme yönteminin nasıl işleneceğini ve bir işlemi tamamlamak için nasıl kullanılacağını belirler.
İki farklı işleme stratejisi türü desteklenir. Ödeme işlemini PCI DSS'ye uygun sunucularınızdan işliyorsanız DIRECT
spesifikasyon türünü kullanın. Bu örnekte, ödemeyi işlemek için bir ödeme ağ geçidi kullanıyorsunuz. Bu nedenle, PAYMENT_GATEWAY
spesifikasyon türünü ayarlıyorsunuz.
index.js
içinde, onGooglePaymentsButtonClicked()
işlevine aşağıdakileri yapıştırın:
const tokenizationSpecification = {
type: 'PAYMENT_GATEWAY',
parameters: {
gateway: 'example',
gatewayMerchantId: 'gatewayMerchantId'
}
};
parameters
bölümünde, Google Pay API tarafından desteklenen sağlayıcılar listesinden bir ağ geçidi ve her ağ geçidi için gereken ek yapılandırmayı belirtebilirsiniz. Bu laboratuvar için, gerçekleştirilen işlemlerin test sonuçlarını veren example
ağ geçidini kullanmak yeterlidir.
Ek parametreler
Benzer şekilde, artık işlemi başarıyla gerçekleştirmek için talep etmeniz gereken bilgiler hakkında daha fazla ayrıntı sağlayabilirsiniz. Bu örnekte, kullanıcının fatura adresinin telefon numarası da dahil olmak üzere tam biçimde girilmesi gerektiğini belirtmek için billingAddressRequired
ve billingAddressParameters
özelliklerini eklemeniz gerekir.
index.js
içinde, onGooglePaymentsButtonClicked()
işlevine 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
}
}
};
İşlemle ilgili bilgi ekleme
transactionInfo
özelliği, işlemle ilgili finansal ayrıntıları içeren bir nesne içerir. Bu nesnede, işlemin niteliğine bağlı olarak(örneğin, belirtilen kargo adresine göre fiyat değişebilir) nihai veya tahmini olabilen fiyatın durumu ile birlikte fiyat ve para birimi kodu (ISO 4217 alfa biçimi) yer alır.
index.js
içinde, onGooglePaymentsButtonClicked()
işlevine 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, isteği gerçekleştiren satıcı hakkındaki bilgileri merchantInfo
özelliği altında alır. Bu codelab'de bunlardan ikisine odaklanacaksınız:
-
merchantId
, sitenizin Google tarafından üretimde çalışması onaylandıktan sonra hesabınızla ilişkilendirilen tanımlayıcıyı bekler. Bu durumunTEST
ortamı kullanılırken değerlendirilmediğini unutmayın. merchantName
, sitenizin veya kuruluşunuzun kullanıcılar tarafından görülebilen adıdır. Bu, kullanıcılara işlemi kimin istediği hakkında daha fazla bilgi vermek için Google Pay ödeme sayfasında gösterilebilir.
index.js
içinde, onGooglePaymentsButtonClicked()
işlevine 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, daha önce tanımlanan yapılandırmayı nihai paymentDataRequest
nesnesiyle birleştirin.
index.js
içinde, onGooglePaymentsButtonClicked()
işlevine aşağıdakileri yapıştırın:
const paymentDataRequest = Object.assign({}, googlePayBaseConfiguration, {
allowedPaymentMethods: [cardPaymentMethod],
transactionInfo: transactionInfo,
merchantInfo: merchantInfo
});
Bu noktada, Google Pay API'den geçerli bir ödeme şekli istemek için ihtiyacınız olan her şeye sahipsiniz. Bunu yapmak için PaymentsClient
nesnesindeki loadPaymentData
yöntemini kullanın ve yeni tanımladığınız yapılandırmayı iletin.
index.js
içinde, onGooglePaymentsButtonClicked()
işlevine 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öntemi çağrıldığında Google Pay ödeme sayfası gösterilir. Yapılandırma hatası yoksa şu anda oturum açılmış hesapla ilişkili geçerli ödeme yöntemlerinin listesini görebilirsiniz.
Seçim yapıldıktan sonra sayfa kapanır ve Promise
, seçilen ödeme yöntemiyle ilgili bilgileri içeren bir PaymentData nesnesiyle doldurulur:
{
"apiVersionMinor": 0,
"apiVersion": 2,
"paymentMethodData": {
"description": "Visa •••• 1234",
"tokenizationData": {
"type": "PAYMENT_GATEWAY",
"token": "examplePaymentMethodToken"
},
"type": "CARD",
"info": {
"cardNetwork": "VISA",
"cardDetails": "1234",
"billingAddress": {
"phoneNumber": ...,
...
}
}
}
}
Artık bu ödeme yöntemi bilgilerini kullanarak işlemi gerçekleştirebilirsiniz.
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 tutarlı işlemleri inceledik. Ancak fiyatı işlemin belirli özelliklerinin (ör. kargo 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önetmeniz ve buna göre değişiklikleri uygulamanız için kullanılır. Kargo adresi, kargo seçeneği ve ödeme yöntemiyle ilgili değişiklikleri dinleyebilirsiniz. Bu örnekte, seçilen kargo seçeneğindeki değişiklikleri dinleyeceksiniz. Öncelikle, tüm kargo bilgilerini içeren değişkenleri tanımlayın ve bunları eklemek için paymentDataRequest
öğesini 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
oluşturma işlemini, ödeme işleminde callbackIntents
'ye dahil edilen bir değişiklik yapıldığında çağrılan paymentDataCallback
'u içerecek şekilde değiştirirsiniz. Bu geri çağırma, özellikleri değiştirilmiş bir nesne içerir. Güncellenmiş bir ödeme işlemi oluşturmak için bu 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 aramada bu yeni nesne döndürüldüğünde, ödeme sayfasında sunulan bilgiler işlemde yapılan değişiklikleri yansıtacak şekilde güncellenir.
Entegrasyonun yeterli düzeyde çalıştığını test ettiğinize göre, Google Pay'in kullanılabileceğini belirlediğiniz anda ödeme yapılandırmanızı önceden getirebilirsiniz. Bu işlem, kullanıcı Google Pay ödeme düğmesini etkinleştirmeden (tıklamadan) önce gerçekleşir.
Ödeme verilerini önceden getirirseniz kullanıcınız ödeme yapmaya karar verdiğinde, e-tablonun yüklenmesi için gereken bilgiler zaten mevcut olur. Bu sayede yükleme süresi önemli ölçüde kısalır ve genel deneyim iyileşir.
Bu yöntem, loadPaymentData
ile aynı girişi bekler. Yani, daha önce tanımlanmış aynı paymentDataRequest
nesnesini kullanabilirsiniz. Şimdi yapmanız gereken tek şey, isReadyToPay
başarılı bir şekilde döndükten sonra kullanıcının Google Pay'i kullanabileceğini belirlediğiniz anda önceden getirme yöntemine bir çağrı eklemektir:
googlePayClient.isReadyToPay(googlePayBaseConfiguration)
.then(function(response) {
if(response.result) {
createAndAddButton();
googlePayClient.prefetchPaymentData(paymentDataRequest);
}
});
Böylece, kullanıcı düğmeyi tıklamadan önce ödeme verilerini önceden getirerek yükleme süresini kısaltmış olursunuz. Sitenizin daha iyi yanıt vermesi, dönüşüm oranınızı artırmalıdır.
Google Pay API'yi bu codelab'deki örnek siteye veya kendi uygulamanıza başarıyla entegre ettiniz.
Bu entegrasyonu üretime almak için entegrasyon yapılacaklar listesine göz atmayı unutmayın. Tamamlanıp incelendikten sonra, müşteri yapılandırmanıza eklemeniz için bir satıcı tanımlayıcısı alırsınız. Benzer şekilde, üçüncü taraf ödeme işleyicisi veya ağ geçidi kullanmayı planlıyorsanız (ya da zaten kullanıyorsanız) Google Pay'deki desteklenen sağlayıcılar listesine göz atın ve kendi sağlayıcınızı yapılandırın. Google Pay ile doğrudan entegrasyon yapıyorsanız bu konuyla ilgili dokümanlar bölümüne göz atın.
İşlediğimiz konular
- Google API'yi sitenize aktarın ve yapılandırın.
- API desteğini belirleyin ve buna göre hareket edin.
- Kullanıcıların Google Pay ile ödeme yapmasına olanak tanıyan bir düğme ekleyin.
- Daha önce depolanmış kullanıcı ödeme bilgilerini yükleyip işleme koyma
- Ödeme bilgilerini önceden getirerek yükleme süresini optimize edin.
Sonraki adımlar
- Google Pay hakkında daha fazla bilgi edinin.
- Entegrasyon yapılacaklar listesini inceleyin ve satıcı tanımlayıcısı edinin.
- İki farklı entegrasyon türüne göz atın ve hangisinin size daha uygun olduğuna karar verin: doğrudan entegrasyon veya ödeme ağ geçidi ya da işleyici kullanma.
- Ödeme sürecini başlatmak ve ödemenin yetkilendirme durumunu onaylamak için Ödemeleri Yetkilendir'i ayarlayın. (Yetkilendir veya Reddet)
Daha fazla bilgi
- Kitaplık referansına göz atın.
- Hata görürseniz uygulamanızla ilgili sorunları giderin.
- Android'de Google Pay'i entegre etme hakkında daha fazla bilgi edinin.