diff --git a/app/Http/Controllers/StripeController.php b/app/Http/Controllers/StripeController.php index 44243f4..2f07b80 100644 --- a/app/Http/Controllers/StripeController.php +++ b/app/Http/Controllers/StripeController.php @@ -57,13 +57,14 @@ class StripeController extends Controller return view('stripe-checkout', compact('amount','receiver','receiver_logo','payment_token')); } + // Formulaire de paiement public function pay(Request $request) { try { $this->validate($request, [ 'aggregator_id' => 'required|integer', - 'amount' => 'required|numeric|min:5', + 'amount' => 'required|numeric', 'currency' => 'required|string|size:3', 'customer_id' => 'nullable', 'payment_method' => 'nullable|string', @@ -84,8 +85,8 @@ class StripeController extends Controller $amount = $request->input('amount'); $currency = $request->input('currency'); - if($amount < 325 && $currency == 'XAF'){ - $amount = 325; + if($amount <= 0 || $this->toMoneyAmount($amount, $currency , 'USD') < 1 ){ + return $this->errorResponse(__('errors.minimum_amount_required')); } $payment_token = $this->getTransactionToken(); @@ -228,6 +229,7 @@ class StripeController extends Controller + // Encaissement de l'argent des clients public function payIn(Request $request) { $this->validate($request, [ @@ -236,7 +238,7 @@ class StripeController extends Controller 'exp_year' => 'required', 'cvc' => 'required', // 'aggregator_id' => 'required|integer', - 'amount' => 'required|numeric|min:5', + 'amount' => 'required|numeric', 'currency' => 'required|string|size:3', 'customer_id' => 'nullable', // 'payment_method' => 'nullable|string', // Actuallu it's only CARD @@ -258,8 +260,8 @@ class StripeController extends Controller $amount = $request->input('amount'); $currency = $request->input('currency'); - if($amount < 325 && $currency == 'XAF'){ - $amount = 325; + if($amount <= 0 || $this->toMoneyAmount($amount, $currency , 'USD') < 1 ){ + return $this->errorResponse(__('errors.minimum_amount_required')); } @@ -344,6 +346,7 @@ class StripeController extends Controller } + // Recharge des comptes clients public function payOut(Request $request) { $this->validate($request, [ @@ -355,7 +358,7 @@ class StripeController extends Controller 'bank_currency' => 'required_if:payment_method,BANK|string|size:3', 'bank_account_number' => 'required_if:payment_method,BANK|string', // 'aggregator_id' => 'required|integer', - 'amount' => 'required|numeric|min:5', + 'amount' => 'required|numeric', 'currency' => 'required|string|size:3', 'customer_id' => 'nullable', 'payment_method' => 'required|string|in:CARD,BANK', @@ -378,6 +381,10 @@ class StripeController extends Controller $currency = $request->input('currency'); $payment_method = $request->input('payment_method'); + if($amount <= 0 || $this->toMoneyAmount($amount, $currency , 'USD') < 1 ){ + return $this->errorResponse(__('errors.minimum_amount_required')); + } + $transaction = PaymentTransaction::create([ 'aggregator_id' => $aggregator->id, "currency" => $request->input('currency'), diff --git a/resources/lang/en/errors.php b/resources/lang/en/errors.php index 8be879e..545f31b 100755 --- a/resources/lang/en/errors.php +++ b/resources/lang/en/errors.php @@ -6,6 +6,6 @@ return [ 'service_unavailable' => 'Service unavailable', 'timeout' => "The server did not receive a complete response within the timeout period. Please Try again later", 'network_not_taken' => "Network not taken into account", - 'service_unavailable_try_later' => "Service not available. please try again later" - + 'service_unavailable_try_later' => "Service not available. please try again later", + 'minimum_amount_required' => "Transaction amount is less than the minimum authorized amount" ]; diff --git a/resources/lang/fr/errors.php b/resources/lang/fr/errors.php index b188bfa..4d538cf 100755 --- a/resources/lang/fr/errors.php +++ b/resources/lang/fr/errors.php @@ -6,5 +6,6 @@ return [ 'service_unavailable' => 'Service non disponible', 'timeout' => "Le serveur n'a pas reçu de réponse complete dans le délai imparti. Essayer plus tard", 'network_not_taken' => "Réseau non pris en compte", - 'service_unavailable_try_later' => "Service non disponible. Veuillez réessayer plus tard" + 'service_unavailable_try_later' => "Service non disponible. Veuillez réessayer plus tard", + 'minimum_amount_required' => "Le montant de la transaction est inférieur au montant minimal autorisé" ];