使用条纹上的安全代码向现有卡和客户收费

2023-12-01

我们正在使用 Stripe 处理我们正在开发的网站上的付款

每当客户注册时,我们都会在 Stripe 上创建一个客户并保存customer_Id在数据库中对抗客户。

此外,当客户在网站上下订单时,我们可以选择保存该卡以供将来使用。因此,我们将针对客户的卡保存为 stripe 上的付款来源。

这是我们用来创建付款来源的代码:

public void CreatePaymentSource(int customerId, string paymentToken)
{


    var customer = _customerProvider.GetLoggedInCustomer(customerId);

    //returns the customer_id e.g. cux_XXXXXXX from the customers table in our DB
    var userStripeId = _customerProvider.GetCustomerStripeId(customerId);


    var customerService = new StripeCustomerService();

    // paymentToken is the secure token provided by Stripe.js in the card details entry form

    var updateOptions = new StripeCustomerUpdateOptions()
    {
        Email = customer.Email,
        SourceToken = paymentToken
    };

    // update customer to create a payment source
    var stripeCustomer = customerService.Update(userStripeId, updateOptions);


}

现在,在文档中它说,如果我们想对现有卡进行收费,我们所要做的就是通过card_id、'customer_id' 和 'amount' - 基于此示例:https://stripe.com/docs/charges# saving-credit-card-details-for-later

我想要的是这样的:

enter image description here

1 - 我想显示卡已保存最后 4 位数字

我可以使用从卡的条带返回的信息来做到这一点 -

enter image description here

我的问题

2 - 我希望用户每次想要使用该卡下订单时都输入安全号码。但我们如何验证卡上的安全号码呢?

编辑 - 我的新问题

正如评论和另一个问题中指出的那样,Stripe 无法进行 CVC 检查 - 那么检查用户是否是卡的所有者的替代方案是什么?

