Вы смешиваете здесь асинхронное / ожидание с обратными вызовами и никогда не вызываете обратный вызов async.forEach()
.
let q = async.queue((customer, callback) => {
stripe.charges.create({
amount: customer.amount ,
currency: "usd",
customer: customer.customerId,
source: customer.token
}, {
idempotency_key: customer.uuid
}, callback);
},1)
customers.forEach((customer) => {
q.push(customer, (err, cus) => {
if(err){
console.log(err,"errr==========")
}
// Do whatever
})
});
Вы также хотите убедиться, что customer.token
является идентификатором карты,не идентификатор токена;если это идентификатор токена, который вы использовали для создания клиента, то он вам не нужен, а если это новый токен карты, вам нужно либо сначала обновить клиента, либо добавить его к клиенту.