Pat*_*ogh 6 node.js stripe-payments firebase google-cloud-functions
我正在尝试使用Firebase和Stripe从我的Android应用中处理信用卡付款.我在我的客户端上检索了一个Stripe令牌,我在Firebase Cloud Function中使用数据库触发器来捕获新订单的发布时间.这是我的功能代码.
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
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误:
错误:我们在Error.Constructor(/user_code/node_modules/stripe/lib/utils.js)的Error._Error(/user_code/node_modules/stripe/lib/Error.js:12:17)与Stripe的连接发生错误: 120:13)在ClientRequest的Error.Constructor(/user_code/node_modules/stripe/lib/utils.js:120:13).(/user_code/node_modules/stripe/lib/StripeResource.js:206:9)在TLSSocket.socketErrorListener(_http_client.js)的ClientRequest.emit(events.js:188:7)的emitOne(events.js:96:13)处:309:9)在emitOne(events.js:96:13)的TLSSocket.emit(events.js:188:7)位于connectErrorNT(net.js:1021:8)的_combinedTickCallback(internal/process/next_tick.js) :80:11)at process._tickDomainCallback(internal/process/next_tick.js:128:9)
我找不到有关此错误的任何文档.我已经尝试了所有我能想到的东西.所有变量都包含有效数据.
Pri*_*ner 15
导致此类问题的最可能原因与您的代码无关 - 它与您订阅的Firebase计划有关.
"Spark计划"是完全免费的层(也是大多数人开始使用的层),除了谷歌的HTTPS服务之外,它不允许出站网络连接.
即使是开发和测试,我建议采用"Blaze计划".它允许网络连接.虽然它确实列出了使用价格(包括处理和网络连接),但"信息"按钮表示在这些价格开始之前每个月都有一个免费使用级别,并且该级别通常足以进行开发和测试.
| 归档时间: |
|
| 查看次数: |
2167 次 |
| 最近记录: |