因工作需要美國及德國電商網站,需要界接 Google Pay。
先前也有分享 Apple Pay on Web + Cybersource
當使用者按下Google Pay 付款按鈕,會員可以選擇可付款信用卡 > 選取完信用卡後,前端會在 onLoadPaymentData 事件 拿到 Google Pay Token,此時帶著 Google Pay Token Call 自己的後端 API,向金流商請求建立訂單。
npm i @google-pay/button-react --save
const googlePayProcessResult = (paymentData) => { return checkStock() // 檢查庫存 .then((res) => { const paymentDataString = paymentData.paymentMethodData.tokenizationData.token; const paymentDataBase64 = btoa(paymentDataString); let param: IPaymentProcessRequest = { PaymentTokenObject: paymentDataBase64 }; // call 自己的後端,並透過自己後端和金流商交易 digitalProcessResult(param).then((res) => { if(res.IsSuccess === true){ alert('交易成功') } }); }); }; <GooglePayButton environment="PRODUCTION" // 審核通過才能使用 buttonType="short" paymentRequest={{ apiVersion: 2, apiVersionMinor: 0, allowedPaymentMethods: [ { type: 'CARD', parameters: { allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'], allowedCardNetworks: ['MASTERCARD', 'VISA'], }, tokenizationSpecification: { type: 'PAYMENT_GATEWAY', parameters: { gateway: 'cybersource', gatewayMerchantId: 'letgo_account', // cybersource 後台商戶號 ( 非 android 商戶號 ) }, }, }, ], merchantInfo: { merchantId: 'ABB121232', // google pay developer merchantId merchantName: 'LetGo', }, transactionInfo: { totalPriceStatus: 'FINAL', totalPriceLabel: 'Total', totalPrice: numberFormat(degitalPayPrice, 2), currencyCode: 'USD', countryCode: 'US', }, }} onLoadPaymentData={googlePayProcessResult} />
使用 Google Pay 在網路上快速結帳
在Web端接入Google Pay
Radial Payments & Fraud Documentation - Google Pay Web Integration
How to Integrate GooglePay in React