未在条带帐户上创建客户

时间:2019-11-29 14:25:40

标签: javascript node.js firebase google-cloud-functions stripe-payments

我正在运行此node.js代码以在条带化帐户上创建客户功能部署成功,但在条带化上创建客户失败,但我没有得到我所缺少的信息。 Fire base Functions文件夹也没有显示该功能。

const functions = require('firebase-functions');
    const admin = require('firebase-admin');
    admin.initializeApp(functions.config().firebase);
    const stripe = require('stripe')("secret key here");
    var customer;

    stripe.customers.create(
      {
        email: 'customer@example.com',
      },
      {
        maxNetworkRetries: 2, 
      }
    );

1 个答案:

答案 0 :(得分:1)

在完全控制范围之外使用API​​服务(即Stripe.com和Firebase)时,必须检查错误。如果您使用的服务不正确,该错误将说明(或至少暗示您在做什么)。

stripe-node API documentation建议您调用stripe.customer.create()作为等待的函数,如下所示:

const customer = await stripe.customers.create({
         email: 'customer@example.com',
});

如果从异步函数调用它很容易。您应该在异步函数中使用这种代码来检查stripe.com返回的错误。

try {
   const customer = await stripe.customers.create({
         email: 'customer@example.com',
    });
    /* here's your customer object */
}
catch (error) {
    console.error ('stripe', error);
}

如果您不通过异步函数调用它,则可以使用Promises方案等待结果。

    stripe.customers.create({
         email: 'customer@example.com',
       })
    .then ( function (customer) {
             /* here's your customer object */
       })
    .catch ( function (error) {
        console.error ('stripe', error);
       });

如果您还不确定异步/等待或Promises的工作方式,那么您就该这样做了。