集成核对清单

请使用以下核对清单,确保您已在您的 Web 集成中完成所有必要的步骤。

测试环境简介

Google Pay API 测试配置不会返回实时的可扣款付款方式信息,您可以借助该配置测试购买工作流程的元素:可测试元素如下所示:

  • 确认页面
  • 收据
  • 帐单邮寄地址(可选)
  • 帐单联系电话号码(可选)
  • 送货地址(可选)
  • 电子邮件地址(可选)

要在测试环境中使用示例付款数据响应,请使用包含环境属性设置为 TEST 的 JavaScript 对象初始化新的 PaymentsClient

以下是一个代码示例:
var paymentsClient =
    new google.payments.api.PaymentsClient({environment: 'TEST'});

使用浏览器的开发者控制台进行测试

在最新版本的受支持的浏览器上测试您的网站。要执行此操作,请打开浏览器的开发者工具,以查看与您的网站相关的控制台消息。这些消息包含来自 Google Pay API JavaScript 客户端库的错误或警告。Google Pay API 支持 Google Chrome、Mozilla Firefox、Apple Safari、Microsoft Edge、Opera 和 UCWeb UC 浏览器。

当您调用 loadPaymentData() 后,Google 付款选择对话框窗口中可能会显示其他错误。如果您在查看错误消息后点击继续确定,系统可能会在您的网站处理的遭拒 Promise 中返回其他详细信息。

在兼容的设备上进行测试

虽然 Google Pay API 可在许多市场上使用,但令牌化的卡只能在一部分国家/地区使用。如果将令牌化的卡设置为允许的付款方式,请在安装了 Chrome(Android 版)59 版或更高版本以及 Google Play 服务 16.0.0 版或更高版本的 Android 设备上测试这些卡。使用存储在 Google Pay 应用中的卡进行测试(如果您所在的国家/地区以及发卡银行支持您的付款方式的话)。

要查看 Chrome(Android 版)输出的控制台错误和警告,请使用从桌面版 Chrome 中的远程调试进行测试。如需详细了解可能出现的错误,请查看 Android 设备上的日志。您可以通过 Android Studio 中的 Logcat 工具窗口、使用 adb logcat 命令行工具或在 Android 错误报告内查看错误日志。要查看与 Google Pay API 相关的错误消息,请搜索 WalletMerchantError

以下是一个代码示例:

adb logcat -s WalletMerchantError

测试您的集成

在使用为 TEST 环境配置的 PaymentsClient 向 Google 提交集成以进行验证之前,请确保您已满足以下各项功能性和品牌推广性检查的放行准则:

1.基础知识

确保您对卡或 PAN 交易的现有风险检查和控制措施也适用于 Google Pay 交易。Google Pay 验证和欺诈检查的目的并不在于取代您的风险管理流程。
如果您会根据风险标准选择性地为普通卡交易触发 3D Secure(分步身份验证),请务必使用相同的风险标准来为 Google Pay PAN PAN_ONLY 交易触发 3D Secure。
确保您已阅读并准备好接受我们的服务条款。若想通过 Google Pay API 进行注册,您的电子邮件地址必须与 Google 帐号相关联,最好是与您的企业网域相关联的企业电子邮件地址(例如,admin@myownpersonaldomain.com)。在 Google 帐号创建流程中选择改用当前的电子邮件地址,将您的电子邮件地址与 Google 帐号相关联。
仅使用从 Google Pay API 收到的数据来处理交易。所有其他使用场景都需要单独获得用户的明确同意。
确认您所在国家/地区的付款处理方可以接受的支付卡网络和卡身份验证方式。
如果您完成了 DIRECT tokenizationSpecification type 集成,则必须每年轮替一次加密公钥,并通过 Google Pay 商家控制台向 Google 提供 PCI 证明。PCI 证明可由 PCI 安全标准委员会认证的第三方或有资质的安全评估方提交,并经认可的供应商有资质的评估方批准。

