PHP Braintree 网关 API
Posted
技术标签:
【中文标题】PHP Braintree 网关 API【英文标题】:PHP Braintree Gateway API 【发布时间】:2020-04-04 04:10:51 【问题描述】:请耐心等待,我正在尝试为我的 wordpress 预订系统创建一个 Braintree 网关,但不了解 php。我已经从 Braintree 下载了 php 库文件,并使用下面的代码实现了 api 连接区域和创建事务。此代码是从另一个网关获取和调整的!这是一个很好的使用方法吗?这行得通吗?
我的代码
$config = new Braintree\Configuration();
$config->environment($api_keys_merchant_id);
$config->merchantId(trim($api_keys_merchant_id));
$config->publicKey(trim($api_keys_public_key));
$config->privateKey(trim($api_keys_private_key));
$gateway = new Braintree\Gateway($config);
// Create transaction
$result = $gateway->transaction()->sale([
'amount' => $price,
'paymentMethodNonce' => 'nonceFromTheClient',
'options' => [ 'submitForSettlement' => true ]]);
if ($result->success)
print_r("success!: " . $result->transaction->id);
else if ($result->transaction)
print_r("Error processing transaction:");
print_r("\n code: " . $result->transaction->processorResponseCode);
print_r("\n text: " . $result->transaction->processorResponseText);
else
print_r("Validation errors: \n");
print_r($result->errors->deepAll());
```
【问题讨论】:
什么是错误来了,当你实现这个时,请告诉解释确切的错误 使用我的沙盒帐户时得到的错误是 field_invalid_currency 【参考方案1】:就个人而言,我不明白问题是什么,所以如果有的话,请说明。在调整方面,从随附的代码示例中,我会说:
不要引用未知变量或共享它们的上下文(例如:$parsedCredentials 已初始化但未使用;还有什么是 $request?)
在文件顶部使用“use”语句而不是使用 FQCN;它使您更容易理解依赖关系是什么以及代码的作用。
【讨论】:
如何实现 Braintree PHP 库的问题 1. 连接到 api,2. 创建支付/交易或提交成功或失败结果的交易。以上代码不是完整代码。【参考方案2】:$gateway = new Braintree_Gateway([
'environment' => $api_keys_merchant_id,
'merchantId' => trim($api_keys_merchant_id),
'publicKey' => 'use_your_public_key',
'privateKey' => 'use_your_private_key'
]);
$result = $gateway->transaction()->sale([
'amount' => $price,
'paymentMethodNonce' => 'nonceFromTheClient',
'options' => [ 'submitForSettlement' => true ]]);
if ($result->success)
print_r("success!: " . $result->transaction->id);
else if ($result->transaction)
print_r("Error processing transaction:");
print_r("\n code: " . $result->transaction->processorResponseCode);
print_r("\n text: " . $result->transaction->processorResponseText);
else
print_r("Validation errors: \n");
print_r($result->errors->deepAll());
【讨论】:
以上是关于PHP Braintree 网关 API的主要内容,如果未能解决你的问题,请参考以下文章
如何在flutter中获得braintree支付网关的nonce?