Полное раскрытие, я работаю в 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.