集成核对清单

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

测试环境简介

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 中的远程调试进行测试,以查看 Chrome(Android 版)输出的控制台错误和警告。

要详细了解可能出现的错误,请查看您 Android 设备上的日志。您可以使用 Android Studio 中的 Logcat 工具窗口、使用 adb logcat 命令行工具或在 Android 错误报告内查看错误日志。要查看与 Google Pay API 相关的错误消息,请搜索 WalletMerchantError

adb logcat -s WalletMerchantError

测试您的集成

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

1.基础知识

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

2. 品牌测试

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

3. 功能测试

验证 loadPaymentData() 在 Google Pay 付款按钮被点击后是否会同步调用,以维持浏览器中的用户活跃行为,从而允许 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 transactionState、PayDataDataError 以及 PAYMENT_AUTHORIZATION Intent。

如果您已实现对“动态价格更新”的支持,请执行以下操作:

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

申请正式版访问权

当您确认自己满足上述每项检查的放行条件后,请点击申请正式版访问权,启动获取正式版访问权的流程。

申请生产访问权限

我们的授权参与流程如下:

  1. Google 会审核您的集成,并将 Google Pay API 设置为 TEST 环境。
  2. 审核通过后,Google 将为您提供注册说明以及 Google Pay API 的正式版访问权。在此步骤中,系统会为您配置一个专门用于 Google Pay API 的 merchantId 值。
  3. Google 会审核您提交的集成,并将 Google Pay API 设置为 PRODUCTION 环境。您必须在此步骤中进行集成所需的任何修改,包括功能或品牌信息更改。
  4. 审核通过后,Google 提供发布许可。

我们会根据上面的每项检查评估您的集成,并通知您发现的任何错误。