Php 包定价的条带签出失败

Php 包定价的条带签出失败,php,laravel,vue.js,vuejs2,stripe-payments,Php,Laravel,Vue.js,Vuejs2,Stripe Payments,我在我的Laravel/Vue应用程序中实现Stripe,并在产品上定义了4种类型的价格。我正在实施一个学分模型,例如: 1 EUR => 1 credit 3 EUR => 4 credits 4 EUR => 7 credits 7 EUR => 10 credits 我认为第一个是标准定价(一个有效),其他3个定义为一揽子定价(例如,4个数量为3欧元) 流程应该是这样的;用户从滑块中选择要购买多少积分(1、4、7、10),然后单击purchase将引导用户自动为给

我在我的Laravel/Vue应用程序中实现Stripe,并在产品上定义了4种类型的价格。我正在实施一个学分模型,例如:

1 EUR => 1 credit
3 EUR => 4 credits
4 EUR => 7 credits
7 EUR => 10 credits
我认为第一个是标准定价(一个有效),其他3个定义为一揽子定价(例如,4个数量为3欧元)

流程应该是这样的;用户从滑块中选择要购买多少积分(1、4、7、10),然后单击
purchase
将引导用户自动为给定的积分量指定价格进行分条结账

如果定价是标准的,一个信用卡成本为1欧元,每个后续信用卡成本为1欧元,这将很容易,因为我只提供一个价格ID(在条带上定义),我将从前端获取数量

现在的问题是,当我尝试创建会话时:

    $priceId = // id from Stripe. One of product prices

    $stripeSession = Session::create([
        'payment_method_types' => ['card'],
        'line_items'           => [[
            'price'    => $priceId,
            'quantity' => 1,
        ]],
        'mode'                 => 'payment',
        'success_url'          => route('stripe.success') . '/?session_id={CHECKOUT_SESSION_ID}',
        'cancel_url'           => route('stripe.cancel')
    ]);
我得到的错误是:

结帐不支持套餐定价,也称为“行”项目中的“转换数量”“价格”[0]

在文档中似乎找不到这个错误,但即使我将第二项的数量更改为4,也会发生同样的情况

'line_items'           => [[
    'price'    => // price ID for second option,
    'quantity' => 4,
]],
而且,这意味着什么,这是相当令人困惑的?第二个项目的价格已经定义为一个4个项目的包,那么在这种情况下,数量4是否意味着用户将获得4x4=16个项目


在这种情况下,我如何获取软件包,并知道在需要逐步一次性(非经常性)定价的情况下给用户多少积分?

不相关:7欧元获得10个积分,11个Creadis获得3欧元+4欧元?这是一个测试,我没有真正做数学:)没有完全理解你所做的,因为没有-但是你可以将这个
'line\u items'=>[['price'=>$priceId,'quantity'=>1,]
更改为
'line\u items'=>[[price'=>$priceId,'quantity'=>1],'price'=>$priceId,'quantity'=>3],'price'=>$priceId,'quantity'=>4],['price'=>$priceId,'quantity'=>7]]
-不太确定priceid是否可以保留或是否也需要一个乘数-不过只是有点胡言乱语。您可能需要提供更多的上下文以获得合理的帮助-php并不是我真正的强项;o)-通过vue.js标记看到了这一点,但出于同样的原因,该标记不起作用。我在描述中提供了更多的上下文。我无法真正理解nimal可复制示例当我在这里使用外部lib时,back和frontend错误意味着Checkout不幸地不支持以这种方式创建的计划/价格:您必须这样做才能创建您正在使用的$priceId。解决方法是手动计算转换,或者不使用Checkout和integ而不是直接定价。