我无法获取 this Stripe 包与客户和收费一起工作,我可以让收费自行工作,但我无法让客户与收费联系起来。如果我将 source:token
数据放入 stripe.charges.create
中,则会成功收费,但我希望创建一个客户并将一些元数据传递给该客户客户。
这是我的服务器端方法
Meteor.methods({
stripeCheckout: function (token) {
stripe.customers.create({
source: token,
email: 'michael@jackson.com'
}, function(err, customer) {
// asynchronously called
});
Stripe.charges.create({
amount: 100000,
currency: 'cad',
customer: customer.id
}, function (err, res) {
console.log(err, res);
});
}
});
这是我的客户端 token 创建和对服务器端方法的调用。
Template.checkout.events({
"submit #payment-form": function (event, template) {
event.preventDefault();
alert("red");
var amount = 3000;
var number = 4242424242424242;
Stripe.card.createToken({
number: $('.card-number').val(),
cvc: $('.card-cvc').val(),
exp_month: $('.card-expiry-month').val(),
exp_year: $('.card-expiry-year').val()
}, stripeResponseHandler
);
function stripeResponseHandler(status, response) {
// response contains id and card, which contains additional card details
var token = response.id;
console.log(token);
Meteor.call('stripeCheckout',token, function (error, result) { } );
}
}
最佳答案
这最终对我有用
Meteor.methods({
stripeCheckout: function (token) {
Stripe.customers.create({
source: token,
email: 'michael@jackson5.com'
}, function(err, customer) {
id = customer.id;
Stripe.charges.create({
amount: 100000,
currency: 'cad',
customer: id
}, function (err, res) {
console.log(err, res);
});
});
}
});
关于javascript - meteor 和 Stripe 整合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28883707/