如何为 Google 使用 Paypal 付款执行授权 + 捕获流程?
How to do an Authorize + Capture flow for Google Pay with Paypal?
我正在将 Google 支付整合到一个简单的电子商务网站中。我们使用 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支付sheet并且可以完成支付。 (抱歉质量不好,因为屏幕受到保护,不得不用我可怜的网络摄像头来拍摄):
在桌面上:
除非输入信用卡,否则我无法完成付款。 Paypal 显示为“此处不可用”(信用卡输入表单已折叠,我重新使用了尝试 with 授权意图的屏幕截图,因为相关部分完全相同)
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.
我不确定这是怎么回事。能否提供一些屏幕截图或屏幕录像?
我正在将 Google 支付整合到一个简单的电子商务网站中。我们使用 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支付sheet并且可以完成支付。 (抱歉质量不好,因为屏幕受到保护,不得不用我可怜的网络摄像头来拍摄):
在桌面上: 除非输入信用卡,否则我无法完成付款。 Paypal 显示为“此处不可用”(信用卡输入表单已折叠,我重新使用了尝试 with 授权意图的屏幕截图,因为相关部分完全相同)
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.
我不确定这是怎么回事。能否提供一些屏幕截图或屏幕录像?