2.品牌测试

使用我们批准的资源并遵守我们品牌推广指南的所有要素。
确保仅在您的网站通过 isReadyToPay() 函数确认用户能够付款后,Google Pay 付款按钮才会显示。
确认显示的 Google Pay 付款按钮尺寸与页面上的类似按钮及元素相匹配。
根据显示区域的背景颜色选择适当的按钮。

3. 功能测试

请验证在您点击 Google Pay 付款按钮时 loadPaymentData() 是否会被同步调用,并维持浏览器中的用户活跃行为,以允许 Google Pay API 显示付款表格。确认弹出式窗口拦截器未拦截 Google Pay 付款表格。

在请求以 PAN_ONLY 为身份验证方法的 CARD 付款方式类型时,请完成以下步骤以执行针对备案卡的测试:

  1. 如果适用,从 pay.google.com 中移除所有已备案的卡。
  2. 返回您的集成。
  3. 点击 Google Pay
  4. 验证您是否看到添加卡的选项。
  5. 根据 parameters.allowedCardNetworks 中的定义,从支持的网络添加卡。
  6. 验证您能否在选择器中看到所添加的带网络徽标的卡。

以下测试仅适用于 Android 版 Chrome。

在请求以 CRYPTOGRAM_3DS 为卡身份验证方法的 CARD 付款方式类型时,完成以下步骤以执行 Android 设备令牌测试:

  1. 检查您的发卡机构是否受支持,然后在 Google Pay Android 应用中添加符合条件的卡。
  2. 返回您的集成。
  3. 点击 Google Pay 付款按钮。
  4. 验证您是否在选择器中看到所添加的带卡片图案的卡。

如果您确认您的处理方支持 3D 安全卡身份验证,即使无法以 Android 用户或持卡人的身份使用 Android 设备令牌,您也可以继续操作。

如果您要求提供送货地址,请在不同的填写状态下测试送货地址的处理,例如:

  • 要解析为结构化字段的全名的各种变体,例如 John、John Doe 和 Jane Doe Smith。
  • 准确解析 Google Pay API 返回的所有地址行,这可能超过标准结帐流程中通常收集的地址行总数。
  • 确认返回的国家/地区地址部分与您网站支持的送货目的地一致。如果您指定了送货限制,请对其进行测试:在付款表格中输入不允许输入的不受支持的送货地址,并检查这些限制是否有效。

如果您已实现对“授权付款”的支持,请验证以下内容:

  • 如果付款身份验证失败,则会返回 ERROR transactionStatePaymentDataError 以及 PAYMENT_AUTHORIZATION Intent。

如果您已实现对“动态价格更新”的支持,请完成以下步骤:

  • 在付款表格中同时添加卡和地址。更新运费选项、订单列表和总价。
  • 添加并选择送货地址。更新运费选项、订单列表和总价。
  • 选择运费选项。更新订单列表和总价。
  • 如果送货地址没有可用的运费选项,则返回 PaymentDataErrorSHIPPING_ADDRESS Intent。
  • 当选定的运费选项无效时,会返回 PaymentDataErrorSHIPPING_OPTION Intent。
  • 如果付款身份验证失败,则返回 ERROR transactionStatePaymentDataError 以及 PAYMENT_AUTHORIZATION Intent。
如果您需要电话号码,请通过帐单邮寄地址提出申请。然后使用不同的格式(例如 +8005550100、18005550100、(800) 555-0100)测试能否解析电话号码,以及能否按照您网站的数据标准存储电话号码。
确保同等显示 Google Pay 及其他第三方付款方式。
对于以前在结帐时选择 Google Pay 并在您的应用中指定 Google Pay 作为付款偏好的用户,您必须将 Google Pay 作为其后续购买的默认付款方式。
在处理交易之前,必须向用户显示最终价格。如果扣费金额因从 Google Pay API 收到的数据而发生变化,您应显示含有最终价格的确认页面。