带有 laravel 的 Paypal sdk - 从 env 文件中获取 Client_id/secret

Posted

技术标签:

【中文标题】带有 laravel 的 Paypal sdk - 从 env 文件中获取 Client_id/secret【英文标题】:Paypal sdk with laravel - getting Client_id/secret from env file 【发布时间】:2016-08-30 15:00:19 【问题描述】:

我像这样将我的贝宝密码和客户 ID 添加到 .env 中

.env

APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:B/bzbrXZMyRkg//1Do63pacV/pKHtTIYKd42/zq3n6c=

Client_Id='ID GOES HERE'
Client_Secret='SECRET KEY GOES HERE'

我想访问我的控制器中的那些

PaypalPaymentController

class PaypalPaymentController extends Controller 

    private $_api_context;
    private $_ClientId =    env('Client_Id');
    private $_ClientSecret =    env('Client_Secret');

    public function __construct() 
        $this->_api_context = new ApiContext(new OAuthTokenCredential($this->_ClientId, $this->_ClientSecret));
    
public function handle(Request $request) 
  //  dd(env('Client_Id')); // when i do this it dumps the Client_id

但这会引发错误

PaypalPaymentController.php 第 41 行中的 FatalErrorException:

常量表达式包含无效操作

谁能向我解释为什么它不起作用?以及我该如何解决它!

注意:我可以通过将 client_id 和 secret 直接添加到控制器中来完成这项工作,但我认为使用 env 是一种更好的方法(最佳实践),如果我错了,请纠正我! !!

【问题讨论】:

不是您问题的答案,但为了良好的实践,常量应该全部大写 谢谢你:3 好的做法建议总是被应用 【参考方案1】:

我设法使这项工作像这样

 class PaypalPaymentController extends Controller 

    private $_api_context;

    public function __construct() 

        $_ClientId = env('Client_Id');
        $_ClientSecret = env('Client_Secret');

        $this->_api_context = new ApiContext(new OAuthTokenCredential($_ClientId, $_ClientSecret));
    

【讨论】:

【参考方案2】:

在您的 env 文件中,该值不应包含任何单引号或双引号。

【讨论】:

以上是关于带有 laravel 的 Paypal sdk - 从 env 文件中获取 Client_id/secret的主要内容,如果未能解决你的问题,请参考以下文章

带有 laravel 的 Paypal sdk - 从 env 文件中获取 Client_id/secret

使用 paypal/rest-api-sdk-php 的 laravel paypal 集成错误

带有更多非定期参考交易的 PayPal 账单协议

Laravel Guest-checkout is not working in paypal using "paypal/rest-api-sdk-php": "*&q

带有反应 SDK 的 PayPal 结帐(v2)

带有服务器集成的 PayPal 客户端 JavaScript SDK - 设置付款金额