Transaction Events API

本指南详细介绍了如何帮助开发者向 Google 通知 Google Pay 交易信息。当用户确认 Google Pay 交易后,Transaction Events API 会将付款及其与订单相关的事件告知 Google。Transaction Events API 可帮助我们提前做出明智的风险决策,并对商家风险检查进行补充。

必需的 API 更改

要为此 API 配置回调,请完成以下步骤:

  1. PaymentDataRequest 中填充 transactionInfo.transactionId 字段。

    您必须为此交易尝试创建唯一 ID。我们建议您使用已有的 ID 来表示此交易尝试。如果您没有可用的 ID,则可以为 Google Pay 交易尝试生成特定的 ID 以存储在您的系统中。

  2. 创建一个常规 Google 帐号。

    与内部团队和 Google 共享该帐号,以便将其添加到我们的许可名单中。您的客户经理可以帮助您完成此流程,但无法为您创建帐号。请勿授予他们访问此 Google 帐号的权限。

  3. 创建 Google Cloud 项目。

    在 Google 为开发者的 Google 帐号提供访问权限后,运营商必须使用该帐号登录并转到 Google Cloud Console。开发者必须为此集成创建项目。请勿通过用于创建此项目的 Google 帐号创建其他项目。

  4. 创建一个新的 Cloud Billing 帐号确认您的项目已启用结算功能
  5. 通过 VGW API 启用 Transaction Events API。

    Transaction Events API 受 VGW API 保护。要访问您所需的特定端点,您必须在项目中启用 VGW API。为此,请在 Google Cloud Platform 中激活 Cloud Shell,然后在命令行中运行以下命令:

    gcloud services enable vgw.googleapis.com
    
  6. 在项目中创建并注册一个服务帐号。

    创建服务帐号,并通过与您的服务帐号相关联的电子邮件地址通知您的 Google 联系人。这会将您的服务帐号与您的商家资料相关联。将您的服务帐号添加到许可名单大约需要一个工作日。

  7. 在我们向您的服务帐号授予访问权限后,请完成以下步骤进行已授权的 API 调用

    1. 在对 Transaction Events API 的后续请求中使用短期令牌。

      输入文件是通过服务帐号创建的 JSON 私钥。范围如下:

      https://www.googleapis.com/auth/facilitated.transaction.event.service
    2. 构造事件通知的请求正文。

      事件类型有 9 种,例如 AuthorizationSucceededAuthorizationDeclined。构造相关事件通知的请求

    3. 发送有关交易的事件通知。为此,请执行以下步骤:

      1. 向以下地址发出 HTTP 请求:
        https://billpaynotification.googleapis.com/secure-serving/gsp/v2/facilitatedTransaction/eventNotification/{merchant_id}
        
      2. 在标头中传递 OAuth 令牌,如下所示:

        Authorization: Bearer {token}

      3. 确保请求中的 merchant_id 与您的 Google Pay 业务控制台中的商家 ID 值一致。

    确保您的请求符合以下条件:

    • 每个请求必须具有唯一的 requestId
    • requestTimestamp 与当前时间的间隔(无论是过去还是将来)不能超过 60 秒。

    • 标头中的 merchantId 必须与您的 Google Pay 业务控制台中的商家 ID 值一致。
    • 请求的主要版本为“2”,与网址中的“v2”匹配。
    • transactionId 必须与您在 PaymentDataRequest 中发送的 transactionInfo.transactionId 匹配。