注意:我们正在使用 stripe.net - 但可以在任何平台或 编程语言会有帮助。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用条纹上的安全代码向现有卡和客户收费 的相关文章

  • 如何在Jenkins上更改工作空间并建立记录根目录?

    我希望将 Jenkins 的数据写入驱动器 E 因为这是服务器上的大型驱动器 Jenkins 本身安装在 C 上 我怎么做 我看到的默认配置是 工作区根目录 ITEM ROOTDIR 工作区 构建记录根目录 ITEM ROOTDIR 构建
  • 在 selenium webdriver 中打开一个新窗口而不是新选项卡

    当在我的应用程序中手动单击链接时 它会在 Chrome 和 IE 中的新选项卡中打开 但是 当我的脚本运行时 该链接会在 IE 中的新窗口而不是新选项卡中打开 相同的脚本在 Chrome 中按预期运行 知道如何摆脱这个吗 更改 IE 的默认
  • 以 UTF8 而不是 UTF16 输出 DataTable XML

    我有一个 DataTable 我正在使用 WriteXML 创建一个 XML 文件 尽管我在以 UTF 16 编码导出它时遇到问题 并且似乎没有明显的方法来更改它 我了解 NET 在字符串内部使用 UTF 16 这是正确的吗 然后 我通过
  • Javascript/jQuery 外部高度()

    Does idOfLememt outerHeight 对所有浏览器产生相同的结果 IE7 有什么不同吗 只要去http api jquery com outerHeight http api jquery com outerHeight
  • 我如何用 javascript/jquery 进行两指拖动?

    我正在尝试创建当有两个手指放在 div 上时拖动 div 的功能 我已将 div 绑定到 touchstart 和 touchmove 事件 我只是不确定如何编写这些函数 就像是if event originalEvent targetTo
  • 服务器响应 PASV 命令返回的地址与建立 FTP 连接的地址不同

    System Net WebException 服务器响应 PASV 命令返回的地址与建立 FTP 连接的地址不同 在 System Net FtpWebRequest CheckError 在 System Net FtpWebReque
  • Android 的代码覆盖率[重复]

    这个问题在这里已经有答案了 可能的重复 Android测试代码覆盖率 Eclipse https stackoverflow com questions 3282702 android test code coverage eclipse
  • Angular 2:使用正则表达式进行数字验证

    我正在尝试验证 IE 11 中的数字字段
  • 防止 Ada DLL 中的名称损坏

    有没有一种简单的方法可以防止在创建 Ada DLL 时 Ada 名称被破坏 这是我的 adb 代码 with Ada Text IO package body testDLL is procedure Print Call is begin
  • Maven2继承

    如果我有一个父 pom 并且想将其继承到多个项目 我通常通过添加到项目顶部来做到这一点
  • 纯旧 PHP 对象 (POPO) 一词的确切含义是什么?

    我想了解一下波波 我搜索了 popo 发现它代表 Plain Old Php Object 但我不确定 Plain Old Php Object 的确切含义 我想知道什么是 popo 以及在哪里使用它 谢谢 普通旧 在此处插入语言 对象是一
  • 如何用LoaderManager自动重新查询

    我有一个应用程序显示来自 SQLite DB 的数据 并且数据不断变化 所以显然 我认为我应该使用 LoaderManager 来显示数据 我读过一些关于将 LoaderManager 与 SQLite 结合使用的内容 然后看到了亚历克斯
  • 用 Beautiful Soup 进行抓取:为什么 get_text 方法不返回该元素的文本?

    最近我一直在用 python 开发一个项目 其中涉及抓取一些网站的一些代理 我遇到的问题是 当我尝试抓取某个知名代理站点时 当我要求 Beautiful Soup 查找 IP 在代理表中的位置时 它并没有按照我的预期执行操作 我将尝试查找每
  • C#中为线程指定特殊的cpu

    我有 2 个线程 我想告诉其中一个在第一个 cpu 上运行 第二个在第二个 cpu 上运行 例如在具有两个 cpu 的机器中 我怎样才能做到这一点 这是我的代码 UCI UCIMain new UCI Thread UCIThread ne
  • JavaScript 中“键”的类型是什么?

    当我失去焦点并开始思考一个愚蠢的问题时 我遇到了这样的时刻 var a b value b 的类型是什么 我的意思不是 值 的类型 而是标记为 b 的实际键 背景 当我必须创建一个字符串键时 我开始想知道这一点 var a b value
  • 从 Teradata sql Assistant 将结果导出到 Excel 工作表

    我想通过在 Teradata SQL Assistant 中运行查询将结果导出到 Excel 工作表中 我使用了复制粘贴 但没有用 提前致谢 如果您将答案返回到 SQL Assistant 您应该能够从 文件 菜单中选择 保存答案集 然后
  • 如何在 Symfony 4 中为测试环境设置数据库

    我对如何在 symfony 4 中为测试环境设置数据库感到困惑 我曾经在配置测试 ymlsymfony 3 及以下版本中的文件 最佳做法是什么 我应该重新创建一个学说 yaml文件输入配置 包 测试 该文档提到如何通过编辑 phpunit
  • 将 read.csv 与符号链接文件一起使用

    我正在尝试做什么 我的源文件非常大 我想避免将其复制到其他文件夹中 我决定创建一个指向大文件的符号链接并想使用read csv读取文件 文件夹结构 项目1 数据 源文件 csv 项目2 数据 别名到源文件 csv 什么地方出了错 读取源文件
  • 为什么 FMA _mm256_fmadd_pd() 内在函数有 3 个 asm 助记符:“vfmadd132pd”、“231”和“213”?

    有人可以向我解释一下为什么融合乘法累加指令有 3 种变体 vfmadd132pd vfmadd231pd and vfmadd213pd 而只有一个 C 内在函数 mm256 fmadd pd 为了简单起见 在 AT T 语法中 有什么区别
  • 如何使用 C# 以低分辨率形式提供高分辨率图像

    尝试使用 300dpi tif 图像在网络上显示 目前 当用户上传图像时 我正在动态创建缩略图 如果创建的页面引用宽度为 500x500px 的高分辨率图像 我可以使用相同的功能即时转换为 gif jpg 吗 将创建的 jpg 的即将分辨率

