在 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 管理订单编辑页面中以编程方式添加自定义订单备注