未定义NodeJS Google Cloud功能请求

时间:2019-03-14 16:04:44

标签: node.js google-cloud-platform stripe-payments

我正在尝试为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));
  });
  });

1 个答案:

答案 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