本指南详细介绍了如何帮助开发者向 Google 通知 Google Pay 交易信息。当用户确认 Google Pay 交易后,Transaction Events API 会将付款及其与订单相关的事件告知 Google。Transaction Events API 可帮助我们提前做出明智的风险决策,并对商家风险检查进行补充。
必需的 API 更改
要为此 API 配置回调,请完成以下步骤:
在
PaymentDataRequest
中填充transactionInfo.transactionId
字段。您必须为此交易尝试创建唯一 ID。我们建议您使用已有的 ID 来表示此交易尝试。如果您没有可用的 ID,则可以为 Google Pay 交易尝试生成特定的 ID 以存储在您的系统中。
创建一个常规 Google 帐号。
与内部团队和 Google 共享该帐号,以便将其添加到我们的许可名单中。您的客户经理可以帮助您完成此流程,但无法为您创建帐号。请勿授予他们访问此 Google 帐号的权限。
创建 Google Cloud 项目。
在 Google 为开发者的 Google 帐号提供访问权限后,运营商必须使用该帐号登录并转到 Google Cloud Console。开发者必须为此集成创建项目。请勿通过用于创建此项目的 Google 帐号创建其他项目。
- 创建一个新的 Cloud Billing 帐号或确认您的项目已启用结算功能。
通过 VGW API 启用 Transaction Events API。
Transaction Events API 受 VGW API 保护。要访问您所需的特定端点,您必须在项目中启用 VGW API。为此,请在 Google Cloud Platform 中激活 Cloud Shell,然后在命令行中运行以下命令:
gcloud services enable vgw.googleapis.com
在项目中创建并注册一个服务帐号。
创建服务帐号,并通过与您的服务帐号相关联的电子邮件地址通知您的 Google 联系人。这会将您的服务帐号与您的商家资料相关联。将您的服务帐号添加到许可名单大约需要一个工作日。
-
在我们向您的服务帐号授予访问权限后,请完成以下步骤进行已授权的 API 调用:
-
在对 Transaction Events API 的后续请求中使用短期令牌。
输入文件是通过服务帐号创建的 JSON 私钥。范围如下:
https://www.googleapis.com/auth/facilitated.transaction.event.service
构造事件通知的请求正文。
事件类型有 9 种,例如
AuthorizationSucceeded
和AuthorizationDeclined
。构造相关事件通知的请求。-
发送有关交易的事件通知。为此,请执行以下步骤:
- 向以下地址发出 HTTP 请求:
https://billpaynotification.googleapis.com/secure-serving/gsp/v2/facilitatedTransaction/eventNotification/{merchant_id}
在标头中传递 OAuth 令牌,如下所示:
Authorization: Bearer {token}
。- 确保请求中的 merchant_id 与您的 Google Pay 业务控制台中的商家 ID 值一致。
- 向以下地址发出 HTTP 请求:
确保您的请求符合以下条件:
- 每个请求必须具有唯一的
requestId
。 requestTimestamp
与当前时间的间隔(无论是过去还是将来)不能超过 60 秒。- 标头中的
merchantId
必须与您的 Google Pay 业务控制台中的商家 ID 值一致。 - 请求的主要版本为“2”,与网址中的“v2”匹配。
transactionId
必须与您在PaymentDataRequest
中发送的transactionInfo.transactionId
匹配。
-