Stripe Checkout 的致命错误:Class 'Stripe' 未找到

Fatal error with Stripe Checkout: Class 'Stripe' not found

我正在尝试在我的网站中实施 Stripe Checkout。我正在使用 Composer,一切似乎都很顺利,但是当我将我的私钥添加到 init.php 第 17 行时:

 Stripe::setApiKey($stripe['private']);

PHP 显示以下错误:

Fatal error: Class 'Stripe' not found in/Applications/MAMP/htdocs/stripe_payment/app/init.php on line 17

这是完整的文件:

<?php

session_start();


//composer auto load
require_once 'vendor/autoload.php';

$_SESSION['user_id'] = 3;

$stripe = [
'publishable' => '..... my test key.....',
 'private' => '..... my test key.....'
   ];

//when added brakes the code
Stripe::setApiKey($stripe['private']);

$db = new PDO('mysql:host=localhost;dbname=stripe_custom;','root','root');

$userQuery = $db->prepare("
    SELECT id, username, email, premium
FROM users
WHERE id = :user_id

    ");
$userQuery->execute(['user_id' => $_SESSION['user_id']]);

$user = $userQuery->fetchObject();

?>

我认为这是小事,但我是初学者,无法弄清楚。我做错了什么?

Stripe 的最新版本 PHP 绑定 (2.*) 现在正在使用 Namespaces。这意味着大多数 API 调用现在已经更改,例如:

Stripe::setApiKey("sk_test_XXX");
Stripe_Customer::create();

会变成:

\Stripe\Stripe::setApiKey("sk_test_XXX");
\Stripe\Customer::create();

否则,如果您不想更新代码,则需要确保下载 legacy version (1.18.0)。