首页 > 解决方案 > 如何修复 Stripe InvalidRequest 异常 - 无效数组异常?(PHP)

问题描述

我正在尝试在我的 eshop 上制作用于结帐的控制器,Stripe 返回 InvalidRequestException。它在硬编码时有效,现在无效。

这是我的控制器中的功能:

public function checkoutSession(){
        \Stripe\Stripe::setApiKey('api_key');

        $YOUR_DOMAIN = 'http://example.com';

        $line_items = array();

        foreach(Cart::content() as $row){
          $product_data = ['name' => $row->name];
          $price_data = ['currency' => 'eur', 'unit_amount' => intval($row->price * 100), 'product_data' => $product_data];
          $line = ['price_data' => $price_data, 'quantity' => $row->qty];
          array_push($line_items, $line);
        }

        $checkout_session = \Stripe\Checkout\Session::create([
            'payment_method_types' => ['card'],
            'line_items' => $line_items,
            'mode' => 'payment',
            'success_url' => $YOUR_DOMAIN . '/success.html',
            'cancel_url' => $YOUR_DOMAIN . '/cancel.html',
          ]);

        return response()->json(['id' => $checkout_session->id]);
    }

这是回应:

Stripe\Exception\InvalidRequestException: Invalid array in file /Users/radoslavkuchar/iSell/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php on line 38

这是 $line_items 数组:

[{"price_data":{"currency":"eur","unit_amount":399,"product_data":{"name":"Test product"}},"quantity":2}]

有什么帮助吗?

标签: phplaravel

解决方案


推荐阅读