【问题标题】:Fatal error with Stripe Checkout: Class 'Stripe' not foundStripe Checkout 出现致命错误:未找到“Stripe”类
【发布时间】:2015-05-27 22:23:52
【问题描述】:

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

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

PHP 显示以下错误:

致命错误:在第 17 行的/Applications/MAMP/htdocs/stripe_payment/app/init.php 中找不到类“Stripe”

这是完整的文件:

<?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();

?>

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

【问题讨论】:

  • 请删除标签“条纹” - 它与您的问题无关。

标签: payment stripe-payments


【解决方案1】:

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)。

【讨论】:

  • 太好了,这对我有用,感谢您的大力帮助。正如建议的那样,我在两个 API 调用中都添加了 \Stripe\,一切都像梦一样工作。
猜你喜欢
  • 2019-05-14
  • 1970-01-01
  • 1970-01-01
  • 2020-02-16
  • 2022-12-28
  • 2021-04-01
  • 2021-03-14
  • 2019-10-02
  • 1970-01-01
相关资源
最近更新 更多