8

我正在使用 Stripe 的 PaymentRequest 按钮来收集付款和运输信息,以便稍后在服务器端使用 Stripe 处理付款。我的目标是 ApplePay,但目前正在 PaymentRequest API (Chrome) 下进行测试。

在提交付款表格之前,我需要知道客户的收货地址以计算和显示税额(并更新总计)。我可以通过“shippingaddresschange”事件轻松获得它,但前提是客户更改了地址。

如果客户以后不更改,我如何获得付款申请表自动加载的默认送货地址?初始(默认)地址似乎不会触发“shippingaddresschange”事件。

4

3 回答 3

3

请参阅https://rsolomakhin.github.io/pr/single/https://rsolomakhin.github.io/pr/multi/中的示例。如果您为世界上的任何地址预先选择了一个您可以使用的送货选项,Chrome 就会预先选择一个地址,即全球统一运费。在用户授权付款之前,您不会知道送货地址。

但是,在您的情况下,您需要知道送货地址才能计算和显示税额。这意味着您没有全球统一费率,因此您不会预先选择运输选项。在这种情况下,Chrome 会要求用户明确批准向您提供他们的地址,这意味着用户的地址不会在 UI 中预先选择,因为它现在正在实施。

于 2018-04-12T14:30:40.753 回答
1

我认为这是 Chrome 的一个错误。onshippingaddresschangeSafari/ApplePay 将在显示付款单但 Chrome 不显示时触发初始设置。

我也遇到了 Chrome 的问题,我在其中选择了送货地址和onshippingaddresschange触发器。然后我取消/关闭对话框并重新打开,但选择了“默认”送货地址,并且我的付款表中的所有数据(即送货选项、税金等)仍然是从上一个onshippingaddresschange事件设置的。

ApplePay 没有同样的问题,因为onshippingaddresschange它一打开就会触发该事件。

这并不是一个真正的“答案”,但我希望这能提供更多的背景信息。

于 2018-05-02T14:20:01.183 回答
-3

没有像默认送货地址这样的东西。shippingaddresschange用户始终必须在获得事件之前明确选择一个。这是出于隐私原因。

于 2018-02-09T15:57:31.447 回答