【发布时间】:2019-12-14 20:34:27
【问题描述】:
我的应用程序使用一件事进行销售和使用付款是 Google Pay。 Google Pay 中有两种令牌化方法。我参考谷歌支付文件。但这很难理解。
有直接标记方法。
1) 如何集成 Direct Tokenization?
2) 什么是 PCI DSS 合规性?
3) 什么是公钥,如何加解密?
【问题讨论】:
标签: android payment google-pay
我的应用程序使用一件事进行销售和使用付款是 Google Pay。 Google Pay 中有两种令牌化方法。我参考谷歌支付文件。但这很难理解。
有直接标记方法。
1) 如何集成 Direct Tokenization?
2) 什么是 PCI DSS 合规性?
3) 什么是公钥,如何加解密?
【问题讨论】:
标签: android payment google-pay
就上下文而言,有两种方法可以与 Google Pay 集成:
建议使用 PSP 方法,因为合作伙伴 PSP 负责管理用户的付款凭据,并且为PCI and DSS compliance 负责。
使用 DIRECT 集成方法,您必须承担 PCI 合规义务,并且需要向 Google 提供证据证明您是PCI compliant:
如果完成 DIRECT
tokenizationSpecification类型的集成,您必须每年通过 Google Pay 开发者资料轮换您的公共加密密钥并向 Google 提供 PCI 证明。 PCI Attestation 可由第三方或经PCI Security Standards Council 认证的合格安全评估员提交,并由Approved Vendor 或Qualified Assessor 批准。
回到实际问题:
通过 DIRECT 集成,Google Pay 将使用您在Google Pay developer console 中提供的公钥(必须是signed up as a merchant 才能访问此页面)和付款请求来加密用户的付款详细信息。然后,您将获取加密的有效负载并使用您的私钥对其进行解密。
有关如何管理加密和解密的信息可以在这里找到:https://developers.google.com/pay/api/android/guides/resources/payment-data-cryptography#using-openssl
重要提示:
# generate private key openssl ecparam -name prime256v1 -genkey -noout -out key.pem # generate a base64-encoded public key openssl ec -in key.pem -pubout -text -noout 2> /dev/null | grep "pub:" -A5 | sed 1d | xxd -r -p | base64 | paste -sd "\0" -
可在此处找到 PCI 合规性相关信息的良好来源:https://www.pcicomplianceguide.org/faq/
仅供参考,我在这里提供了一个类似的答案,并提供了有关整个过程的更多详细信息:Where is Google pay Developer account and how to generate public key to upload in it?
【讨论】: