将运费添加到结帐会话会导致 "invalid array" 异常

Adding shipping rate to checkout session results in "invalid array" exception

我正在创建一个结帐会话,我想在其中添加我在 Stripe Dashboard 中创建的运费。

这是我的代码:

$charge = $stripeClient->checkout->sessions->create([
        'payment_method_types' => ['card', 'sepa_debit', 'giropay', 'sofort', 'alipay'],
        'success_url' => 'https://example.com/success',
        'cancel_url' => 'https://example.com/cancel',
        'shipping_address_collection' => [
          'allowed_countries' => ['DE'],
        ],

        'shipping_options' => [
          'shipping_rate' => [env('SHIPPING_KEY')],
        ],
        
        'line_items' => [$lineItems],
        'automatic_tax' => [
          'enabled' => true,
        ],
        'mode' => 'payment',
        'allow_promotion_codes' => true,
      ]);

但是报错数组无效

如果我评论 shipping_options 它有效...

这里有什么问题?

现在您的代码只是为 shipping_options 传递单个散列而不是数组,所以不是这样:

        'shipping_options' => [
          'shipping_rate' => [env('SHIPPING_KEY')],
        ],

您需要将括号移动为如下所示:

        'shipping_options' => [
          ['shipping_rate' => env('SHIPPING_KEY'),],
        ],