Как создать клиента и карту за одно действие с помощью Stripe?
Я пытаюсь инициализировать клиента в первый раз. У меня есть форма, где они подписываются и все, и они отправляют его. На клиенте происходит следующее:
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 нельзя использовать более одного раза
Есть ли канонический способ сделать несколько запросов чередоваться на сервере для одного токена?