You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过wcs_create_subscription为WooCommerce订阅开启自动续费并导入旧用户

关于WooCommerce订阅迁移与自动续费设置的问题解答

1. 能否通过wcs_create_subscription开启自动续费?

可以实现,但需满足两个核心前提:

  • 你的**Opayo(原Sage Pay)**支付网关插件必须支持WooCommerce Subscriptions的自动续费功能(确认插件版本兼容,官方WooCommerce Opayo插件已支持订阅令牌存储);
  • 导入订阅时必须关联旧系统中用户的Opayo支付令牌(若旧系统已留存该令牌);如果旧系统没保存令牌,必须引导用户重新绑定支付方式——这是PCI合规要求,不能直接存储完整银行卡信息。

满足条件后,旧订阅剩余时长到期时,WooCommerce Subscriptions会自动触发续费流程,无需用户手动操作。

2. 使用wcs_create_subscription导入时需传入的核心数据

以下是创建带自动续费订阅的关键参数(适配Opayo场景):

  • 用户ID:'customer_id' => $old_user_id(关联到目标WordPress用户);
  • 订阅状态:'status' => 'active'(对应旧系统中仍有剩余时长的用户);
  • 到期日期:'end_date' => $old_subscription_end_date(旧系统剩余时长的到期时间,格式为YYYY-MM-DD HH:MM:SS);
  • 订阅产品:'line_items' => array(...)(关联提前创建好的WooCommerce订阅产品,需匹配旧订阅的服务类型);
  • 支付方式:'payment_method' => 'opayo'(对应Opayo网关的支付方式slug,需确认插件实际使用的标识);
  • 支付令牌:'payment_method_token' => $old_opayo_token(旧系统存储的Opayo支付令牌,用于自动扣费;无令牌则留空,后续需用户补录);
  • 自动续费开关:'auto_renew' => true(明确开启自动续费);
  • 账单信息:'billing' => array(...)(匹配旧系统用户账单地址,确保支付信息一致性);
  • 订阅周期:若旧订阅周期与WooCommerce产品一致,可通过产品关联自动获取;特殊周期需手动设置'schedule' => array(...)(例如array('interval' => 'month', 'interval_count' => 1)表示月付)。

示例代码片段:

$subscription = wcs_create_subscription(array(
    'customer_id'         => $old_user_id,
    'status'              => 'active',
    'end_date'            => '2024-12-31 23:59:59',
    'auto_renew'          => true,
    'payment_method'      => 'opayo',
    'payment_method_token'=> $old_opayo_token,
    'billing'             => array(
        'first_name' => $old_user_firstname,
        'last_name'  => $old_user_lastname,
        'email'      => $old_user_email,
        'address_1'  => $old_user_address,
        'city'       => $old_user_city,
        'postcode'   => $old_user_postcode,
        'country'    => $old_user_country
    ),
    'line_items'          => array(
        array(
            'product_id' => $wc_subscription_product_id,
            'quantity'   => 1
        )
    )
));

// 保存订阅
$subscription->save();

3. 关键注意事项

  • PCI合规:禁止直接导入用户完整银行卡信息,仅能使用Opayo返回的支付令牌;无令牌时必须让用户重新绑定支付方式,否则无法实现自动续费;
  • 测试验证:迁移前在测试环境创建测试订阅,验证Opayo自动续费是否正常触发;
  • 状态检查:导入后确认订阅的active状态、到期日期、自动续费开关是否配置正确;
  • 用户通知:迁移后给用户发送通知,告知订阅已迁移、自动续费触发时间,同时提供支付方式查看/修改入口。

内容的提问来源于stack exchange,提问作者mlimon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 23:25:23