调用Braintree退款时未找到“交易”类别

时间:2018-10-01 10:14:09

标签: braintree braintree-sandbox

我正在将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()方法?谁能帮助我,我的错误是什么?

1 个答案:

答案 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请求。