fix: improve main /pay endpoint
This commit is contained in:
parent
649a075091
commit
c83b178be9
|
@ -11,6 +11,7 @@ use Illuminate\Support\Facades\Lang;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
use Propaganistas\LaravelPhone\PhoneNumber;
|
use Propaganistas\LaravelPhone\PhoneNumber;
|
||||||
use Propaganistas\LaravelPhone\Rules\Phone;
|
use Propaganistas\LaravelPhone\Rules\Phone;
|
||||||
|
use Symfony\Component\HttpFoundation\Response as ResponseAlias;
|
||||||
use Throwable;
|
use Throwable;
|
||||||
|
|
||||||
class CinetpayController extends Controller
|
class CinetpayController extends Controller
|
||||||
|
@ -78,7 +79,7 @@ class CinetpayController extends Controller
|
||||||
'aggregator_id' => 'required|integer',
|
'aggregator_id' => 'required|integer',
|
||||||
'amount' => 'required|numeric|min:5',
|
'amount' => 'required|numeric|min:5',
|
||||||
'currency' => 'required|string|size:3',
|
'currency' => 'required|string|size:3',
|
||||||
'payment_method' => 'nullable|string|in:ALL,MOBILE_MONEY,CREDIT_CARD,WALLET',
|
// 'payment_method' => 'nullable|string|in:ALL,MOBILE_MONEY,CREDIT_CARD,WALLET',
|
||||||
'customer_id' => 'required|integer',
|
'customer_id' => 'required|integer',
|
||||||
'customer_email' => 'required|email',
|
'customer_email' => 'required|email',
|
||||||
'customer_name' => 'nullable|string',
|
'customer_name' => 'nullable|string',
|
||||||
|
@ -93,7 +94,7 @@ class CinetpayController extends Controller
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$transaction_id = $this->getTransactionID();
|
$transaction_id = $this->getTransactionID();
|
||||||
$payment_method = $request->input('payment_method','ALL');
|
$payment_method = 'ALL';
|
||||||
$amount = $request->input('amount');
|
$amount = $request->input('amount');
|
||||||
$currency = $request->input('currency');
|
$currency = $request->input('currency');
|
||||||
|
|
||||||
|
@ -160,7 +161,7 @@ class CinetpayController extends Controller
|
||||||
return $this->successResponse([
|
return $this->successResponse([
|
||||||
'message' => $responseData->message,
|
'message' => $responseData->message,
|
||||||
'payment_url' => $responseData->data->payment_url
|
'payment_url' => $responseData->data->payment_url
|
||||||
]);
|
], ResponseAlias::HTTP_MOVED_PERMANENTLY);
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
return $this->errorResponse($responseData->error ?? trans('errors.unexpected_error'),$responseCode);
|
return $this->errorResponse($responseData->error ?? trans('errors.unexpected_error'),$responseCode);
|
||||||
|
|
|
@ -43,12 +43,12 @@ class PaymentController extends Controller
|
||||||
|
|
||||||
$payment_method = $request->input('payment_method');
|
$payment_method = $request->input('payment_method');
|
||||||
|
|
||||||
if($payment_method == 'CREDIT_CARD'){
|
if($payment_method == PaymentMethod::CARD){
|
||||||
$aggregator = PaymentAggregator::where('name','like','%stripe%')->firstOrFail();
|
$aggregator = PaymentAggregator::where('name','like','%stripe%')->firstOrFail();
|
||||||
$data = $request->all();
|
$data = $request->all();
|
||||||
$request = new Request();
|
$request = new Request();
|
||||||
$request->merge(array_merge($data,[
|
$request->merge(array_merge($data,[
|
||||||
'payment_method' => 'CREDIT_CARD',
|
'payment_method' => PaymentMethod::CARD,
|
||||||
'aggregator_id' => $aggregator->id
|
'aggregator_id' => $aggregator->id
|
||||||
]));
|
]));
|
||||||
}else{
|
}else{
|
||||||
|
@ -63,7 +63,7 @@ class PaymentController extends Controller
|
||||||
case 'cinetpay':
|
case 'cinetpay':
|
||||||
return app(CinetpayController::class)->pay($request);
|
return app(CinetpayController::class)->pay($request);
|
||||||
case 'stripe':
|
case 'stripe':
|
||||||
return app(StripeController::class)->pay($request);
|
return app(StripeController::class)->payIn($request);
|
||||||
default:
|
default:
|
||||||
return $this->errorResponse(__('errors.unexpected_error'));
|
return $this->errorResponse(__('errors.unexpected_error'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ use Illuminate\Support\Facades\Log;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Stripe\PaymentIntent;
|
use Stripe\PaymentIntent;
|
||||||
use Stripe\StripeClient;
|
use Stripe\StripeClient;
|
||||||
|
use Symfony\Component\HttpFoundation\Response as ResponseAlias;
|
||||||
use Throwable;
|
use Throwable;
|
||||||
|
|
||||||
class StripeController extends Controller
|
class StripeController extends Controller
|
||||||
|
@ -338,7 +339,7 @@ class StripeController extends Controller
|
||||||
return $this->successResponse([
|
return $this->successResponse([
|
||||||
'message' => '3D secure redirect',
|
'message' => '3D secure redirect',
|
||||||
'payment_url' => $paymentIntent->next_action->redirect_to_url->url
|
'payment_url' => $paymentIntent->next_action->redirect_to_url->url
|
||||||
], Response::HTTP_MOVED_PERMANENTLY);
|
], ResponseAlias::HTTP_MOVED_PERMANENTLY);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->handlePaymentIntentResult($transaction, $paymentIntent);
|
return $this->handlePaymentIntentResult($transaction, $paymentIntent);
|
||||||
|
|
Loading…
Reference in New Issue