Я слежу за документацией Stripe, и я не могу создать «заряд».
Charge.php
require('/var/www/stripe-php-2.1.1/lib/Stripe.php'); \Stripe\Stripe::setApiKey("KEY_HERE"); \Stripe\Charge::create(array( "amount" => 400, "currency" => "usd", "source" => "TOKEN_HERE", // obtained with Stripe.js "description" => "Charge for test@example.com" )); ?>
Я могу обработать первую команду «\ Stripe \ Stripe :: setApiKey (« KEY_HERE »); но получить ошибку при обработке следующего и получить следующую ошибку: «Class 'Stripe \ Charge» не найден в /var/www/charge.php "
Если вы не используете композитор для установки библиотеки Stripe, вам нужно будет вручную включить все классы Stripe.
Композитор является предпочтительным способом, так как он будет обрабатывать автозагрузку классов. Вот пример файла-композитора:
{ "require": { "stripe/stripe-php": "2.*" } }
А затем из командной строки вам нужно будет запустить composer update
находясь в каталоге для вашего проекта. Впоследствии просто добавьте require 'vendor/autoload.php';
в верхней части вашего php-файла.
В противном случае замените require('/var/www/stripe-php-2.1.1/lib/Stripe.php');
с этим кодом включить все классы:
$stripeClassesDir = __DIR__ . '/stripe-php-2.1.1/lib/'; $stripeUtilDir = $stripeClassesDir . 'Util/'; $stripeErrorDir = $stripeClassesDir . 'Error/'; set_include_path($stripeClassesDir . PATH_SEPARATOR . $stripeUtilDir . PATH_SEPARATOR . $stripeErrorDir); function __autoload($class) { $parts = explode('\\', $class); require end($parts) . '.php'; }
Вот обновленный ответ на этот вопрос.
От Даны на полосе:
Если вы предпочитаете не использовать Composer, наши последние привязки PHP (> = 2.x) включают файл init.php, который вы можете добавить в свой проект. Загрузите и распакуйте папку, где бы вы ни хотели, а затем включите этот init.php в верхней части ваших сценариев, которые вы используете для связи с API-интерфейсом Stripe, изменив путь к местоположению этого файла. Точно так же: require_once ('/ path / to / stripe-php / init.php')
И это сработало для меня.