fixed omnipay

This commit is contained in:
denisdulici 2019-12-21 13:05:33 +03:00
parent 408c5125ed
commit 4af8557a9e
4 changed files with 67 additions and 33 deletions

View File

@ -2,9 +2,9 @@
namespace App\Abstracts\Http; namespace App\Abstracts\Http;
use App\Events\Income\PaymentReceived;
use App\Http\Requests\Portal\InvoicePayment as PaymentRequest; use App\Http\Requests\Portal\InvoicePayment as PaymentRequest;
use App\Models\Income\Invoice; use App\Models\Income\Invoice;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller as BaseController; use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Facades\URL; use Illuminate\Support\Facades\URL;
use Monolog\Logger; use Monolog\Logger;
@ -169,7 +169,7 @@ abstract class PaymentController extends BaseController
$request['payment_method'] = $this->alias; $request['payment_method'] = $this->alias;
$request['reference'] = $this->getReference($invoice); $request['reference'] = $this->getReference($invoice);
event(new \App\Events\Income\PaymentReceived($invoice, $request)); event(new PaymentReceived($invoice, $request));
} }
public function setReference($invoice, $reference) public function setReference($invoice, $reference)

View File

@ -2,18 +2,11 @@
namespace App\Traits; namespace App\Traits;
use Omnipay\Omnipay as Library;
trait Omnipay trait Omnipay
{ {
use Library;
public $gateway; public $gateway;
public function create($name) public $factory;
{
$this->gateway = Library::create($name);
}
public function authorize($invoice, $request, $extra_options = []) public function authorize($invoice, $request, $extra_options = [])
{ {
@ -156,4 +149,42 @@ trait Omnipay
'data' => false, 'data' => false,
]); ]);
} }
public function all()
{
return $this->callFactory('all');
}
public function replace($gateways)
{
return $this->callFactory('replace', [$gateways]);
}
public function register($class_name)
{
return $this->callFactory('register', [$class_name]);
}
public function create($class, $http_client = null, $http_request = null)
{
$this->gateway = $this->callFactory('create', [$class, $http_client, $http_request]);
return $this->gateway;
}
public function callFactory($method, $parameters = [])
{
$factory = $this->getFactory();
return call_user_func_array(array($factory, $method), (array) $parameters);
}
public function getFactory()
{
if (is_null($this->factory)) {
$this->factory = new \Omnipay\Common\GatewayFactory();
}
return $this->factory;
}
} }

View File

@ -1,26 +1,28 @@
<div class="d-none"> <div>
@if (!empty($setting['name'])) <div class="d-none">
<h2>{{ $setting['name'] }}</h2> @if (!empty($setting['name']))
@endif <h2>{{ $setting['name'] }}</h2>
@endif
@if (!empty($setting['description'])) @if (!empty($setting['description']))
<div class="well well-sm">{{ $setting['description'] }}</div> <div class="well well-sm">{{ $setting['description'] }}</div>
@endif @endif
</div> </div>
<br> <br>
<div class="buttons"> <div class="buttons">
<div class="pull-right"> <div class="pull-right">
{!! Form::open([ {!! Form::open([
'url' => $confirm_url, 'url' => $confirm_url,
'id' => 'redirect-form', 'id' => 'redirect-form',
'role' => 'form', 'role' => 'form',
'autocomplete' => "off", 'autocomplete' => "off",
'novalidate' => 'true' 'novalidate' => 'true'
]) !!} ]) !!}
<button @click="onRedirectConfirm" type="button" id="button-confirm" class="btn btn-success"> <button @click="onRedirectConfirm" type="button" id="button-confirm" class="btn btn-success">
{{ trans('general.confirm') }} {{ trans('general.confirm') }}
</button> </button>
{!! Form::close() !!} {!! Form::close() !!}
</div>
</div> </div>
</div> </div>

View File

@ -1,3 +1,4 @@
<div>
<div class="d-none"> <div class="d-none">
@if (!empty($setting['name'])) @if (!empty($setting['name']))
<h2>{{ $setting['name'] }}</h2> <h2>{{ $setting['name'] }}</h2>
@ -24,4 +25,4 @@
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
</div> </div>
</div>