Como criar um cliente e um cartão em uma única ação com o Stripe?
Estou tentando inicializar um cliente pela primeira vez. Eu tenho um formulário onde eles se inscrevem e tudo, e eles enviam. No cliente, acontece o seguinte:
var cardValues = AutoForm.getFormValues('credit-card-form').insertDoc;
Stripe.createToken(cardValues, function (err, token) {
if (!err && token) {
Meteor.call('Stripe.initializeCustomer', token);
}
});
No lado do servidor, estou tentando fazer algo assim:
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
})
}
});
Parece que a API do Stripe não gosta disso
Erro de rejeição sem tratamento: você não pode usar um token de distribuição mais de uma vez
Existe uma maneira canônica de fazer várias solicitações de distribuição no servidor para um único token?