在 WooCommerce 中以编程方式收取保存的 Stripe 卡

Posted

技术标签:

【中文标题】在 WooCommerce 中以编程方式收取保存的 Stripe 卡【英文标题】:Charge saved Stripe card programmatically in WooCommerce 【发布时间】:2018-06-25 10:42:30 【问题描述】:

我正在使用带有 WooCommerce 订阅插件和 Stripe 的 WooCoommerce。订阅按月收费,产品将发送给客户,然后客户决定是保留商品并付款还是退货。

如果他们不退货或不付款,那么系统需要能够向存储在订阅中的 Stripe 支付卡收取全额费用,将编写一个自定义插件来自动处理。

症结在于能够为通过 Stripe 存储的卡充电。

解决这个问题的最佳方法是什么?

我一直在搜索文档,但似乎找不到合适的钩子,因此寻找一些有关解决此问题的最佳方法的建议。

【问题讨论】:

【参考方案1】:

您必须每天或每 12 小时编写自定义代码/插件并使用 cron 运行。

    如果您将卡片详细信息保存到条带,则将该卡片 ID (card_XXXXXXXXXX2CaGDZLJ48) 与 user_id 和 product_id 一起保存到本地数据库。 然后必须检查有多少用户没有支付或退回iteam。 现在向那些不付款或不退货的用户(使用那张条纹卡_XXXXXXXX)收费。 向用户发送通知。

【讨论】:

【参考方案2】:

我想出如何以编程方式创建付款的唯一方法是使用 stripe api 向 woo stripe 创建的已保存客户收费。成功创建费用后,您需要设置所有必要的帖子元数据。

//Set all the meta data that will be needed
$order->update_meta_data( '_stripe_source_id', $charge->payment_method );
$order->update_meta_data( '_stripe_charge_captured', 'yes'  );
$order->update_meta_data( '_stripe_currency', $charge->currancy);
$order->update_meta_data( '_stripe_customer_id', $charge->customer);

有更详细的答案over here

【讨论】:

以上是关于在 WooCommerce 中以编程方式收取保存的 Stripe 卡的主要内容,如果未能解决你的问题,请参考以下文章

在 Woocommerce 3 中以编程方式设置自定义运费

在 Woocommerce 3 中以编程方式更新产品库存

在 Woocommerce 管理订单编辑页面中以编程方式添加自定义订单备注

如何在 C/C++ 中以编程方式查找“保存的游戏”文件夹?

如何在 iOS 中以编程方式将 sqlite 文件保存在本地文件夹或 nsbundle 中?

如何在 C# 或 Perl 中以编程方式打开 PowerPoint 演示文稿并将其保存为 HTML/JPEG?