如何在数据库中存储条带客户 ID

saw*_*awa 5 stripe-payments

假设客户在一段时间未使用该服务后返回支付订阅费用。一旦从客户端浏览器 POST 来自客户的卡信息,stripe.customers.create 是否识别以前使用过的卡?在这种情况下,返回的客户对象 ID 是否与之前一位客户的 ID 相同?我问这个问题是因为我不确定我是否应该将数据库中的每个用户关联一个客户 ID 或每个用户关联多个客户 ID。

The*_*ude 8

我可以举一个例子来说明我如何管理用户网站和 Stripe 客户之间的关联。

在我自己的数据库中,我有一个表用于注册到站点的用户(“用户”)和一个用于客户条带的表(“Stripe_Customers”)。在用户表中有 Stripe_Customers 的 GUID。当新用户注册该站点时,我也会在 Stripe_Customers 中创建一个新记录(将 stripe_id 列留空)。然后当用户转到付款表单页面时,我们会遇到以下情况:

在 onLoad 页面:我检查他是否已经是 customer_stripe。

  1. 如果为“false”:表单为空。用户必须插入信用卡信息。当他按下提交时,我创建了新客户(Stripe.customer.create)并更新了 Stripe_Customers 表的用户记录。
  2. 如果为“true”:该表单预填充了通过 Stripe_id ( Retrieve_Card )从 Stripe 检索的卡信息。在这种情况下,用户可以使用旧信用卡或插入新信用卡。

    在插入新卡的情况下,当用户按下提交时,我会在 Stripe ( Update_Card )上更新客户的卡信息。


我上面写的不完整,有点不同(我提供了选择是否保存信用卡和其他东西的可能性)。

我希望这对你有帮助。

PS:如果要检查插入的信用卡是否与存储在Stripe上的客户信息中的信用卡相同,则需要检查基于信用卡号的“指纹”参数(因此永远不要更改。卡将始终具有相同的“指纹”)[有关更多信息,请参阅Card-Obeject文档]