分析服务器云代码和条纹

我正在为Heroku上的移动Web应用程序运行一个Parse-Server实例。 我的问题是条纹检查插件工作正常,在我的HTML页面,但是当创build令牌,我打电话给我的云代码,好像创buildvariables初始化条纹什么都不做。 这是我的云代码。

var stripe = require('stripe')('sk_test_******'); Parse.Cloud.define("pay", function(req, res){ Parse.Cloud.useMasterKey(); var token = req.params.token; var amount = req.params.amount; var email = req.params.email; // stripe is null res.success(stripe); }); 

在调用这个时,stripe的值是空的,我不知道为什么。 我在我的package.json文件中添加了stripe:'〜4.7.0',并运行npm install来在本地创build所有节点模块。 我不知道是否有所作为,但在我的index.js文件中,我创build了一个路由器

 app.use('/', express.static(path.join(__dirname, '/public'))); 

因为以这种方式访问​​公共目录中的文件比较容易。 否则,我将不得不在我的公共目录中用/ public / filename引用文件,每次我想包含该文件。 任何帮助将非常感激。

我今天有这个问题

我是通过试错来做到的,这就是我所记得的

https://www.npmjs.com/package/stripe < – 那是我从哪里得到的云代码

  1. 在你的分析服务器的根目录通过命令提示符我执行以下 – npm安装条纹
  2. 然后我添加条纹依赖package.json(这个堆栈溢出后是失踪的关键) “条纹”:“〜4.9.0”,
  3. 云代码如下

Parse.Cloud.define(“charge”,function(request,response){

 var stripe = require('stripe')('sk_test_****'); stripe.customers.create({ email: theEmailAddress }).then(function(customer) { return stripe.charges.create({ amount: yourAmount, currency: yourCurrency, card: yourToken, description: yourDescription }); }).then(function(charge) { // New charge created on a new customer }).catch(function(err) { // Deal with an error }); 

});

  1. 通过您的应用程序使用该云代码,并查看它是否在您的条形仪表板中工作(您必须签入仪表板)

所以这两个“突破”来了,当我添加条纹作为package.json依赖,也可以看到var stripe = require是在云代码function

看到答案最初发布的以下post

当我从parse移植到heroku时,需要模块不工作

我放弃了在Cloud Code中运行这个收费。 相反,我在我的index.js文件中创build了一个路由“/ charge”,并使用jQuery post进行调用。 这是我在index.js中的代码

 var stripe = require('stripe')('sk_test_****'); var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: false })); app.post('/charge', function(req, res){ var token = req.body.token; var amount = req.body.amount; stripe.charges.create({ amount: amount, currency: 'usd', source: token, }, function(err, charge){ if(err) // Error check else res.send('Payment successful!'); } }); 

这是我的jQuery请求

 var handler = StripeCheckout.configure({ key: 'pk_test_****', locale: 'auto', token: function(token){ $.post('/charge', { token: token.id, amount: total, }, function(data, status){ alert(data); }); } });