Viewing File: /home/ubuntu/vedadeals-backend-base/app/Jobs/SendPayinCallbackJob.php
<?php
namespace App\Jobs;
use Exception;
use Illuminate\Bus\Queueable;
use Illuminate\Support\Facades\Http;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
class SendPayinCallbackJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $payload;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($payload)
{
$this->payload = $payload;
$this->onQueue('payin_callback');
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
try {
$ref_id = $this->payload['clientRefId'] ?? 'NO-REF-ID-FOUND';
$logs[] = __('messages.sending_payin_callback', ['ref_id' => $ref_id, 'time' => current_time()]);
throw_if(! $api_url = config('app.mobileware.api_url'), new Exception(__('messages.payin_callback_url_not_configured')));
$response = Http::post($api_url, $this->payload);
$status_code = $response->status();
$response_body = $response->json();
throw_if(
! $response->successful() || ! ($response_body['success'] ?? false),
new Exception(__('messages.send_payin_callback_failed', [
'status' => $status_code,
'message' => $response_body['message'] ?? ($response_body['error'] ?? __('messages.na'))
]))
);
$logs[] = __('messages.send_payin_callback_success', ['time' => current_time()]);
} catch (Exception $e) {
$logs[] = __('messages.send_payin_callback_error', ['message' => $e->getMessage(), 'time' => current_time()]);
}
info($logs);
return true;
}
}
Back to Directory
File Manager