40 lines
945 B
PHP
40 lines
945 B
PHP
<?php
|
|
|
|
namespace App\Listeners;
|
|
|
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
use Illuminate\Queue\InteractsWithQueue;
|
|
use Illuminate\Support\Facades\Config;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
use App\Events\ProviderPaymentCreated as Event;
|
|
use App\Jobs\AccountingPaymentSync as Job;
|
|
use App\Models\{ProviderOauth,Site,User};
|
|
|
|
class ProviderPaymentCreated
|
|
{
|
|
private const LOGKEY = 'LPC';
|
|
|
|
/**
|
|
* Handle the event.
|
|
*
|
|
* @param Event $event
|
|
* @return void
|
|
*/
|
|
public function handle(Event $event)
|
|
{
|
|
$site = Site::findOrFail(1); // @todo This shouldnt be hard coded
|
|
Config::set('site',$site);
|
|
|
|
$uo = User::findOrFail(1); // @todo This shouldnt be hard coded
|
|
|
|
$so = ProviderOauth::where('name',$event->provider)->singleOrFail();
|
|
if (! ($to=$so->token($uo)))
|
|
abort(500,sprintf('Unknown Tokens for [%s]',$uo->email));
|
|
|
|
$api = $to->API();
|
|
$acc = $api->getPayment($event->paymentData['id']);
|
|
|
|
Job::dispatch($to,$acc);
|
|
}
|
|
} |