Android 中的 Google Pay API 集成
Posted
技术标签:
【中文标题】Android 中的 Google Pay API 集成【英文标题】:Google Pay API integration in Android 【发布时间】:2020-03-20 20:14:18 【问题描述】:我正在尝试探索 Google Pay API 集成。
我已经浏览了提供的文件。
OFFICIAL DOC.
并且还从 GITHUB GITHUB LINK下载了示例
我无法完全理解相同的过程,例如如果我想在测试环境中运行它有什么要求?
1) 我是否需要在某处创建帐户或在控制台上启用任何 api?
2) DIRECT_TOKENIZATION_PUBLIC_KEY>
的任何密钥生成过程3) 我能否简要了解文档中提到的支持的处理器和网关?
4) 运行演示和测试功能的关键要求是什么?
参考任何适当的文档或博客也会有所帮助。
【问题讨论】:
【参考方案1】:您尝试了哪些方法,目前遇到了什么问题?
我注意到您的问题涉及 DIRECT 集成,因此通常不建议使用。如果您已经有了payment processor which supports Google Pay,那么建议您按照他们的说明进行操作,而不是直接集成,因为additional PCI DCSS requirements that will be placed on you to go to production。
如果完成 DIRECT
tokenizationSpecification
类型的集成,您必须每年通过 Google Pay 开发者资料轮换您的公共加密密钥并向 Google 提供 PCI 证明。 PCI Attestation 可由第三方或经PCI Security Standards Council 认证的合格安全评估员提交,并由Approved Vendor 或Qualified Assessor 批准。
要回答您有关测试环境的具体问题,请参见下文。
1) 我是否需要在某处创建帐户或在控制台上启用任何 api?
不,您不需要商家帐户,但是,与您一起测试的用户将需要一个 Google 帐户,并且在其Google Pay account 中配置了至少一种付款方式
2)
<DIRECT_TOKENIZATION_PUBLIC_KEY>
的任何密钥生成过程
是的,参考以下:https://developers.google.com/pay/api/android/guides/resources/payment-data-cryptography#using-openssl
具体来说:
openssl ecparam -name prime256v1 -genkey -noout -out key.pem
openssl ec -in key.pem -pubout -text -noout 2> /dev/null | grep "pub:" -A5 | sed 1d | xxd -r -p | base64 | paste -sd "\0" -
或者,您可以使用以下密钥进行测试:BOdoXP+9Aq473SnGwg3JU1aiNpsd9vH2ognq4PtDtlLGa3Kj8TPf+jaQNPyDSkh3JUhiS0KyrrlWhAgNZKHYF2Y=
3) 我能否简要了解文档中提到的支持的处理器和网关?
有关受支持的处理器列表,请参阅以下内容:https://developers.google.com/pay/api#participating-processors
4) 运行演示和测试功能的关键要求是什么?
除了 Google 帐户(来自第一个答案)以及构建、编译和运行 Android 应用程序的能力之外,应该没有任何额外的特殊要求来运行和测试它。
【讨论】:
感谢您的详细解释。因为我已经尝试了演示,并且我确实已经使用谷歌支付配置了电子邮件;虽然它说这封电子邮件没有集成付款(类似这样),但这造成了混乱。I notice that your question references DIRECT integration and is generally not advised.
-那么有什么替代方法?
如果可用,请使用supported payment processors 之一。
如果不是那么呢?
然后使用 DIRECT。我希望帮助您免于执行 Google 为 DIRECT 集成所需的 PCI 认证流程。以上是关于Android 中的 Google Pay API 集成的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 中的 Google Pay 或 Phone Pay 或 Paytm UPI API 支付
Google Pay API - 在没有 JWT 的情况下向 Google Pay 应用程序插入通行证
如何收听 Google Wallet / Android Pay Fragment 中的更改按钮?