使用Node.js检查带条纹的信用卡副本

使用Node.js检查带条纹的信用卡副本,node.js,stripe-payments,node-modules,Node.js,Stripe Payments,Node Modules,我目前正在Node.js api中实现stripe。我注意到,如果信用卡重复,stripe不会抛出错误。我还注意到,每一张信用卡都有一个指纹属性,允许我手动检查是否有重复 但目前我必须将该卡添加到我的客户,检查是否有重复卡,如果是重复卡,则将其删除 我没有找到其他方法来处理节点模块。我遗漏了什么吗?当您检索令牌服务器端时,指纹可用 stripe.tokens.retrieve( "tok_16eUwpK5S7qVcORZ9ur0xOkl", function(err, token) {

我目前正在Node.js api中实现stripe。我注意到,如果信用卡重复,stripe不会抛出错误。我还注意到,每一张信用卡都有一个指纹属性,允许我手动检查是否有重复

但目前我必须将该卡添加到我的客户,检查是否有重复卡,如果是重复卡,则将其删除


我没有找到其他方法来处理节点模块。我遗漏了什么吗?

当您检索令牌服务器端时,指纹可用

stripe.tokens.retrieve(
  "tok_16eUwpK5S7qVcORZ9ur0xOkl",
  function(err, token) {
    // token.card.fingerprint
  }
);

Stripe并没有给他们这样的便利。我想说的是,如果你想减少对stripe的调用,建议你将所有卡的指纹存储在本地,并使用它们检查唯一性。将卡的指纹存储在本地是安全的,并且可以唯一地识别卡。

Stripe在多次保存同一张信用卡时不会抛出错误的原因是,他们有充分的理由故意这样做。这背后的理由是,尽管信用卡是为一个用户注册的,但在实践中,它可以被几个人使用。举个例子,你的家人可以用同一张卡购物

例:虽然亚马逊不使用Stripe,但让我用亚马逊来澄清上述问题

  • 假设亚马逊使用Stripe存储信用卡
  • 您可以将信用卡另存为您的卡,以便以后购买
  • 您的配偶也可以输入同一张卡,并将其保存以备日后使用
  • 这是常用的,所以Stripe认为最好允许它

如果你考虑条纹上的卡对象属性(见下文),你可以看到它有两个重要值

  • 身份证
  • 指纹
该id用于识别信用卡,但多次添加的同一张卡可能具有不同的id值

指纹是卡的唯一标识。您可以使用此值检查同一用户是否再次尝试添加同一张卡

卡片对象

{ "id":"card_1GkRvi2eZvKYlo2CyZAhyK1J", "object":"card", "address_city":null, "address_country":null, "address_line1":null, "address_line1_check":null, "address_line2":null, "address_state":null, "address_zip":null, "address_zip_check":null, "brand":"Visa", "country":"US", "customer":null, "cvc_check":"pass", "dynamic_last4":null, "exp_month":8, "exp_year":2021, "fingerprint":"Xt5EWLLDS7FJjR1c", "funding":"credit", "last4":"4242", "metadata":{ }, "name":null, "tokenization_method":null } { “身份证”:“身份证”, “对象”:“卡片”, “地址城市”:空, “地址/国家”:空, “地址_行1”:空, “地址行1检查”:空, “地址_行2”:空, “地址状态”:空, “地址”:空, “地址检查”:空, “品牌”:“Visa”, “国家”:“美国”, “客户”:空, “cvc_检查”:“通过”, “dynamic_last4”:空, “经验月”:8, “经验年”:2021年, “指纹”:“Xt5EWLLDS7FJjR1c”, “资金”:“信贷”, “last4”:“4242”, “元数据”:{ }, “名称”:空, “标记化方法”:null }
您是否特别需要您的用户在应用程序中保存多张信用卡?还是你只想要一个?如果您只想存储一张信用卡,有一种方法可以在保存信用卡时将其指定为默认卡。这样做,它将删除任何预先存在的默认卡。因此,如果你总是这样保存卡,就永远不会有任何重复。我确实需要多张信用卡,但谢谢你的解决办法。