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

Stripe PHP SDK创建Session报错:未知参数payment_link及试用咨询

为什么会出现「Received unknown parameter: payment_link」错误

你混淆了payment_link参数的用途:这个字段是当Checkout Session由Payment Link生成时,Stripe返回的Session对象里的属性,用来标识该Session关联的Payment Link。反过来,创建Session时不能主动传入payment_link参数,这就是报错的核心原因。

实现需求的两种方案

方案1:直接使用已有的Payment Link跳转

如果你的Payment Link已经配置好试用期和其他规则,且不需要额外定制Session的话,直接重定向到Payment Link的官方URL即可,无需创建新的Checkout Session:

// 替换为你的Payment Link实际URL
return redirect()->away('https://checkout.stripe.com/pay/plink_1111');

方案2:在Checkout Session中直接配置试用期

如果必须通过创建Session来实现需求,可以直接在Session里设置试用期规则,不需要依赖Payment Link的配置:

  • 若你的price_1111已经在Stripe后台配置了试用期,创建Session时只要引用这个价格,订阅模式下会自动继承试用期规则
  • 若需要在Session中覆盖或新增试用期设置,添加subscription_data参数即可:
$session = \Stripe\Checkout\Session::create([
    'line_items'  => [
        [
            'price' => 'price_1111',
            'quantity'   => 1,
        ],
    ],
    'mode'        => 'subscription',
    'allow_promotion_codes' => true,
    'success_url' => env('APP_URL').'/x4/success/st?success={CHECKOUT_SESSION_ID}',
    'cancel_url'  => route('billing'),
    // 可选:覆盖price默认设置,自定义试用期天数
    'subscription_data' => [
        'trial_period_days' => 7, // 示例:设置7天试用期
    ],
]);
return redirect()->away($session->url);

额外注意事项

  • 确保你的Stripe PHP SDK是最新版本:旧版本可能不支持部分新参数,执行composer update stripe/stripe-php即可升级
  • 只有subscription订阅模式支持试用期配置,payment一次性付款模式不支持该功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:39:59