随机推荐

  • 'mov cx, [bp+6]' 使用什么寻址模式?

    mov cx bp 6 使用什么寻址模式 处理器是intel 8086 我正在学习Douglas V Hall 的 微处理器和接口 我知道它的内存寻址模式 但不确定它是基于寻址模式还是索引寻址模式 bp 6 是基于寻址模式 来自原始 808
  • laravel 4 关系 - 如何显示用户投票记录的前 5 名排名

    我正在创建一个新闻源系统 正如你很容易猜到的那样 这超出了我的能力范围 请善待我 让我走上正轨 或者提供一些我可以继续做的事情 我有数百个事件 模型名称为 Event1 表 事件 我还有一个数据透视表 用户可以在其中分配任何事件的重要性 值
  • 绑定到画布

    我的类中有一个 canvas 属性 我想知道是否可以将其绑定到 xaml 中的画布 数据绑定在画布中如何工作
  • 从http get请求中读取非英文字符

    我在从 http get 请求获取希伯来字符时遇到问题 我得到像这样的正方形字符 而不是希伯来字符 英文字符没问题 这是我的功能 public String executeHttpGet String urlString throws Ex
  • 为什么我的收集器方法不能并行处理数据?

    然而 假设此归约中使用的结果容器是一个并发可修改的集合 例如 ConcurrentHashMap 在这种情况下 累加器的并行调用实际上可以将它们的结果同时存入同一个共享结果容器中 从而消除了组合器合并不同结果容器的需要 这可能会提高并行执行
  • Visual Studio 正则表达式使用宏删除 VB.NET 代码中的所有注释和空行

    我试图在宏的帮助下删除文件中的所有注释和空行 现在我想出了这个解决方案 它删除了注释 下面描述了一些错误 但无法删除之间的空白行 Sub CleanCode Dim regexComment As String REM d D r n
  • 尝试安装 Matlab 编译器运行时时出现 JRE 错误

    我再一次花了很多时间试图让一些东西发挥作用 但没有成功 我想在未安装 MATLAB 的 Ubuntu 13 04 上安装 MATLAB 编译器运行时 这就是我所做的 我下载了64位Linux版本R2012b 8 0 http www mat
  • 如何在 SharpDevelop 4.2 中启动国际化的 WPF 项目?

    我想创建一个软件 用户可以在多种语言之间进行选择 首先 我想学习如何处理国际化 因为我以前从未这样做过 作为 IDE 我使用 SharpDevelop 或 develop 但你可以拼写它 我想使用 C 和 WPF 因为我目前也在学习 XAM
  • 一个对象上的垃圾回收,C#

    我需要处置一个对象 以便它可以释放它拥有的所有内容 但它没有实现 IDisposable 所以我无法在 using 块中使用它 我怎样才能让垃圾收集器收集它 您可以使用 GC Collect 强制进行收集 使用此功能时要非常小心 因为完整的
  • 我应该使用 EAV 模型吗?

    我正在为电子商务应用程序设计数据库 域 但我很难弄清楚如何存储产品 该网站将销售各种产品 钢笔 丁字裤 纹身 雨伞 应有尽有 这些产品中的每一个都会共享一些共同的属性 高度 宽度 长度 重量等 但有些产品有特殊的数据 例如 钢笔有不同的墨水
  • Visual Studio 2015 OpenSSL

    我试图 include
  • Cytoscape.js 的可扩展性

    我有一个 11MB JSON 图形文件 包含大约 45K 条边和 73K 节点withoutx y 位置 我想使用 BFS 布局显示该图 我正在使用 Promise Deferred 来加载文件 我无法让 Cytoscape 在 chrom
  • OSX:用于设置 IO 缓冲区长度的 CoreAudio API?

    这是上一个问题的后续 OSX CoreAudio 提前获取数字帧 初始化时 我试图找出可能设置的 AudioUnit API 是什么帧数 or 首选 IO 缓冲区持续时间单个的输入回调HAL音频组件实例OSX 不是插件 虽然我知道有一个关于
  • 按属性过滤产品并隐藏可变产品的缺货商品

    我想按属性对可变产品进行过滤 但问题是过滤器显示缺货产品 我必须隐藏检查的缺货产品 但这并没有解决问题 提前致谢 这是标准的 woocommerce 功能 它在商店页面 woocommerce 小部件中随处显示 缺货 产品 仅在产品单上显示
  • “模块”对象没有属性“串行”

    我正在使用以下代码与我的电脑与arduino进行通信 但是我收到标题中提到的错误 模块对象没有属性串行 usr bin python Importamos la libreira de PySerial import serial Abri
  • 在 digi 6030dx 调制解调器上使用 SSH.NET 执行命令 - 以左方括号开头的字符序列是什么?

    我有一些大型项目通过以下方式连接到许多设备SSH NET 现在我必须添加对新调制解调器 digi 6030dx 的支持 我添加了它并且可以毫无问题地连接 但是当我发送一些 任何命令时show config输出是 16C 0K 16C 0Ks
  • Python实时变化热图绘制

    我有一个 50 50 的 2D 网格 对于每个位置 我都有一个强度值 即数据就像 x y intensity 对于每个 50 50 位置 我想将数据可视化为热图 不同的是 每秒强度都会改变 对于大多数位置 这意味着我需要每秒重新绘制热图 我
  • Postfix:向 PHP 发送电子邮件

    问候 有人知道向我的 postfix 服务器发送电子邮件 然后打开 PHP 脚本来处理该电子邮件的好方法吗 我可以执行 cron 但我更喜欢立即执行 任何指示都非常感激 提前谢谢了 您也许可以使用 forward 但最简单的方法可能是配置
  • Airflow 2 - 导入错误:无法从“airflow.operators”导入名称“BashOperator”

    升级到 Airflow 2 后 我在某些 DAG 中遇到了该错误 ImportError cannot import name BashOperator from airflow operators 我最近遇到了同样的问题 以下对我有用 f
  • 使用条纹上的安全代码向现有卡和客户收费

    我们正在使用 Stripe 处理我们正在开发的网站上的付款 每当客户注册时 我们都会在 Stripe 上创建一个客户并保存customer Id在数据库中对抗客户 此外 当客户在网站上下订单时 我们可以选择保存该卡以供将来使用 因此 我们将