我正在将 Google Pay 集成到一个简单的电子商务网站中。我们使用 Adyen 作为支付网关。
如果我只需传递一定的金额,点击“付款”即可完成付款,一切正常。
现在的问题是:我们还需要用户的送货地址来计算运费。通过简单的“仅捕获”流程,我们肯定会获得该数据,但是在付款完成之后。此外,我们必须在捕获付款之前呈现一个摘要页面。
所以: 我们需要一个授权+付款流程,在授权后我们可以获取送货地址。然后我们计算运费并在稍后调整捕获请求中的实际金额。
很公平。但是:我使用 Paypal 作为 Google Pay 的付款方式。我的理解是,它会生成某种虚拟信用卡,因此可以用作信用卡。这是我唯一的选择,因为我没有真正的信用卡。
现在,这对于“仅捕获”流程非常有效,但一旦我们引入授权步骤,我就会被迫登录 Google 并输入真实的信用卡。
Google 提供 a way to test with fake Card numbers ,但是当我打开它们时,我无法再请求送货地址(错误 OR-ACC-01)。
这是我的问题: 当连接到 Google Pay 的唯一付款方式是 Paypal 时,是否可以通过 Google Pay 实现授权 + 捕获结帐流程?
以下是包含授权步骤以及所需电子邮件地址和送货地址的设置:
https://jsfiddle.net/0n8tbeu3/2/
相关部分是:
paymentDataRequest.callbackIntents = ["PAYMENT_AUTHORIZATION"];
paymentDataRequest.shippingAddressRequired = true;
paymentDataRequest.emailRequired = true;
我希望它能与我的 GPay 配合使用,但我却被迫输入一张新的/真实的信用卡。
编辑:
为了澄清问题,这里有一些屏幕截图。
1. 没有 AUTHORIZATION
或 SHIPPING_METHOD
意图。
//paymentDataRequest.callbackIntents = ["PAYMENT_AUTHORIZATION"];
在移动设备上:我收到默认的 GPay 付款表并可以完成付款。 (抱歉质量不好,不得不用我糟糕的网络摄像头拍摄,因为屏幕受到保护):
在桌面上: 除非输入信用卡,否则无法完成付款。 Paypal 显示为“此处不可用”(信用卡输入表单已折叠,我重复使用了授权意图尝试的屏幕截图,因为相关部分完全相同)
2.WITH AUTHORIZATION
和 SHIPPING_METHOD
意图(回调当然也已配置)。
paymentDataRequest.callbackIntents = ["PAYMENT_AUTHORIZATION", "SHIPPING_METHOD"];
我在移动设备和桌面设备上看到的屏幕与上面基本相同,显示 Paypal 不可用并提示我输入信用卡。
最佳答案
我试图确保我理解您想要实现的目标,以防可以通过其他方式解决它。
您最终是根据送货地址来计算运费吗?并且您希望能够在执行捕获之前明确授权付款。或者您是否正在进行授权以便可以接收送货地址?
我建议使用 dynamic price update 计算运费。相关部分是:
callbackIntents = ["SHIPPING_ADDRESS", "SHIPPING_OPTION", ...];
和paymentDataCallbacks:{ onPaymentDataChanged }
要处理授权,请同时使用 PAYMENT_AUTHORIZATION
回调:
callbackIntents = [..., "PAYMENT_AUTHORIZATION"];
和paymentDataCallbacks:{ onPaymentAuthorized }
as soon as we introduce an Authorization step, it looks like I'm being forced to log into Google and to enter a real Credit Card.
我不确定这里有什么交易。您能提供一些屏幕截图或屏幕录制吗?
关于javascript - 如何使用 Paypal 为 Google Pay 执行授权 + 捕获流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64863748/