stripe-payments - 从附加的支付方法对象生成一个新的条纹源对象
问题描述
我正在尝试将客户及其保存的 CC 数据从一个电子商务平台迁移到另一个(SquareSpace 到 WooCommerce)。两个平台都使用 Stripe 作为支付网关。该电子商务网站销售订阅产品,我们希望能够转移我们的客户数据,而无需他们重新输入付款信息。
在旧平台中,当通过信用卡下订单时,会在 Stripe 中创建一个客户,并创建一个支付方法对象并将其附加到客户。
在新平台中,当通过信用卡下订单时,会在 Stripe 中创建一个客户,并创建一个Sources 对象并将其附加到该客户。
我正在尝试找出一种方法来获取我们拥有的旧数据(客户和付款方式对象),并从中创建一个源对象并将其附加到现有客户,或者如果需要,我们可以创建一个新客户并将其附加到他们身上。
有没有人足够了解条纹,知道这是否可能,如果可能的话,你能指出我正确的方向吗?我已经多次阅读他们的文档,但仍然不确定这是否可能。
解决方案
API 是 2018 年推出的 Stripe的PaymentMethod
较新抽象。这统一了所有遗留对象,例如Card
或Source
在更可扩展的更好抽象下。PaymentMethod
自 2019年以来,新的支付方式类型已完全建立。
当 API 发布时,Stripe 在兼容层上工作,以确保遗留Card
或Source
对象自动作为PaymentMethod
. 这意味着如果您有一个card_123
或src_123
对象附加到客户,您可以通过 API 作为 PaymentMethod 访问它,它的工作原理相同,并且与PaymentIntent
和SetupIntent
所有未来的 API 兼容。
不幸的是,没有办法将pm_123
对象转换回Source
or Card
。这只是不支持的东西。您要么需要再次收集卡片详细信息,要么与 WooCommerce 合作以支持更新的 API,因为它们已经发布了 2 年多。
推荐阅读
- python - 如何为复杂 Python 类的初始化程序中调用的方法开发测试?
- javascript - 如何在执行期间使用 rxjs 向 Inquirer JS 动态添加问题?
- ios - 如何从 google place api for iOS 中获取 20 多个可能的位置
- c# - C# WPF - 从子窗口打开子窗口
- matlab - 运行matlab代码后数组不可用
- php - 如何从 wordpress 标题中删除 woocommerce 购物车图标
- java - MC-Launcher:在 Mac 上启动 Minecraft Forge 1.12.2 时,Java 无法找到或加载主类错误
- xml - 使用 xslt 将数据 xml 读入数据库
- scrum - 产品 backlog 是否与领域模型相关?
- angular - 如何在以角度离开页面之前显示确认警报?