从Firebase Cloud功能连接到条纹的错误



我正在尝试使用Firebase和Stripe从Android应用程序处理信用卡付款。我在客户端上检索了一个条纹令牌,并且在发布新订单时,我正在使用Firebase Cloud功能中的数据库触发器来捕获。这是我的功能代码。

const stripe = require('stripe')('sk_test_XXXXXXXXXXXXXXXXXXXXXXXX');
return admin.database()
    .ref()
    .child('orders')
    .child(userId)
    .child(orderId)
    .child('token')
    .once('value')
    .then(snapshot => {
        return snapshot.val();
    })
    .then(token => {
        const amount = order.amount;
        console.log('Amount:', amount);
        console.log('token:', token.id);
        const idempotency_key = orderId;
        const source = token.id;
        const currency = 'usd';
        const charge = {amount, currency, source};
        return stripe.charges.create(charge, { idempotency_key });
    })
    .then(charge => {
        console.log('Success:', charge);
        // If the result is successful, write it back to the database
        return event.data.adminRef.set(charge);
    }, error => {
        console.log('Error:', error);
        return;
    }
);
enter code here

这正在生成以下错误:

错误:我们与条纹的连接发生了错误。_ERROR (/user_code/node_modules/stripe/lib/error.js:12:17)at error.constructor(/user_code/node_modules/stripe/lib/utils.js:120:13) 在error.constructor (/user_code/node_modules/stripe/lib/utils.js:120:13)在ClientRequest上。 (/user_code/node_modules/stripe/lib/striperesource.js:206:9)at emitone(event.js:96:13)at Clientrequest.emit(Events.js:188:7) tlssocket.socketerrorlistener(_http_client.js:309:9)在emitone (events.js:96:13)在tlssocket.emit(event.js:188:7) connecterrornt(net.js:1021:8)at _combinedTickCallback (内部/process/next_tick.js:80:11)在process._tickdomaincallback (内部/process/next_tick.js:128:9)

我找不到有关此错误的任何文档。我已经尝试了我能想到的一切。所有变量都包含有效的数据。

最有可能导致这样的原因与您的代码无关 - 它与您订阅的Firebase计划有关。

" Spark Plan"是完全免费的层(这是大多数人开始),除了Google的HTTPS服务外,不允许出站网络连接。

即使在开发和测试中,我建议使用"大火计划"。它允许网络连接。尽管它确实列出了利用率(用于处理和网络连接),但信息按钮表明每个月都有一个免费的使用水平,并且该水平通常足以进行开发和测试。

相关内容

  • 没有找到相关文章

最新更新