我正在将Braintree支付集成到我的应用程序中。我已经成功创建了交易,现在正在使用退款功能,return()方法在'Transaction'类中,因此我尝试使用'Transaction :: refund()'进行调用,但并未被调用,而是显示了'Transaction'类'未找到错误
我的代码:
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;
}
这是调用return()方法的正确方法,如果不是,该如何调用return()方法?谁能帮助我,我的错误是什么?
答案 0 :(得分:1)
完全公开,我在Braintree工作。如果您还有其他疑问,建议与support
联系该语法与您键入的语法相当接近,尽管它确实取决于您使用的Braintree PHP SDK库的版本。在较新的版本中,您将需要使用实例方法而不是类方法来执行退款。如果您使用的是最新版本的SDK,则您的请求可能类似于以下内容:
$result = $gateway->transaction()->refund($braintree_transaction_id, $refund_amount);
但是,如果您使用的是旧版SDK,则您的请求将类似于以下内容:
$result = Braintree_Transaction::refund($braintree_transaction_id, $refund_amount);
我建议检查您使用的SDK版本。如果年龄较大,我发现最好阅读有关class methods vs instance methods的信息,以了解不同之处。否则,引用Braintree's developer documentation可能有助于构造API请求。