我正在尝试为Google云函数编写一些NodeJS来处理条带化。我对此很陌生,并尝试遵循各种教程。
我目前收到以下错误:
Detailed stack trace: ReferenceError: request is not defined
我不太了解,因为我认为这是快递包裹的一部分。这是我的全部代码。它旨在从表单中获取令牌并收取费用。即使查看条纹教程,他们也不会单独定义请求。
var app = require('express')();
var http = require('http').Server(app);
var stripe = require('stripe')(
"sk_);
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
//get token from body
const token = request.body.stripeToken;
//initiate a one-off charge for a customer
exports.chargeCustomer = app.get("/", function chargeCustomer (req,res){
stripe.charges.create({
source: token,
currency: 'usd',
amount:999
},function(err, charge) {
if(err) {
return res.send(JSON.stringify(err));
}
res.send(JSON.stringify(charge));
});
});
答案 0 :(得分:1)
我不确定您遵循的是哪个教程,因此无法指出。您的代码中缺少的是对创建卡令牌的tokens端点的第一个请求,这是后续charges
调用所必需的。
var stripe = require("stripe")("sk_test_XXXXXXX"); // your test key
stripe.tokens.create({
card: {
number: '4242424242424242',
exp_month: 12,
exp_year: 2020,
cvc: '123'
}
}, function(err, token) {
// asynchronously called
});
此操作的结果将返回一个JSON对象,您将需要该对象的id
。 ID是一个以tok_
开头的字符串,即tok_0EDyAkDOjEFp8g5k9NxTrm2k