Saya membuat penyedia layanan khusus untuk PayPal. Ketika saya mencoba mengakses konfigurasi dari dalam penyedia, ia mengembalikan nol.
Di bawah ini adalah kode yang saya tulis.
public function register()
{
$this->app->singleton(ApiContext::class, function($app){
$paypalConf = $app['config']->get('paypal');
$apiContext = new ApiContext(new OAuthTokenCredential(
$paypalConf['client_id'],$paypalConf['client_secret']
));
$apiContext->setConfig($paypalConf['settings']);
return $apiContext;
});
}
Tapi itu menimbulkan kesalahan berikut
if (empty($credObj)) {
throw new PayPalInvalidCredentialException("Credential not found for " . ($userId ? $userId : " default user") .
". Please make sure your configuration/APIContext has credential information");
}
"Kredensial tidak ditemukan untuk pengguna default. Pastikan konfigurasi/APIContext Anda memiliki informasi kredensial
Yang pastinya karena file konfigurasi saya mengembalikan nol.
Ini paypal.php saya
return [
'client_id' => env('PAYPAL_CLIENT_ID', ''),
'client_secret' => env('PAYPAL_SECRET', ''),
'settings' => [
'mode' => env('PAYPAL_MODE', ''),
'http.ConnectionTimeOut' => 30,
'log.LogEnabled' => true,
'log.FileName' => storage_path().'/logs/paypal.log',
'log.LogLevel' => 'ERROR'
]];
dan kredensial PAYPAL ada di file .env.
Saya telah mencoba menghapus konfigurasi dan menyimpannya lagi dalam cache, tetapi tidak berhasil.
Pembaruan
Sepertinya metode daftar tidak berfungsi di penyedia layanan. Tapi saya sudah mendaftarkan penyedianya di config/app.php
dd($paypalConf, $app['config']->get('app.name'))
, di penyedia layanan setelah baris pertama? Saya mencium adanya kesalahan ketik. - person Kyslik   schedule 24.07.2018config/app.php
? - person Kyslik   schedule 24.07.2018composer dump-autoload
? - person Kyslik   schedule 24.07.2018composer dump-autoload -o
(optimalkan) dan jika berhasil, Anda hanya salah ketik, atau namespace salah. Seperti yang saya katakan di komentar pertama, saya mencium adanya kesalahan ketik. - person Kyslik   schedule 24.07.2018