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