在条带文档中,他们有:
customer = Stripe::Customer.create(email: params[:stripeEmail], card: params[:stripeToken])
charge = Stripe::Charge.create(customer: customer.id, amount: price, description: '123', currency: 'usd')
但是我认为每次付款都是错误的,我们必须先检查一下客户是否存在,我只是尝试使用测试帐户,结果发现有一些不同的客户使用相同的电子邮件但不同的ids。
如何检查客户是否已存在?
答案 0 :(得分:8)
没有检查Stripe的结尾以确保客户的独特性(电子邮件,卡片,名称等),这是您必须要做的事情。
通常,当您使用特定电子邮件地址创建客户时,您需要将从API返回的客户ID与电子邮件地址相关联。然后,下次检查此电子邮件地址是否已在您的系统中,并创建新客户或重新使用上一次的客户ID。
答案 1 :(得分:3)
您可以通过将电子邮件作为 form-urlencoded 参数来调用GET /customers
来检查客户是否存在。您将收到200 OK响应,但如果此客户电子邮件不在,则返回的data []将为空。
https://stripe.com/docs/api/customers/list