Класс 'Transaction' не найден при вызове Braintree - PullRequest
0 голосов
/ 01 октября 2018

Я интегрирую платежи braintree в свое приложение.Я успешно создал транзакцию и теперь работаю над функциональностью возврата, метод refund () находится в классе «Transaction», поэтому я пытаюсь вызвать с помощью «Transaction :: refund ()», но он не вызывается, а показывает класс «Transaction»'not found error

Мой код:

require_once('../assets/plugins/braintree/includes/braintree_init.php');
---------
---------
if(post('refund_mode') == 'braintree'){
  include_once '/var/www/vhosts/my_app_name/assets/plugins/braintree/vendor/braintree/braintree_php/lib/Braintree/Transaction.php'; 
  $result = Transaction::refund($braintree_transaction_id, $refund_amount);
  echo "<pre>"; print_r($result);exit;
}

Это правильный способ вызова метода refund (), если нет, как вызвать метод refund ()?Может кто-нибудь, пожалуйста, помогите мне в чем моя ошибка?

1 Ответ

0 голосов
/ 01 октября 2018

Полное раскрытие, я работаю в Braintree.Если у вас есть какие-либо дополнительные вопросы, я рекомендую связаться с support

Синтаксис довольно близок к тому, что вы ввели, хотя это зависит от того, какая версия библиотеки PHP SDK Braintreeты используешь.В более поздних версиях вам нужно будет использовать методы экземпляра, а не методы класса для возврата.Если вы используете последнюю версию SDK, ваш запрос может выглядеть примерно так:

$result = $gateway->transaction()->refund($braintree_transaction_id, $refund_amount);

Однако, если вы используете более старую версию SDK, ваш запрос будет выглядеть примерно так:

$result = Braintree_Transaction::refund($braintree_transaction_id, $refund_amount);

Я рекомендую проверить, какую версию SDK вы используете.Если он старше, я нашел, что лучше прочитать о методы класса против методов экземпляра , чтобы узнать о различиях.В противном случае обращение к документации разработчика Braintree может оказаться полезным для структурирования запросов API.

...