Intereting Posts
Есть что-то вроде Cythype Python для PHP? Доступ к библиотекам без необходимости писать расширение? Лучший способ проверки многоуровневых реляционных зависимостей Передайте строку PHP переменной JavaScript (и удалите строки перевода) pdo для предотвращения внедрения sql Обновление кросс-таблицы MySQL Преобразование Perl-кода в PHP переместить выбранный элемент из одного selectbox в другой selectbox (с дублированием) Отправка данных POST с помощью curl и php Есть ли более простой способ загрузки файлов в laravel Недопустимый номер параметра: количество связанных переменных не совпадает с числом токенов в Доктрине Могу ли я взаимодействовать с библиотеками .NET через Javascript? использовать данные maxmind, такие как statcounter, возможно Проверка номера телефона в php codeigniter Входы пользователя, очистка и дезинфекция перед отправкой на db Запись в электронную таблицу Документов Google с использованием PHP

Проблема с настройкой полосы

Я – определенный PHP noob, поэтому, пожалуйста, несите меня. Я пытаюсь создать простой способ оплаты пожертвований для моего веб-сайта по сбору средств. У меня есть опция paypal, но я хотел бы добавить опцию stripe.

Я использую простой процесс Checkout для сбора информации о карте и настройки маркера полосы. Я установил файл pay.php для обработки информации о карте на сервере.

<!DOCTYPE html> <html> <body> <?php // secret key ***Stripe::setApiKey("sk_test_##########");*** // Get the credit card details submitted by the form $token = $_POST['stripeToken']; //Create the charge on Stripe's servers try { $charge = Stripe_Charge::create(array( "amount" => 500, // amount in cents, again "currency" => "aud", "card" => $token, "description" => "payinguser@example.com") ); } catch(Stripe_CardError $e) { // card decline } ?> </body> </html> 

Очевидно, я использую правильный секретный ключ, я только что заблокировал его здесь. Кажется, что все работает с формой, но когда она POSTS to pay.php, она вызывает эту ошибку.

Неустранимая ошибка: Class 'Stripe' не найдена в /home/munkeychunk/public_html/pay.php в строке 8

Строка 8, как указано выше, является ключом секретного ключа / ключом API. Как я уже сказал, я немного начинаю PHP, и я не уверен, как или как установить класс «Stripe»!

Большая часть PHP поднимается прямо из собственной документации, но она, похоже, не работает прямо из коробки. Моя попытка решить состояла в том, чтобы попытаться 'include Stripe.php' , используя внешнюю страницу stripe.php, которая используется, если вы обрабатываете платежи, используя javascript / jquery, а не опцию проверки полосы.

Любая помощь будет принята с благодарностью – будьте осторожны с вашими комментариями!

У меня была такая же проблема, но затем я установил Stripe с помощью Composer . Затем в моем PHP-файле я требую_загрузить файл autoload.php и, похоже, в библиотеку Stripe

 <?php // Set your secret key: remember to change this to your live secret key in production // See your keys here https://dashboard.stripe.com/account require_once('/home2/username/vendor/autoload.php'); \Stripe\Stripe::setApiKey("sk_test_########"); // Get the credit card details submitted by the form $token = $_POST['stripeToken']; // Create the charge on Stripe's servers - this will charge the user's card try { $charge = \Stripe\Charge::create(array( "amount" => 1000, // amount in cents, again "currency" => "usd", "source" => $token, "description" => "payinguser@example.com") ); } catch(\Stripe\Error\Card $e) { // The card has been declined }; ?> 
 require_once('/home2/username/vendor/autoload.php'); 

Вместо init.php используйте init.php

В зависимости от того, где находятся ваши файлы Stripe, вам, возможно, придется редактировать инструкции пути в каждой строке init.php

Использование autoload.php – это когда Stripe установлен с Composer. Если вы хотите использовать Stripe с ручной установкой, используйте init.php где разработчики Stripe предоставили все функции, содержащиеся в ответе выше.

Я предполагаю, что вы не включили библиотеку Stripe, как указано в документации по Stripe. Так что это должно быть

 <!DOCTYPE html> <html> <body> <?php //Include stripe library first before doing anything related to stripe here require_once('./lib/Stripe.php'); // secret key ***Stripe::setApiKey("sk_test_##########");*** // Get the credit card details submitted by the form $token = $_POST['stripeToken']; //Create the charge on Stripe's servers try { $charge = Stripe_Charge::create(array( "amount" => 500, // amount in cents, again "currency" => "aud", "card" => $token, "description" => "payinguser@example.com") ); } catch(Stripe_CardError $e) { // card decline } ?> </body> </html> 

Документация: https://stripe.com/docs/checkout/guides/php

Примечание. Требуется среда PHP> = 5.2.

Загрузка библиотеки: https://code.stripe.com/stripe-php-latest.zip

Для тех из вас, кто все еще получает сообщение об ошибке

Класс 'Stripe' не найден в /home/munkeychunk/public_html/pay.php в строке 8

Я с тобой. Я обошел эту проблему, выполнив require_once для всех необходимых файлов Stripe в / lib /. Вопросы порядка, вот что сработало для меня

 require_once ('./stripe-php-2.1.1/lib/Stripe.php') ; require_once ('./stripe-php-2.1.1/lib/Util/Set.php') ; require_once ('./stripe-php-2.1.1/lib/Util/RequestOptions.php') ; require_once ('./stripe-php-2.1.1/lib/Util/Util.php') ; require_once ('./stripe-php-2.1.1/lib/Error/Base.php') ; require_once ('./stripe-php-2.1.1/lib/Error/InvalidRequest.php') ; require_once ('./stripe-php-2.1.1/lib/Object.php') ; require_once ('./stripe-php-2.1.1/lib/ApiRequestor.php') ; require_once ('./stripe-php-2.1.1/lib/ApiResource.php') ; require_once ('./stripe-php-2.1.1/lib/SingletonApiResource.php') ; require_once ('./stripe-php-2.1.1/lib/Charge.php') ; $files = glob('./stripe-php-2.1.1/lib/*.php'); foreach ($files as $file) { require_once($file); } $files = glob('./stripe-php-2.1.1/lib/Error/*.php'); foreach ($files as $file) { require_once($file); } $files = glob('./stripe-php-2.1.1/lib/Util/*.php'); foreach ($files as $file) { require_once($file); }