Я пытаюсь инициализировать клиента в первый раз. У меня есть форма, где они подписываются и все такое, и они ее отправляют. На клиенте происходит следующее:
var cardValues = AutoForm.getFormValues('credit-card-form').insertDoc;
Stripe.createToken(cardValues, function (err, token) {
if (!err && token) {
Meteor.call('Stripe.initializeCustomer', token);
}
});
На стороне сервера я пытаюсь сделать что-то вроде этого:
Meteor.methods({
'Stripe.initializeCustomer': function (token) {
var Stripe = StripeAPI(process.env.STRIPE_KEY);
// some validation here that nobody cares about
Stripe.customers.create({
source: token
}).then(function (customer) {
return Stripe.customers.createCard(customer.id, {
source: token
})
}).catch(function (error) {
// need to do something here
})
}
});
Казалось бы, Stripe API это не нравится
Ошибка необработанного отказа: вы не можете использовать токен Stripe более одного раза
Есть ли канонический способ сделать несколько запросов на чередование на сервере для одного токена?