0

我正在将 Braintree 支付集成到我的应用程序中。我已成功创建交易,现在正在处理退款功能,refund() 方法在“交易”类中,所以我尝试使用“交易::退款()”调用,但它没有被调用,而是显示“交易”类'未找到错误

我的代码:

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

4

1 回答 1

1

完全披露,我在 Braintree 工作。如果您还有其他问题,我建议您联系支持人员

语法与您键入的内容非常接近,尽管它确实取决于您使用的 Braintree 的 PHP SDK 库的版本。在较新的版本中,您将需要使用实例方法,而不是类方法来执行退款。如果您使用的是最新版本的 SDK,您的请求可能如下所示:

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

但是,如果您使用的是旧版本的 SDK,您的请求将类似于以下内容:

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

我建议检查您使用的 SDK 版本。如果它较旧,我发现最好阅读类方法与实例方法以了解差异。否则,参考Braintree 的开发人员文档可能有助于构建 API 请求。

于 2018-10-01T18:27:52.093 回答