2

现在我得到了错误

Uncaught exception 'Braintree\Exception\Configuration' with message 'Braintree\Configuration::merchantId needs to be set (or accessToken needs to be passed to Braintree\Gateway).

问题是,如果我的商家 ID 不是它创建子商家的方式,因为我可以在仪表板中看到子商家帐户,但我将调用此方法:

$webhookNotification = Braintree\WebhookNotification::parse($sampleNotification['bt_signature'], $sampleNotification['bt_payload']);

它说

Uncaught exception 'Braintree\Exception\Configuration' with message 'Braintree\Configuration::merchantId needs to be set (or accessToken needs to be passed to Braintree\Gateway).
4

2 回答 2

1

全面披露:我在布伦特里工作。如果您还有任何问题,请随时联系 [support][support]

商家 ID是所有 Braintree API 调用的必需 API 凭证,以及公钥和私钥。您可以在没有商家 ID 的情况下在仪表板中查看子商户,因为我们的系统会将您登录到仪表板的身份识别为有效身份验证,而不是依赖 API 凭据。

使用我们的 SDK 时,您需要适当地设置您的 API 凭证您可以按照我们文档中的说明找到您帐户的 API 凭证。我们现在支持类级别和实例方法

类级别示例

Braintree_Configuration::environment('sandbox');
Braintree_Configuration::merchantId('use_your_merchant_id');
Braintree_Configuration::publicKey('use_your_public_key');
Braintree_Configuration::privateKey('use_your_private_key');

实例方法示例

$gateway = new Braintree_Gateway([
    'environment' => 'sandbox',
    'merchantId' => 'use_your_merchant_id',
    'publicKey' => 'use_your_public_key',
    'privateKey' => 'use_your_private_key'
]);
于 2018-03-16T16:14:11.350 回答
0

我使用 Laravel。就我而言,问题来自配置文件缓存。出于某种原因,Laravel 没有从命令生成配置缓存: php artisan config:cache.

我解决了删除配置缓存:

php artisan config:clear

但就我而言,真正的问题是 Laravel 配置缓存生成。

我希望它有用。

更新

我的配置缓存不起作用,因为我没有将env()帮助程序放在配置文件中,而是放在其他文件中(在我的情况下:AppServiceProvider)。在生产模式下,.env 参数只能从配置文件中调用。

如果在部署期间使用 config:cache 命令,则必须确保仅从配置文件中调用 env 函数,而不是从应用程序中的其他任何地方调用。

于 2019-09-23T12:28:52.383 回答