我的问题是:对于同一张卡,每次用户(所有者)使用它时,我都会使用平衡的 JS 对其进行标记,并获得不同的 URI。然后我会在 Balanced 上将此卡添加到此客户。这将导致客户有很多卡,尽管它们是相同的。
那么建议的实现方式是什么?假设我会让用户在每次使用时都输入他的卡。
我们项目的更多背景信息:我以这种方式将平衡支付与我的网站集成:前端 JS 将标记卡并将卡 URI 传递给我们的后端。后端使用 python 将此卡 uri 分配给客户并在某个时候借记。
我的问题是:对于同一张卡,每次用户(所有者)使用它时,我都会使用平衡的 JS 对其进行标记,并获得不同的 URI。然后我会在 Balanced 上将此卡添加到此客户。这将导致客户有很多卡,尽管它们是相同的。
那么建议的实现方式是什么?假设我会让用户在每次使用时都输入他的卡。
我们项目的更多背景信息:我以这种方式将平衡支付与我的网站集成:前端 JS 将标记卡并将卡 URI 传递给我们的后端。后端使用 python 将此卡 uri 分配给客户并在某个时候借记。
您可以在收集卡片的页面上的 jquery 中使用 if 语句。如果客户选择了现有卡,则 balance.js 代码不会执行。
如果客户添加了一张新卡,那么它将被标记化,我们使用以下函数(在 php 中)将卡添加到现有客户:
function add_card($customer_id = NULL, $card_token = NULL){
$customer = \Balanced\Customer::get($customer_id);
$customer->addCard($card_token);
}
为什么不每次都使用同一张卡?我认为,用户每次购买都必须输入他们的卡信息有点麻烦。
如果您确实必须让用户多次重新输入相同的卡片信息,但又不想重复card
资源,您可以检查hash
刚刚创建的卡片对象的属性。如果它与hash
现有的相匹配card
,则不要将 与 相关联card
,customer
而是使用先前存在的。
https://docs.balancedpayments.com/current/api.html?language=bash#tokenize-a-card