Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何进行授权+;使用Paypal为Google Pay捕获流量?_Javascript_Paypal_Payment Gateway_Google Pay - Fatal编程技术网

Javascript 如何进行授权+;使用Paypal为Google Pay捕获流量?

Javascript 如何进行授权+;使用Paypal为Google Pay捕获流量?,javascript,paypal,payment-gateway,google-pay,Javascript,Paypal,Payment Gateway,Google Pay,我正在将谷歌支付整合到一个简单的电子商务网站中。我们使用Adyen作为支付网关 一切都很好,如果我只是通过它的数额,点击“支付”和支付完成 现在问题来了:我们还需要用户的配送地址来计算配送成本。通过简单的“只需捕获”流程,我们当然可以获得这些数据,但在付款完成之后。此外,我们必须在获取付款之前提供摘要页面 因此: 我们需要一个授权+付款流程,在那里我们得到授权后的发货地址。然后,我们计算运输成本,并在稍后的捕获请求中调整实际金额 很公平。但是:我使用贝宝作为谷歌支付的支付方式。我的理解是,它生成

我正在将谷歌支付整合到一个简单的电子商务网站中。我们使用Adyen作为支付网关

一切都很好,如果我只是通过它的数额,点击“支付”和支付完成

现在问题来了:我们还需要用户的配送地址来计算配送成本。通过简单的“只需捕获”流程,我们当然可以获得这些数据,但在付款完成之后。此外,我们必须在获取付款之前提供摘要页面

因此: 我们需要一个授权+付款流程,在那里我们得到授权后的发货地址。然后,我们计算运输成本,并在稍后的捕获请求中调整实际金额

很公平。但是:我使用贝宝作为谷歌支付的支付方式。我的理解是,它生成了某种虚拟信用卡,因此可以作为一种信用卡使用。这是我唯一的选择,因为我没有真正的信用卡

现在,这对“just capture”流非常有效,但一旦我们引入授权步骤,看起来我就不得不登录到谷歌并输入一张真正的信用卡

谷歌提供,但当我打开它们时,我就不能再请求发货地址了(错误或-ACC-01)

所以我的问题是: 当连接到Google Pay的唯一付款方式是Paypal时,是否可以通过Google Pay实现授权+捕获结账流程?

这是一个带有授权步骤和所需电子邮件地址和发货地址的设置:

相关部分为:

paymentDataRequest.callbackIntents = ["PAYMENT_AUTHORIZATION"];
paymentDataRequest.shippingAddressRequired = true;
paymentDataRequest.emailRequired = true;
我希望它能与我的GPay一起工作,但我不得不输入一张新的/真实的信用卡

编辑: 为了澄清问题,这里有一些截图

1.
授权
装运方法
意图。
//paymentDataRequest.callbackIntents=[“付款授权”]

在手机上:我获得默认的GPay付款单,可以完成付款。(很抱歉质量不好,由于屏幕受到保护,我不得不将其与我糟糕的网络摄像头一起使用):

在桌面上: 除非我输入信用卡,否则我无法完成付款。Paypal显示为“此处不可用”(信用卡输入表单已折叠,我已重新使用了具有授权意图的尝试的屏幕截图,因为相关部分完全相同)

2.具有
授权
发货方法
意图(当然也配置了回调)。
paymentDataRequest.callbackIntents=[“付款授权”、“发货方式”]


我在手机和桌面上的屏幕与上面的屏幕基本相同,屏幕上显示Paypal不可用,并提示我申请信用卡。

我正在努力确保我了解您试图实现的目标,以防以其他方式解决

您是否最终根据配送地址计算配送成本?您希望能够在执行捕获之前明确授权付款。或者您正在进行授权,以便您可以收到发货地址

我建议使用以下公式计算运费。有关部分包括:

  • callbackIntents=[“配送地址”、“配送选项”、…],以及
  • paymentDataCallbacks:{onPaymentDataChanged}
要处理授权,请同时使用
支付授权
回调:

  • callbackIntents=[…,“付款授权”],以及
  • paymentDataCallbacks:{onPaymentAuthorized}
一旦我们引入了授权步骤,看起来我就不得不登录谷歌并输入一张真正的信用卡


我不确定这里有什么交易。您能提供一些屏幕截图或屏幕录制吗?

非常感谢您抽出时间!我们确实需要能够手动触发捕获,因为我们必须让用户在进行实际支付之前查看他们的数据。因此,授权步骤不仅仅是为了发货地址。我确实看到了
SHIPPING\u地址
SHIPPING\u选项
的意图,但我不确定如何将Calculate运费传回谷歌?我的理解是,我可以在初始请求时传递一些装运选项,但我至少需要装运国知道哪些选项可用,以及它们的价格。
您是否能够提供一些屏幕截图或屏幕录制?
不幸的是,我必须亲自告知。但实际上很简单:如果我试图直接捕获付款,我会看到标准付款单,在那里我可以点击Pay并完成付款。但如果我添加了授权意图,而不是付款单,我会被要求输入真实的信用卡。Paypal显示为灰色,提示此处不可用。我想这真的很难重现,因为大多数人可能会在谷歌支付中使用真正的信用卡。有一个关于如何计算运费的例子:。重载是通过onPaymentDataChanged方法完成的。Dude。。。我现在觉得自己很愚蠢!文档中的字面意思是,
onPaymentDataChanged
必须返回一个承诺,然后GPay处理程序将再次获取该承诺。非常感谢,这个例子真的很适合我。贝宝的问题仍然存在,但我想这就是它的工作原理——你只能授权真正的信用卡。我将尝试获取更多关于这方面的信息。但多亏了你,一个恼人的问题现在解决了!很高兴我能帮忙。我不确定薪水有什么问题。我没有遇到与您提供的JSFIDLE相同的问题。编辑一些截图可能会帮助我更好地理解。顺便说一下,如果你愿意的话