提问者:小点点

谷歌支付付款数据不包含交易金额


我正在扫描Google Pay的支付数据文档,发现其中不包含授权交易金额。

https://developers.google.com/pay/api/android/guides/resources/payment-data-cryptography

支付网关如何验证交易以查看它是否获得特定金额的授权?如果与支付数据一起提交的金额不是授权的金额怎么办?

同时,检查苹果支付的PKPaymentToken对象,它确实包含用于验证目的的交易金额。

https://developer.apple.com/library/archive/ApplePay_Guide/ProcessPayment.html


共1个答案

匿名用户

支付网关如何验证交易,以确定交易是否获得特定金额的授权?

我假设授权是指发送到付款UI的内容以及用户提交/确认的内容。如果是这样,他们的支付网关不会验证金额匹配。这是你的应用需要做的事情。

如果与付款数据一起提交的金额不是授权的金额怎么办?

没有什么能阻止这种情况发生,这是应用程序的责任。

更具体地说,Google Pay实际上并不参与支付网关的授权流程。

Google Pay for web公开了一个回调,您可以使用该回调调用支付网关来授权付款(参见示例)。这提供的主要优势是它允许您验证给定金额的支付选项是否可以进行交易,如果授权失败,用户可以在支付UI中选择不同的支付选项。

提交支付 UI 后,您要做的是从网关获取授权响应并将其提交给网关以完成交易(例如来自 Stripe)。网关通常允许您指定不同的金额,最高可达初始授权的值。

授权流程是可选的,这意味着您可以简单地尝试付款(无需授权)并处理任何失败。

不幸的是,授权回调目前对移动应用程序不可用(我假设它在某个时候会可用)。