Javascript 如何实现条带幂等键
我有一个客户阵列,我想批量收取他们的条纹。有时由于网络原因,有些费用无法通过,而有些费用确实通过,因此提出新的请求会再次向所有客户收取费用。我读到我可以使用幂等性,但注意到每次我提出请求时,键都会重新生成。我如何实现生成密钥来识别每个用户,而不将密钥存储在数据库中,因为它是一个临时密钥Javascript 如何实现条带幂等键,javascript,node.js,stripe-payments,Javascript,Node.js,Stripe Payments,我有一个客户阵列,我想批量收取他们的条纹。有时由于网络原因,有些费用无法通过,而有些费用确实通过,因此提出新的请求会再次向所有客户收取费用。我读到我可以使用幂等性,但注意到每次我提出请求时,键都会重新生成。我如何实现生成密钥来识别每个用户,而不将密钥存储在数据库中,因为它是一个临时密钥 for(customer in customers){ stripe.charges.create({ amount: 2000, currency: "usd",
for(customer in customers){
stripe.charges.create({
amount: 2000,
currency: "usd",
source: token,
customer: stripe_customerId,
}, {
idempotency_key: uuid
}, function(err, charge) {
// asynchronously called
});
}
您对此有什么想法吗?首先,您可能不想对这样的异步代码执行
for
循环;如果您有n
客户要收费,您将同时发出n
请求,这可能会导致一系列问题
其次,您使用的收费代码旨在从条带令牌创建一次性收费,而不是
假设您实际上已经保存了客户ID,您可能会希望使用类似的方法来实现此目的
我会使用,我会把事情分成如下几部分:
客户
ID、金额
、货币
、新生成的幂等键
和尝试计数
,然后将该任务推送到队列上trunt\u count
并将其推回到队列中,以便重试。我可能还需要一个测试来限制重试次数,并跳过/记录任何失败的测试,即5次