paymentservice/app/Http/Controllers/PaymentController.php

61 lines
1.9 KiB
PHP
Raw Normal View History

2022-08-11 09:46:51 +00:00
<?php
namespace App\Http\Controllers;
use App\Models\PaymentAggregator;
2022-10-09 00:00:12 +00:00
use GuzzleHttp\Client;
2022-08-11 09:46:51 +00:00
use Illuminate\Http\Request;
2022-11-21 23:24:10 +00:00
use Illuminate\Support\Facades\Lang;
2022-10-08 21:12:51 +00:00
use Illuminate\Support\Facades\Log;
2022-08-11 09:46:51 +00:00
class PaymentController extends Controller
{
2022-10-08 21:12:51 +00:00
public function getMethods(Request $request)
{
2022-10-09 00:00:12 +00:00
$aggregator = PaymentAggregator::where('status', 1)->first();
if (!$aggregator) {
return $this->errorResponse(trans('errors.model_not_found', ['model' => 'methods']));
}
2022-10-08 21:12:51 +00:00
2022-10-09 00:00:12 +00:00
switch (strtolower($aggregator->name)) {
2022-10-08 21:12:51 +00:00
case 'yoomee':
2022-12-01 09:34:03 +00:00
return app(YoomeeController::class)->getMethods();
2022-10-08 21:12:51 +00:00
case 'yoomeev2':
2022-12-01 09:34:03 +00:00
return app(YoomeeV2Controller::class)->getMethods();
2022-10-08 21:12:51 +00:00
case 'cinetpay':
2022-12-01 09:34:03 +00:00
return app(CinetpayController::class)->getMethods();
2022-10-08 21:12:51 +00:00
default:
return $this->errorResponse(__('errors.unexpected_error'));
}
}
2022-08-11 09:46:51 +00:00
public function pay(Request $request)
{
$this->validate($request, [
'aggregator_id' => 'required|integer|exists:payment_aggregators,id',
]);
$aggregator = PaymentAggregator::findOrFail($request->input('aggregator_id'));
2022-10-09 00:00:12 +00:00
switch (strtolower($aggregator->name)) {
2022-08-11 09:46:51 +00:00
case 'yoomee':
2022-12-01 09:34:03 +00:00
return app(YoomeeController::class)->pay($request);
2022-10-08 21:12:51 +00:00
case 'yoomeev2':
2022-12-01 09:34:03 +00:00
return app(YoomeeV2Controller::class)->pay($request);
2022-08-11 09:46:51 +00:00
case 'cinetpay':
2022-12-01 09:34:03 +00:00
return app(CinetpayController::class)->pay($request);
2022-08-11 09:46:51 +00:00
default:
return $this->errorResponse(__('errors.unexpected_error'));
}
}
public function paymentResult(Request $request)
{
if($request->has('token')){
return $this->successResponse($request->all());
}else{
return $this->errorResponse($request->all());
}
}
2022-08-11 09:46:51 +00:00
}