0

我已经在我的项目中安装了https://github.com/hexters/CoinPayment现在一切正常,但唯一的问题是如果某些用户尝试注册它会给出错误消息:

    Illuminate\Contracts\Container\BindingResolutionException
Target class [App\Providers\App\Jobs\CoinpaymentListener] does not exist.

谁能帮我修复用户注册?

我没有修改registrationcontroller。用户成功添加到数据库中。

登录部分工作正常。

我希望有人可以帮助我解决这个问题。

日志

[2020-02-19 15:07:13] production.ERROR: Target class [App\Providers\App\Jobs\CoinpaymentListener] does not exist. {"userId":4,"exception":"[object] (Illuminate\\Contracts\\Container\\BindingResolutionException(code: 0): Target class [App\\Providers\\App\\Jobs\\CoinpaymentListener] does not exist. at /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Container/Container.php:805)
[stacktrace]
#0 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Container/Container.php(681): Illuminate\\Container\\Container->build('App\\\\Providers\\\\A...')
#1 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\\Container\\Container->resolve('App\\\\Providers\\\\A...', Array)
#2 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(776): Illuminate\\Container\\Container->make('App\\\\Providers\\\\A...', Array)
#3 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(388): Illuminate\\Foundation\\Application->make('App\\\\Providers\\\\A...')
#4 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(369): Illuminate\\Events\\Dispatcher->createClassCallable('App\\\\Providers\\\\A...')
#5 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(199): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}('Illuminate\\\\Auth...', Array)
#6 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(482): Illuminate\\Events\\Dispatcher->dispatch('Illuminate\\\\Auth...')
#7 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/Auth/RegistersUsers.php(33): event(Object(Illuminate\\Auth\\Events\\Registered))
#8 [internal function]: App\\Http\\Controllers\\Auth\\RegisterController->register(Object(Illuminate\\Http\\Request))
#9 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#10 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('register', Array)
#11 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\Auth\\RegisterController), 'register')
#12 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController()
#13 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Routing\\Route->run()
#14 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 /var/www/html/xxxx/app/Http/Middleware/RedirectIfAuthenticated.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\RedirectIfAuthenticated->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(76): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(170): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 /var/www/html/xxxx/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#48 /var/www/html/xxxx/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#49 /var/www/html/xxxx/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#50 {main}
Controller Code:

$user = User::where('id', Auth::id())->select(['email'])->first();
            $transaction['amountTotal'] = (FLOAT) $request['amount'];
            $transaction['note'] = 'Funds MNTANK account';
            $transaction['buyer_email'] = $user->email;
            $transaction['redirect_url'] = url('/');

            $transaction['items'][] = [
                'itemDescription' => 'Funds MNTANK account',
                'itemPrice' => (FLOAT) $request['amount'], // USD
                'itemQty' => 1,
                'itemSubtotalAmount' => (FLOAT) $request['amount'] // USD
              ];

            $transaction['payload'] = (FLOAT) $request['amount'];

            return redirect(\CoinPayment::generatelink($transaction));```

CoinpaymentListener code:

    <?php

    namespace App\Jobs;

    use Illuminate\Bus\Queueable;
    use Illuminate\Queue\SerializesModels;
    use Illuminate\Queue\InteractsWithQueue;
    use Illuminate\Contracts\Queue\ShouldQueue;
    use Illuminate\Foundation\Bus\Dispatchable;
    use App\Payment;
    use App\User;
    use Illuminate\Support\Facades\Auth;

    class CoinpaymentListener implements ShouldQueue
    {
        use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

        protected $transaction;

        /**
         * Create a new job instance.
         *
         * @return void
         */
        public function __construct($transaction) {
            $this->transaction = $transaction;
        }

            if($this->transaction['status'] >= 100 || $this->transaction['status'] == 2)
            {
                // payment is complete or queued for nightly payout, success
                Payment::where('transactionid', $this->transaction['txn_id'])->update(['status' => 'approved']);
                $userid = Payment::where('transactionid', $this->transaction['txn_id'])->select(['userid', 'amount'])->first();
                $userid = $userid->userid;
                $user = User::where('id', $userid)->select('amount')->first();
                $newAmount = $user->amount+$userid->amount;
                User::where('id', $userid)->update(['amount' => $newAmount]);

            }elseif($this->transaction['status'] < 0){
                //payment error, this is usually final but payments will sometimes be reopened if there was no exchange rate conversion or with seller consent
                Payment::where('transactionid', $this->transaction['txn_id'])->update(['status' => 'cancelled']);
            }else{
                //payment is pending, you can optionally add a note to the order page
                if($this->transaction['transaction_type'] == 'new')
                {
                    $table = new Payment();
                    $table->userid = Auth::id();
                    $table->gateway = 'CoinPayment';
                    $table->amount = $this->transaction['payload'];
                    $table->status = 'pending';
                    $table->transactionid = $this->transaction['txn_id'];
                    $table->itemname = 'Add Funds';
                    $table->save();
                }
            }
        }
    }
4

0 回答 0