当前位置: 首页 > 知识库问答 >
问题:

为同一客户创建多张卡片

孟和玉
2023-03-14

我是新来的Stripe。我在.NET中使用Stripe实现了一个卡支付系统。

我的代码如下:

var options = new SessionCreateOptions
{
  PaymentMethodTypes = new List<string> { "card", },
  LineItems = new List<SessionLineItemOptions> {
    new SessionLineItemOptions {
      PriceData = new SessionLineItemPriceDataOptions {
        UnitAmount = productPrice,      // in cents
        Currency = currency,
        ProductData = new SessionLineItemPriceDataProductDataOptions {
          Name = productName
        },
      },
      Quantity = 1,
    },
  },
  Mode = "payment",
  PaymentIntentData = new SessionPaymentIntentDataOptions
  {
    ReceiptEmail = customerEmail,
    Description = productName
  },
  SuccessUrl = domain + "/Home/PaymentSuccess?session_id={CHECKOUT_SESSION_ID}",
  CancelUrl = domain + "/Home/PaymentCancel",
  Customer = customerId // From database
};

var service = new SessionService();
Session session = service.Create(options);
jsonToReturn = Json(new { id = session.Id });

正如您在上面看到的,我正在传递我存储在DB中的客户ID。

问题是,每个付款客户都输入了相同的到期日相同的卡4242 4242 42424242和CVV12/20123

此外,我是否可以传递付款方式ID(卡ID保存为过去的结帐条纹),以便客户不需要输入卡详细信息,可以直接选择过去用于结帐的卡?

共有1个答案

娄德运
2023-03-14

条纹目前不会为您消除重复的卡片。如果有人使用同一张卡连续多次付款,它们将被创建为预期的重复卡。原因是卡的详细信息可能不同,例如具有不同或更完整的账单地址,不同的到期日期,与CVC或地址检查具有不同的结果等。

在API中,Stripe显示一个指纹属性,可用于唯一标识同一帐户上的给定卡号。我的想法是,如果我用4242424242842支付两次,两张卡都将以不同的pm_12345id存在于您的账户中,但它们都将具有完全相同的指纹,这可以帮助您检测重复项,例如清除重复项。

现在,条纹结账还不允许你预先填写或预先选择现有的卡。这意味着目前您无法控制卡的保存方式以及是否重复使用以前使用的卡。这个想法是保存卡,以便您可以在自己的付款页面中让客户来订购更多产品,或者例如定期向他们收费。如果您不这样做,最好的选择可能是分离将来不会重复使用的付款方式。

 类似资料:
  • 问题内容: 我需要为同一张图片启动多个容器。如果我如下所示创建我的撰写文件,它可以正常工作。 我有什么简单的方法可以提及撰写实例的数量,而不是多次复制和粘贴? 问题答案: 更新的答案(2017年10月) 正如其他人提到的那样,docker API已更改。我正在更新我的答案,因为这是大多数人可能会看到的答案。 不幸的是,我们目前无法在docker-compose.yml文件中指定此版本(从3.5版开

  • 因此,我有一个已经创建了卡的客户。< br >在前端,我提供了使用现有卡或不同卡的选项。< br >根据API文档,我为新卡创建了令牌,并将其发送到我的后端... 在后端: 如果我用现有的卡支付,费用会通过,但如果我发送一个新的令牌,我会得到一个错误: 来自API文档:https://stripe.com/docs/api/charges/create 来源可选要收费的支付来源。这可以是卡(即信用

  • 我用的是php的stripe api,基本流程如下: < li >与支付表单一起提交,并通过php stripe sdk创建一个stripe令牌。 < li >如果客户存在于本地数据库中,我会获取他们的< code>customer_id和指纹。否则,使用令牌作为源/卡来创建新客户。 < li >如果客户和本地数据库中存在相同的指纹,如果令牌对象响应指纹和我的本地数据库指纹不同意味着。 < ul

  • 问题内容: 因此,我正在查看文档,并且完全没有使用任何方法的示例。我正在研究使用socks5。该函数的外观如下: 现在一切都说得通了,除了我对哪个是类型感到困惑,函数本身返回了一个。其他一切都有意义,只是前进就把我赶走了。我如何设置我的客户使用socks5 Dialer? 问题答案: 因此,只要有兴趣在此处设置socks5客户的人,我都可以找到我问题的答案:

  • 创建客户端有两种方式,一种是直接使用特化的构造器函数,另一种是使用工厂构造器函数。 第一种方式返回的是具体的客户端结构体指针对象,第二种方式返回的是客户端接口对象。 使用特化的构造器函数创建客户端 特化的构造器函数有下面几个: func NewHTTPClient(uri ...string) (client *HTTPClient) func NewTCPClient(uri ...string

  • 1.LOL蛇女大招怎么判断自己的朝向和蛇女的朝向是否正对。 2.数组和链表的区别 3.客户端传输用户名和密码到服务器,这之间需要做那些操作,使用TCP协议传输 4.网络传输的单位是什么,怎么区分连续的多个用户名和密码。 5.字符串和字节码之间做转换吗,怎么做 5.大小端问题 6.Unity中的协程了解吗,协程和线程的区别是什么,解决了什么痛点 7.反问