При попытке отправить пробный платеж на мой аккаунт в полосе появляется следующая ошибка:
Неустранимая ошибка: необученная ошибка: класс ‘Stripe’ не найден в
/home/dh_y3rvc7/vvnow.dreamhosters.com/wp-content/plugins/wp-stripe-
gration / includes / process-payment.php: 25 Трассировка стека: # 0
/home/dh_y3rvc7/vvnow.dreamhosters.com/wp-includes/class-wp-
hook.php (286): vvnow_stripe_process_payment (») # 1
/home/dh_y3rvc7/vvnow.dreamhosters.com/wp-includes/class-wp-
hook.php (310): WP_Hook-> apply_filters (NULL, Array) # 2
/home/dh_y3rvc7/vvnow.dreamhosters.com/wp-includes/plugin.php(453):
WP_Hook-> do_action (Array) # 3
/home/dh_y3rvc7/vvnow.dreamhosters.com/wp-settings.php(450):
do_action (‘init’) # 4 /home/dh_y3rvc7/vvnow.dreamhosters.com/wp-
config.php (89): require_once (‘/ home / dh_y3rvc7 …’) # 5
/home/dh_y3rvc7/vvnow.dreamhosters.com/wp-load.php(37):
require_once (‘/ home / dh_y3rvc7 …’) # 6
/home/dh_y3rvc7/vvnow.dreamhosters.com/wp-blog-header.php(13):
require_once (‘/ home / dh_y3rvc7 …’) # 7
/home/dh_y3rvc7/vvnow.dreamhosters.com/index.php(17):
require (‘/ home / dh_y3rvc7 …’) # 8 {main} добавлено
/home/dh_y3rvc7/vvnow.dreamhosters.com/wp-content/plugins/wp-stripe-
Интеграция / включает в себя / process-payment.php в строке 25
Строка 25 считается Stripe::setApiKey($secret_key);
Внутри process-payment.php
:
<?php
function vvnow_stripe_process_payment() {
if(isset($_POST['action']) && $_POST['action'] == 'stripe' && wp_verify_nonce($_POST['stripe_nonce'], 'stripe-nonce')) {
global $stripe_options;
// load the stripe libraries
require_once(STRIPE_BASE_DIR . '/lib/Stripe.php');
// require_once('./init.php');
// require_once(realpath(dirname(__FILE__) . '/../includes/init.php'));
// retrieve the token generated by stripe.js
$token = $_POST['stripeToken'];
// check if we are using test mode
if(isset($stripe_options['test_mode']) && $stripe_options['test_mode']) {
$secret_key = $stripe_options['test_secret_key'];
} else {
$secret_key = $stripe_options['live_secret_key'];
}
// attempt to charge the customer's card
try {
Stripe::setApiKey($secret_key);
$charge = Stripe_Charge::create(array(
'amount' => 1000, // $10
'currency' => 'usd',
'card' => $token
)
);
// redirect on successful payment
$redirect = add_query_arg('payment', 'paid', $_POST['redirect']);
} catch (Exception $e) {
// redirect on failed payment
$redirect = add_query_arg('payment', 'failed', $_POST['redirect']);
}
//will redirect back to our previous page with the added query variable
wp_redirect($redirect); exit;
}
}
add_action('init', 'vvnow_stripe_process_payment');
Пытался выяснить, на чем основывается проблема, с тех пор следовал руководству по Stripe API, но не повезло. Любая помощь будет оценена.
Это потому, что он использует пространство имен. Попробуй добавить \
перед полосой:
\Stripe\Stripe::setApiKey($stripe['secret_key']);
Если это все еще не удается, вы на самом деле хотите включить require_once('../vendor/stripe/init.php')
вместо /lib/Stripe.php
(или используйте Composer для установки чередования и автозагрузки библиотек).
В начале вам потребуется ваша php-библиотека Stripe из любой директории, в которой она находится.
require_once('stripe-php-6.28.0/init.php');
function vvnow_stripe_process_payment() {
if(isset($_POST['action']) && $_POST['action'] == 'stripe' && wp_verify_nonce($_POST['stripe_nonce'], 'stripe-nonce')) {
global $stripe_options;
//the rest of your code here....