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