我是Mean stack的新手,正在使用MeanJS的ver 0.4.2(meanjs.org)。我坚持将Stripe集成到平台上。我正在使用Stripe Angular进行集成。
所以,到目前为止,我已经创建了一个新的控制器。我已经将所需的文件添加到标头中。控制器如下所示:
(function() {
'use strict';
angular
.module('availabilities')
.controller('StripepayController', StripepayController);
StripepayController.$inject = ['$scope', '$http'];
function StripepayController($scope, $http) {
$scope.saveCustomer = function(status, response) {
//console.log('striped');
$http.post('/stripecharge', { token: response.id });
};
}
})();
我已经按照教程说的创建了一个视图。添加了到模块的服务器路由页面的路由:
// routes for stripe
app.route('/stripecharge')
.all(availabilities.stripePay);
服务器控制器具有以下中间件:
exports.stripePay = function(req, res) {
var stripe = require('stripe')('secret_key');
var token = req.body.stripeToken;
var charge = stripe.charges.create({
amount: 1000,
currency: 'usd',
description: 'Example charge',
source: token,
}, function(err, charge) {
// asynchronously called
});
};
令牌正在创建,但我无法为卡充电。关于我如何前进的任何帮助都会很棒。
此外,如果有人能够解释如何在MEANjs中从视图到服务器提交表单。我无法理解这一点。
提前致谢。
答案 0 :(得分:1)
经过大量研究并回到课程后,我终于解决了这个问题。感谢@floatingLomas的帮助。
我实际上错过了服务器控制器中条带节点模块的引用。这是我的服务器现在的样子 -
exports.stripePay = function(req, res) {
var token = req.body.token; // Using Express
// Charge the user's card:
var charge = stripe.charges.create({
amount: 1000,
currency: 'usd',
description: 'Example charge',
source: token,
}, function(err, charge) {
if (err) {
res.send(500, err);
} else {
res.send(204);
}
});
};
在快速控制器的顶部,我添加了
var stripe = require('stripe')('My_Secret_key');
由于缺少节点模块,我收到了控制台中未定义的'stripe'错误。使用
添加了条带节点模块npm install --save stripe
现在一切似乎都变得轻而易举。
答案 1 :(得分:0)