有关在网络上传输Google Pay付款令牌的安全问题

时间:2019-03-28 11:32:38

标签: payment-gateway payment-processing google-pay

我正在构建服务器系统,以接受用户通过Google Pay购买产品。

在我们的用例中,我们的用户将从移动应用向Google支付服务器发出付款请求(PaymentDataRequest对象),以获取付款令牌(响应中的PayymentMethodTokenizationData对象),然后移动应用会将其发送到我们的后端服务器和服务器会将这个令牌转发到支付网关以进行进一步的支付过程。

API参考: https://developers.google.com/pay/api/web/reference/object#PaymentMethodTokenizationData

令牌化类型设置为PAYMENT_GATEWAY

但是,我们在服务器系统中传输PaymentMethodTokenizationData时存在一些安全问题。

由于我在Google Pay API官方文档中找不到有关这些问题的任何解释,因此有人可以帮助我阐明以下问题吗?

(1)谷歌支付令牌(PaymentMethodTokenizationData对象)代表“一张令牌化的信用卡”还是“一次性交易信息”?

(2)可以在不请求新令牌的情况下多次重复使用相同的支付令牌来购买产品吗?

(3)此付款令牌是否仅限于用于一个特定的交易ID?例如,如果令牌泄漏,有人可以使用它进行另一次购买吗?

(4)此支付令牌只能由支付网关用来收取钱吗? 换句话说,除了支付网关外,没有人可以从令牌中提取任何支付信息(信用卡号,交易信息...),因此我们不需要任何其他安全机制来在网络上传输此令牌。

谢谢

1 个答案:

答案 0 :(得分:1)

很抱歉,在阅读文档时遇到了这种情况。您可以在API explanation video或文档中的payment data cryptography section中了解有关这些详细信息的更多信息。如果您认为应该在其中包含更多明显的信息,我们很乐意听到您的想法。

关于您的问题:

  1. PaymentMethodTokenizationData有效载荷包含有关用户选择以完成交易的付款方式的信息(例如:卡)。
  2. 根据terms of service的规定,这些API返回的信息只能用于完成用户发起的一项交易。
  3. (&4)从Google Pay获得的有效负载无法在您的付款处理器的域范围内使用。在离开Goog​​le服务器之前,有效负载会进行非对称加密,并使用密钥对加密,只有您的处理器拥有解密消息内容所必需的私钥,如果您的公司处理付款,则您或您自己的服务器。因此,如果加密的有效载荷泄漏了,那就只是随机的字符序列,没有特定的应用。
  4. 除了确保将加密的有效负载中继到处理付款的服务器/系统并在交易完成后立即删除/清除这些API返回的任何数据外,不需要其他安全机制。

希望有帮助。