¿Cómo crear un cliente y una tarjeta en una sola acción con Stripe?

Estoy tratando de inicializar un cliente por primera vez. Tengo un formulario donde se registran y todo, y lo envían. En el cliente, sucede lo siguiente:

var cardValues = AutoForm.getFormValues('credit-card-form').insertDoc;
Stripe.createToken(cardValues, function (err, token) {
  if (!err && token) {
    Meteor.call('Stripe.initializeCustomer', token);
  }
});

En el lado del servidor, estoy tratando de hacer algo como esto:

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 la API Stripe no le gusta esto

Error de rechazo no controlado: no puede usar un token Stripe más de una vez

¿Hay una manera canónica de hacer múltiples solicitudes para dividir en el servidor un solo token?

Respuestas a la pregunta(1)

Su respuesta a la pregunta