首页 > 解决方案 > 在 Google Actions 的情况下,Transaction API 不起作用

问题描述

我正在尝试使用示例应用程序来测试 google pay 集成:https ://github.com/actions-on-google/dialogflow-transactions-nodejs/blob/master/functions/index.js

最初,我解决了 REGION 和 USER_ACTION_REQUIRED 的问题,但现在,尝试通过时没有任何反应

new TransactionDecision({
 orderOptions: {
    requestDeliveryAddress: false,
  },
 paymentOptions: {
    googleProvidedOptions: {
            prepaidCardDisallowed: false,
            supportedCardNetworks: ['VISA', 'AMEX', 'DISCOVER', 'MASTERCARD'],
            tokenizationParameters: {
        parameters: { "gateway" : "stripe", "stripe:publishableKey" : "pk_live_MYKEY", "stripe:version" : "2019-05-16" } ,
                tokenizationType: 'PAYMENT_GATEWAY',
            },
    },
  },
  proposedOrder: order,
})

其中 order 是根据 github 示例的对象。

当它使用上面的 TransactionDecision 对象调用 conv.ask 时,它失败了。即使调试级别设置为 true,我也没有收到任何错误。

下一步怎么走??请指教。

标签: dialogflow-esactions-on-googlegoogle-pay

解决方案


您将需要使用此处解释的事务 API 。

  1. 首先,做需求检查。
  2. 使用“静默”捕获决策actions.intent.TRANSACTION_DECISION
  3. 如果交易可用,则生成正确的 Order 对象。提示:仅从对象的必需项/参数开始。
  4. 确认用户的订单并开始付款。

这在上面的链接中有很好的记录和解释。

专家提示:

  • 使用为您想要交易 API 的国家/地区创建的 Google 帐户。如果目标机器人位于美国,请确保您的 Gmail 帐户是在美国创建的,并使用美国地址。有时,如果从交易 API 不可用的国家/地区访问,则会出现问题。
  • 在移动设备上使用 Assistant 进行测试,因为模拟器可能会再次出现问题。
  • 在移动设备上,安装虚假位置应用程序并将您的位置模拟到支持交易 API 的国家/地区。

推荐阅读