wip
This commit is contained in:
@@ -8,7 +8,8 @@ class OnlinePaymentController extends Controller
|
||||
{
|
||||
/**
|
||||
* Online pa
|
||||
* @param Request $request [description]
|
||||
*
|
||||
* @param Request $request [description]
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
|
||||
@@ -9,7 +9,6 @@ use App\Repos\System\Nova\NovaRepo;
|
||||
use App\Repos\System\Settings\Location\RegionRepo;
|
||||
use Illuminate\Http\Request;
|
||||
use Laravel\Nova\Fields\ID;
|
||||
use Laravel\Nova\Fields\Password;
|
||||
use Laravel\Nova\Fields\Select;
|
||||
use Laravel\Nova\Fields\Text;
|
||||
use Laravel\Nova\Fields\Textarea;
|
||||
|
||||
@@ -129,33 +129,19 @@ class CardOrder extends Resource
|
||||
|
||||
/**
|
||||
* After resource created
|
||||
* @param Laravel\Nova\Http\Requests\NovaRequest $request
|
||||
* @param Illuminate\Database\Eloquent\Model $model
|
||||
*
|
||||
* @param Laravel\Nova\Http\Requests\NovaRequest $request
|
||||
* @param Illuminate\Database\Eloquent\Model $model
|
||||
*/
|
||||
public static function afterCreate(NovaRequest $request, Model $model): void
|
||||
{
|
||||
CardOrderRepo::created()($model);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the location to redirect the user after creation.
|
||||
*
|
||||
* @param \Laravel\Nova\Resource $resource
|
||||
*/
|
||||
public static function redirectAfterCreate(NovaRequest $request, $resource): URL|string
|
||||
{
|
||||
$payment = (new OnlinePaymentRepo())->payCardOrder($resource);
|
||||
|
||||
return $payment['status'] === 'success'
|
||||
? URL::remote($payment['url'])
|
||||
: sprintf('resources/%s/%s', static::uriKey(), $resource->getKey());
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the location to redirect the user after update.
|
||||
*
|
||||
* @param \Laravel\Nova\Resource $resource
|
||||
* @return \Laravel\Nova\URL|string
|
||||
*/
|
||||
public static function redirectAfterUpdate(NovaRequest $request, $resource): URL|string
|
||||
{
|
||||
|
||||
@@ -13,39 +13,36 @@ class OnlinePaymentRepo
|
||||
{
|
||||
/**
|
||||
* Pay card order
|
||||
*
|
||||
* @param [type] $resource
|
||||
*/
|
||||
public function payCardOrder($resource): array
|
||||
{
|
||||
$orderNumber = $this->generateOrderNumber($resource);
|
||||
|
||||
try {
|
||||
$paymentResponse = Http::get('https://mpi.gov.tm/payment/rest/register.do', [
|
||||
'orderNumber' => $orderNumber,
|
||||
'amount' => "00" . $resource->priceAmount(),
|
||||
'currency' => 934,
|
||||
'language' => 'ru',
|
||||
'userName' => $resource->branch->billing_username,
|
||||
'password' => $resource->branch->billing_password,
|
||||
'returnUrl' => urlencode(route('online-payment-store')),
|
||||
'pageView' => 'DESKTOP',
|
||||
'description' => urlencode('Kart tölegi'),
|
||||
]);
|
||||
} catch(Exception $exception) {
|
||||
Log::channel('halkbank_payment_error')->error('Payment error', [
|
||||
'response' => [
|
||||
'body' => $paymentResponse->body(),
|
||||
],
|
||||
'exception' => [
|
||||
'file' => $exception->getFile(),
|
||||
'line' => $exception->getLine(),
|
||||
'message' => $exception->getMessage(),
|
||||
]
|
||||
]);
|
||||
$paymentResponse = Http::get('https://mpi.gov.tm/payment/rest/register.do', [
|
||||
'orderNumber' => $orderNumber,
|
||||
'amount' => '00'.$resource->priceAmount(),
|
||||
'currency' => 934,
|
||||
'language' => 'ru',
|
||||
'userName' => $resource->branch->billing_username,
|
||||
'password' => $resource->branch->billing_password,
|
||||
'returnUrl' => urlencode(route('online-payment-store')),
|
||||
'pageView' => 'DESKTOP',
|
||||
'description' => urlencode('Kart tölegi'),
|
||||
])->onError(function ($response) {
|
||||
Log::channel('halkbank_payment_error')
|
||||
->error('Payment error', [
|
||||
'response' => [
|
||||
'body' => $response->body(),
|
||||
],
|
||||
]);
|
||||
});
|
||||
|
||||
if ($paymentResponse->failed()) {
|
||||
return [
|
||||
'status' => 'success',
|
||||
'url' => ''
|
||||
'status' => 'failed',
|
||||
'url' => '',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -61,12 +58,12 @@ class OnlinePaymentRepo
|
||||
'errorUrl' => route('online-payment-store'),
|
||||
'api_client' => config('app.url'),
|
||||
'username' => $resource->branch->billing_username,
|
||||
'paymentStatus' => OrderRepo::PENDING
|
||||
'paymentStatus' => OrderRepo::PENDING,
|
||||
]);
|
||||
|
||||
return [
|
||||
'status' => 'success',
|
||||
'url' => $paymentResponse['formUrl']
|
||||
'url' => $paymentResponse['formUrl'],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user