From 5ddab650c440339e9763ab7e8938f1b61ff4c2a8 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 4 Nov 2025 11:59:12 +0100 Subject: [PATCH] adjust checkbalnce on PaymentController --- .editorconfig | 0 .env.example | 0 .gitignore | 0 .styleci.yml | 0 README.md | 0 app/Console/Commands/.gitkeep | 0 app/Console/Kernel.php | 0 app/Enums/PaymentMethod.php | 0 app/Enums/PaymentTransactionStatus.php | 0 app/Enums/PaymentType.php | 0 app/Events/Event.php | 0 app/Events/ExampleEvent.php | 0 app/Exceptions/Handler.php | 0 app/Helpers/helpers.php | 0 app/Helpers/utils.php | 0 app/Http/Controllers/CinetpayController.php | 174 +++++++++++++----- app/Http/Controllers/Controller.php | 0 .../Controllers/FlutterwaveController.php | 7 +- app/Http/Controllers/PaymentController.php | 19 +- app/Http/Controllers/StripeController.php | 6 +- .../Controllers/YnoteOrangeController.php | 0 app/Http/Controllers/YoomeeController.php | 0 app/Http/Controllers/YoomeeV2Controller.php | 0 app/Http/Middleware/Authenticate.php | 0 app/Http/Middleware/ExampleMiddleware.php | 0 app/Http/Middleware/SecureApiDocs.php | 0 app/Http/Middleware/VerifyCsrfToken.php | 0 app/Jobs/ExampleJob.php | 0 app/Jobs/Job.php | 0 app/Listeners/ExampleListener.php | 0 app/Models/Currency.php | 0 app/Models/PaymentAggregator.php | 0 app/Models/PaymentAggregatorRate.php | 0 app/Models/PaymentRefund.php | 0 app/Models/PaymentTransaction.php | 0 app/Models/User.php | 0 app/Providers/AppServiceProvider.php | 0 app/Providers/AuthServiceProvider.php | 0 app/Providers/EventServiceProvider.php | 0 app/Traits/Helper.php | 0 bootstrap/app.php | 0 composer.json | 0 composer.lock | 0 config/session.php | 0 config/swagger-lume.php | 0 config/variables.php | 0 database/factories/UserFactory.php | 0 database/migrations/.gitkeep | 0 ...32028_create_payment_aggregators_table.php | 0 ...5519_create_payment_transactions_table.php | 0 ...05_111933_create_payment_refunds_table.php | 0 ...tate_to_status_in_payment_transactions.php | 0 ...r_phone_number_in_payment_transactions.php | 0 ...olumn_nullable_in_payment_transactions.php | 0 ..._create_payment_aggregator_rates_table.php | 0 ...customer_state_in_payment_transactions.php | 0 ...r_payment_date_in_payment_transactions.php | 0 ...erify_endpoint_in_payment_transactions.php | 0 database/seeders/DatabaseSeeder.php | 0 phpunit.xml | 0 public/.htaccess | 0 public/assets/app.css | 0 public/assets/app.js | 0 public/assets/images/default.png | Bin public/assets/images/express-union.jpeg | Bin public/assets/images/failed.png | Bin public/assets/images/flags.png | Bin public/assets/images/flags@2x.png | Bin public/assets/images/mtn.png | Bin public/assets/images/orange.png | Bin public/assets/images/stripe.png | Bin public/assets/images/success.png | Bin public/assets/images/yoomee.png | Bin public/assets/sweetalert2/sweetalert2.all.js | 0 .../assets/sweetalert2/sweetalert2.all.min.js | 0 public/assets/sweetalert2/sweetalert2.css | 0 public/assets/sweetalert2/sweetalert2.js | 0 public/assets/sweetalert2/sweetalert2.min.css | 0 public/assets/sweetalert2/sweetalert2.min.js | 0 public/assets/utils.js | 0 public/index.php | 0 resources/lang/en/stripe.php | 0 resources/lang/en/validation.php | 0 resources/lang/fr/stripe.php | 0 resources/lang/fr/validation.php | 0 resources/views/.gitkeep | 0 resources/views/checkout.blade.php | 0 resources/views/footer.blade.php | 0 resources/views/payment-status.blade.php | 0 resources/views/payment-webhook.blade.php | 0 resources/views/stripe-checkout.blade.php | 0 .../views/vendor/swagger-lume/index.blade.php | 0 resources/views/verify-payment.blade.php | 0 routes/web.php | 0 storage/app/.gitignore | 0 storage/framework/cache/.gitignore | 0 storage/framework/cache/data/.gitignore | 0 storage/framework/sessions/.gitignore | 0 storage/framework/views/.gitignore | 0 storage/logs/.gitignore | 0 tests/ExampleTest.php | 0 tests/TestCase.php | 0 102 files changed, 150 insertions(+), 56 deletions(-) mode change 100644 => 100755 .editorconfig mode change 100644 => 100755 .env.example mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .styleci.yml mode change 100644 => 100755 README.md mode change 100644 => 100755 app/Console/Commands/.gitkeep mode change 100644 => 100755 app/Console/Kernel.php mode change 100644 => 100755 app/Enums/PaymentMethod.php mode change 100644 => 100755 app/Enums/PaymentTransactionStatus.php mode change 100644 => 100755 app/Enums/PaymentType.php mode change 100644 => 100755 app/Events/Event.php mode change 100644 => 100755 app/Events/ExampleEvent.php mode change 100644 => 100755 app/Exceptions/Handler.php mode change 100644 => 100755 app/Helpers/helpers.php mode change 100644 => 100755 app/Helpers/utils.php mode change 100644 => 100755 app/Http/Controllers/CinetpayController.php mode change 100644 => 100755 app/Http/Controllers/Controller.php mode change 100644 => 100755 app/Http/Controllers/FlutterwaveController.php mode change 100644 => 100755 app/Http/Controllers/PaymentController.php mode change 100644 => 100755 app/Http/Controllers/StripeController.php mode change 100644 => 100755 app/Http/Controllers/YnoteOrangeController.php mode change 100644 => 100755 app/Http/Controllers/YoomeeController.php mode change 100644 => 100755 app/Http/Controllers/YoomeeV2Controller.php mode change 100644 => 100755 app/Http/Middleware/Authenticate.php mode change 100644 => 100755 app/Http/Middleware/ExampleMiddleware.php mode change 100644 => 100755 app/Http/Middleware/SecureApiDocs.php mode change 100644 => 100755 app/Http/Middleware/VerifyCsrfToken.php mode change 100644 => 100755 app/Jobs/ExampleJob.php mode change 100644 => 100755 app/Jobs/Job.php mode change 100644 => 100755 app/Listeners/ExampleListener.php mode change 100644 => 100755 app/Models/Currency.php mode change 100644 => 100755 app/Models/PaymentAggregator.php mode change 100644 => 100755 app/Models/PaymentAggregatorRate.php mode change 100644 => 100755 app/Models/PaymentRefund.php mode change 100644 => 100755 app/Models/PaymentTransaction.php mode change 100644 => 100755 app/Models/User.php mode change 100644 => 100755 app/Providers/AppServiceProvider.php mode change 100644 => 100755 app/Providers/AuthServiceProvider.php mode change 100644 => 100755 app/Providers/EventServiceProvider.php mode change 100644 => 100755 app/Traits/Helper.php mode change 100644 => 100755 bootstrap/app.php mode change 100644 => 100755 composer.json mode change 100644 => 100755 composer.lock mode change 100644 => 100755 config/session.php mode change 100644 => 100755 config/swagger-lume.php mode change 100644 => 100755 config/variables.php mode change 100644 => 100755 database/factories/UserFactory.php mode change 100644 => 100755 database/migrations/.gitkeep mode change 100644 => 100755 database/migrations/2022_07_06_132028_create_payment_aggregators_table.php mode change 100644 => 100755 database/migrations/2022_07_27_075519_create_payment_transactions_table.php mode change 100644 => 100755 database/migrations/2023_06_05_111933_create_payment_refunds_table.php mode change 100644 => 100755 database/migrations/2023_06_07_070215_rename_state_to_status_in_payment_transactions.php mode change 100644 => 100755 database/migrations/2023_06_07_102900_change_customer_id_and_customer_phone_number_in_payment_transactions.php mode change 100644 => 100755 database/migrations/2023_06_29_095044_set_address_column_nullable_in_payment_transactions.php mode change 100644 => 100755 database/migrations/2023_07_11_143815_create_payment_aggregator_rates_table.php mode change 100644 => 100755 database/migrations/2023_07_17_110454_update_customer_state_in_payment_transactions.php mode change 100644 => 100755 database/migrations/2023_08_30_135610_set_date_type_for_payment_date_in_payment_transactions.php mode change 100644 => 100755 database/migrations/2023_10_12_141608_add_payment_endpoint_and_payment_verify_endpoint_in_payment_transactions.php mode change 100644 => 100755 database/seeders/DatabaseSeeder.php mode change 100644 => 100755 phpunit.xml mode change 100644 => 100755 public/.htaccess mode change 100644 => 100755 public/assets/app.css mode change 100644 => 100755 public/assets/app.js mode change 100644 => 100755 public/assets/images/default.png mode change 100644 => 100755 public/assets/images/express-union.jpeg mode change 100644 => 100755 public/assets/images/failed.png mode change 100644 => 100755 public/assets/images/flags.png mode change 100644 => 100755 public/assets/images/flags@2x.png mode change 100644 => 100755 public/assets/images/mtn.png mode change 100644 => 100755 public/assets/images/orange.png mode change 100644 => 100755 public/assets/images/stripe.png mode change 100644 => 100755 public/assets/images/success.png mode change 100644 => 100755 public/assets/images/yoomee.png mode change 100644 => 100755 public/assets/sweetalert2/sweetalert2.all.js mode change 100644 => 100755 public/assets/sweetalert2/sweetalert2.all.min.js mode change 100644 => 100755 public/assets/sweetalert2/sweetalert2.css mode change 100644 => 100755 public/assets/sweetalert2/sweetalert2.js mode change 100644 => 100755 public/assets/sweetalert2/sweetalert2.min.css mode change 100644 => 100755 public/assets/sweetalert2/sweetalert2.min.js mode change 100644 => 100755 public/assets/utils.js mode change 100644 => 100755 public/index.php mode change 100644 => 100755 resources/lang/en/stripe.php mode change 100644 => 100755 resources/lang/en/validation.php mode change 100644 => 100755 resources/lang/fr/stripe.php mode change 100644 => 100755 resources/lang/fr/validation.php mode change 100644 => 100755 resources/views/.gitkeep mode change 100644 => 100755 resources/views/checkout.blade.php mode change 100644 => 100755 resources/views/footer.blade.php mode change 100644 => 100755 resources/views/payment-status.blade.php mode change 100644 => 100755 resources/views/payment-webhook.blade.php mode change 100644 => 100755 resources/views/stripe-checkout.blade.php mode change 100644 => 100755 resources/views/vendor/swagger-lume/index.blade.php mode change 100644 => 100755 resources/views/verify-payment.blade.php mode change 100644 => 100755 routes/web.php mode change 100644 => 100755 storage/app/.gitignore mode change 100644 => 100755 storage/framework/cache/.gitignore mode change 100644 => 100755 storage/framework/cache/data/.gitignore mode change 100644 => 100755 storage/framework/sessions/.gitignore mode change 100644 => 100755 storage/framework/views/.gitignore mode change 100644 => 100755 storage/logs/.gitignore mode change 100644 => 100755 tests/ExampleTest.php mode change 100644 => 100755 tests/TestCase.php diff --git a/.editorconfig b/.editorconfig old mode 100644 new mode 100755 diff --git a/.env.example b/.env.example old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.styleci.yml b/.styleci.yml old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/app/Console/Commands/.gitkeep b/app/Console/Commands/.gitkeep old mode 100644 new mode 100755 diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php old mode 100644 new mode 100755 diff --git a/app/Enums/PaymentMethod.php b/app/Enums/PaymentMethod.php old mode 100644 new mode 100755 diff --git a/app/Enums/PaymentTransactionStatus.php b/app/Enums/PaymentTransactionStatus.php old mode 100644 new mode 100755 diff --git a/app/Enums/PaymentType.php b/app/Enums/PaymentType.php old mode 100644 new mode 100755 diff --git a/app/Events/Event.php b/app/Events/Event.php old mode 100644 new mode 100755 diff --git a/app/Events/ExampleEvent.php b/app/Events/ExampleEvent.php old mode 100644 new mode 100755 diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php old mode 100644 new mode 100755 diff --git a/app/Helpers/helpers.php b/app/Helpers/helpers.php old mode 100644 new mode 100755 diff --git a/app/Helpers/utils.php b/app/Helpers/utils.php old mode 100644 new mode 100755 diff --git a/app/Http/Controllers/CinetpayController.php b/app/Http/Controllers/CinetpayController.php old mode 100644 new mode 100755 index 0e533ff..32bffe2 --- a/app/Http/Controllers/CinetpayController.php +++ b/app/Http/Controllers/CinetpayController.php @@ -536,63 +536,145 @@ class CinetpayController extends Controller 'http_errors' => false ]); - $responseData = json_decode($loginResponse->getBody()->getContents()); - $token = $responseData->data->token; $responseCode = $loginResponse->getStatusCode(); - if ( $responseCode == 200 && !empty($token)) { - // Add Contact - $balanceResponse = $client->get('transfer/check/balance', [ - 'query' => [ - 'token' => $token - ], - 'timeout' => $this->timeout, - 'http_errors' => false - ]); + $responseData = json_decode($loginResponse->getBody()->getContents(), false); - $responseCode = $balanceResponse->getStatusCode(); - $responseData = json_decode($balanceResponse->getBody()->getContents()); - if ($responseCode == 200) { - $amountAvailable = $responseData?->data?->countryBalance?->{$countryCode}?->available ?? 0; - $fees = 0; - $aggregator = PaymentAggregator::where('name','like','%cinetpay%')->first(); - if(!empty($aggregator)){ - $baseQuery = $aggregator->rates()->where('type', PaymentType::CASH_IN) - ->where('method', PaymentMethod::WALLET) - ->when($paymentChannel, function ($q) use($paymentChannel){ - return $q->where('channel',$paymentChannel); - }); + // Vérification de la validité de la réponse avant d’accéder aux valeurs + if ($responseCode !== 200 || empty($responseData) || empty($responseData->data?->token)) { + Log::error("CinetPay Login Error :: code={$responseCode} | message=" . ($responseData->message ?? 'No message')); + return $this->errorResponse(__('errors.service_unavailable_try_later')); + } - $rate = (clone $baseQuery)->where('country', $countryCode)->first(); - if(empty($rate)){ - $rate = (clone $baseQuery)->where('country','ALL')->first(); - } + $token = $responseData->data->token; - if(!empty($rate)){ - if(!empty($rate->fixed_fees)){ - $targetCurrency = $country->currency->code; - $sourceCurrency = $targetCurrency; - if(!empty($rate->fixed_fees_currency)){ - $sourceCurrency = $rate->fixed_fees_currency; - } - $fixed_fees = $this->toMoneyAmount($rate->fixed_fees, $sourceCurrency, $targetCurrency); - $fees = (($amount - $fixed_fees) * $rate->rate / 100 ) + $fixed_fees; - }else{ - $fees = $amount * $rate->rate / 100; - } - } + // Vérification du solde + $balanceResponse = $client->get('transfer/check/balance', [ + 'query' => ['token' => $token], + 'timeout' => $this->timeout, + 'http_errors' => false + ]); + + $responseCode = $balanceResponse->getStatusCode(); + $responseData = json_decode($balanceResponse->getBody()->getContents(), false); + + if ($responseCode == 200) { + // Récupération sécurisée du solde + $amountAvailable = $responseData?->data?->countryBalance?->{$countryCode}?->available ?? 0; + $fees = 0; + + Log::info("CinetPay check Balance : " . $amountAvailable); + + $aggregator = PaymentAggregator::where('name', 'like', '%cinetpay%')->first(); + if (!empty($aggregator)) { + $baseQuery = $aggregator->rates() + ->where('type', PaymentType::CASH_IN) + ->where('method', PaymentMethod::WALLET) + ->when($paymentChannel, function ($q) use ($paymentChannel) { + return $q->where('channel', $paymentChannel); + }); + + $rate = (clone $baseQuery)->where('country', $countryCode)->first(); + if (empty($rate)) { + $rate = (clone $baseQuery)->where('country', 'ALL')->first(); } - $amount += $fees; + if (!empty($rate)) { + if (!empty($rate->fixed_fees)) { + $targetCurrency = $country->currency->code; + $sourceCurrency = !empty($rate->fixed_fees_currency) + ? $rate->fixed_fees_currency + : $targetCurrency; - if ($amountAvailable >= $amount){ - return $this->successResponse("Solde disponible"); - }else{ - Log::error("Solde insuffisant :: ".$amountAvailable); - return $this->errorResponse(__('errors.service_unavailable_try_later')); + $fixed_fees = $this->toMoneyAmount($rate->fixed_fees, $sourceCurrency, $targetCurrency); + $fees = (($amount - $fixed_fees) * $rate->rate / 100) + $fixed_fees; + } else { + $fees = $amount * $rate->rate / 100; + } } } + + $amount += $fees; + + if ($amountAvailable >= $amount) { + return $this->successResponse("Solde disponible"); + } else { + Log::error("Solde insuffisant :: " . $amountAvailable); + return $this->errorResponse(__('errors.service_unavailable_try_later')); + } + } else { + Log::error("CinetPay Balance Error :: code={$responseCode} | message=" . ($responseData->message ?? 'No message')); + return $this->errorResponse(__('errors.service_unavailable_try_later')); } + + // Login + // $loginResponse = $client->post('auth/login', [ + // 'form_params' => [ + // "apikey" => config('variables.cinetpay_api_key'), + // "password" => config('variables.cinetpay_transfert_password'), + // ], + // 'timeout' => $this->timeout, + // 'http_errors' => false + // ]); + + // $responseData = json_decode($loginResponse->getBody()->getContents()); + // $token = $responseData->data->token; + // $responseCode = $loginResponse->getStatusCode(); + // if ( $responseCode == 200 && !empty($token)) { + // // Add Contact + // $balanceResponse = $client->get('transfer/check/balance', [ + // 'query' => [ + // 'token' => $token + // ], + // 'timeout' => $this->timeout, + // 'http_errors' => false + // ]); + + // $responseCode = $balanceResponse->getStatusCode(); + // $responseData = json_decode($balanceResponse->getBody()->getContents()); + // if ($responseCode == 200) { + // $amountAvailable = $responseData?->data?->countryBalance?->{$countryCode}?->available ?? 0; + // $fees = 0; + // LOG::info("CinetPay check Balance : ".$amountAvailable); + // $aggregator = PaymentAggregator::where('name','like','%cinetpay%')->first(); + // if(!empty($aggregator)){ + // $baseQuery = $aggregator->rates()->where('type', PaymentType::CASH_IN) + // ->where('method', PaymentMethod::WALLET) + // ->when($paymentChannel, function ($q) use($paymentChannel){ + // return $q->where('channel',$paymentChannel); + // }); + + // $rate = (clone $baseQuery)->where('country', $countryCode)->first(); + // if(empty($rate)){ + // $rate = (clone $baseQuery)->where('country','ALL')->first(); + // } + + // if(!empty($rate)){ + // if(!empty($rate->fixed_fees)){ + // $targetCurrency = $country->currency->code; + // $sourceCurrency = $targetCurrency; + // if(!empty($rate->fixed_fees_currency)){ + // $sourceCurrency = $rate->fixed_fees_currency; + // } + // $fixed_fees = $this->toMoneyAmount($rate->fixed_fees, $sourceCurrency, $targetCurrency); + // $fees = (($amount - $fixed_fees) * $rate->rate / 100 ) + $fixed_fees; + // }else{ + // $fees = $amount * $rate->rate / 100; + // } + // } + // } + + // $amount += $fees; + + // if ($amountAvailable >= $amount){ + // return $this->successResponse("Solde disponible"); + // }else{ + // Log::error("Solde insuffisant :: ".$amountAvailable); + // return $this->errorResponse(__('errors.service_unavailable_try_later')); + // } + // } + // } + $errorMessage = $responseData?->description ?? $responseData?->message; Log::error("Error CinetPay check balance"); Log::error("Response data :: ".json_encode($responseData ?? '')); diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php old mode 100644 new mode 100755 diff --git a/app/Http/Controllers/FlutterwaveController.php b/app/Http/Controllers/FlutterwaveController.php old mode 100644 new mode 100755 index c30481a..1ee27b4 --- a/app/Http/Controllers/FlutterwaveController.php +++ b/app/Http/Controllers/FlutterwaveController.php @@ -433,7 +433,6 @@ class FlutterwaveController extends Controller 'type' => 'nullable|string' // mobilemoney,account ]); - $amount = floatval($request->input('amount')); $type = $request->input('type', 'mobilemoney'); $countryId = $request->input('country_id'); @@ -454,6 +453,7 @@ class FlutterwaveController extends Controller $responseData = json_decode($balanceResponse->getBody()->getContents()); if ($responseCode == 200) { $amountAvailable = $responseData?->data?->available_balance ?? 0; + Log::info("Flutterwave check balance :: ".$amountAvailable." ".$currencyCode); // https://flutterwavedoc.readme.io/reference/get-transfer-fee $fees = 0; @@ -477,7 +477,6 @@ class FlutterwaveController extends Controller if(!empty($data)){ $fee = $data[0]->fee; $feeType = $data[0]->fee_type; - if($feeType == 'value'){ $fees = $fee; } @@ -492,14 +491,14 @@ class FlutterwaveController extends Controller return $this->successResponse("Solde disponible"); }else{ - Log::error("Solde insuffisant :: ".$amountAvailable); + Log::error(" Solde insuffisant :: ".$amountAvailable); return $this->errorResponse(__('errors.service_unavailable_try_later')); } } } } $errorMessage = $responseData?->description ?? $responseData?->message; - Log::error("Error CinetPay check balance"); + Log::error("Error Flutterwave check balance"); Log::error("Response data :: ".json_encode($responseData ?? '')); return $this->errorResponse($errorMessage ?? __('errors.unexpected_error')); diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php old mode 100644 new mode 100755 index 1d081d6..99c363d --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -93,7 +93,7 @@ class PaymentController extends Controller $networkName = strtolower($request->input('network_name')); if(str_contains($networkName,'orange') || str_contains($networkName,'mtn')){ -// return app(CinetpayController::class)->payOut($request); + //return app(CinetpayController::class)->payOut($request); return app(FlutterwaveController::class)->payOut($request); } } @@ -229,8 +229,21 @@ class PaymentController extends Controller */ public function checkBalance(Request $request) { -// return app(CinetpayController::class)->checkBalance($request); - return app(FlutterwaveController::class)->checkBalance($request); + $aggregator = PaymentAggregator::where('status', 1)->first(); + if (!$aggregator) { + return $this->errorResponse(trans('errors.model_not_found', ['model' => 'methods'])); + } + + switch (strtolower($aggregator->name)) { + case 'cinetpay': + return app(CinetpayController::class)->checkBalance($request); + case 'flutterwave': + return app(FlutterwaveController::class)->checkBalance($request); + default: + return $this->errorResponse(__('errors.unexpected_error')); + } + //return app(CinetpayController::class)->checkBalance($request); + // return app(FlutterwaveController::class)->checkBalance($request); } diff --git a/app/Http/Controllers/StripeController.php b/app/Http/Controllers/StripeController.php old mode 100644 new mode 100755 index 2f07b80..f003592 --- a/app/Http/Controllers/StripeController.php +++ b/app/Http/Controllers/StripeController.php @@ -353,11 +353,11 @@ class StripeController extends Controller 'card_no' => 'required_if:payment_method,CARD', 'exp_month' => 'required_if:payment_method,CARD', 'exp_year' => 'required_if:payment_method,CARD', -// 'cvc' => 'required_if:payment_method,CARD', + // 'cvc' => 'required_if:payment_method,CARD', 'bank_country' => 'required_if:payment_method,BANK|string|size:2', 'bank_currency' => 'required_if:payment_method,BANK|string|size:3', 'bank_account_number' => 'required_if:payment_method,BANK|string', -// 'aggregator_id' => 'required|integer', + //'aggregator_id' => 'required|integer', 'amount' => 'required|numeric', 'currency' => 'required|string|size:3', 'customer_id' => 'nullable', @@ -417,7 +417,7 @@ class StripeController extends Controller 'number' => $request->input('card_no'), 'exp_month' => $request->input('exp_month'), 'exp_year' => $request->input('exp_year'), -// 'cvc' => $request->input('cvc'), + // 'cvc' => $request->input('cvc'), ] ] ); diff --git a/app/Http/Controllers/YnoteOrangeController.php b/app/Http/Controllers/YnoteOrangeController.php old mode 100644 new mode 100755 diff --git a/app/Http/Controllers/YoomeeController.php b/app/Http/Controllers/YoomeeController.php old mode 100644 new mode 100755 diff --git a/app/Http/Controllers/YoomeeV2Controller.php b/app/Http/Controllers/YoomeeV2Controller.php old mode 100644 new mode 100755 diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php old mode 100644 new mode 100755 diff --git a/app/Http/Middleware/ExampleMiddleware.php b/app/Http/Middleware/ExampleMiddleware.php old mode 100644 new mode 100755 diff --git a/app/Http/Middleware/SecureApiDocs.php b/app/Http/Middleware/SecureApiDocs.php old mode 100644 new mode 100755 diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php old mode 100644 new mode 100755 diff --git a/app/Jobs/ExampleJob.php b/app/Jobs/ExampleJob.php old mode 100644 new mode 100755 diff --git a/app/Jobs/Job.php b/app/Jobs/Job.php old mode 100644 new mode 100755 diff --git a/app/Listeners/ExampleListener.php b/app/Listeners/ExampleListener.php old mode 100644 new mode 100755 diff --git a/app/Models/Currency.php b/app/Models/Currency.php old mode 100644 new mode 100755 diff --git a/app/Models/PaymentAggregator.php b/app/Models/PaymentAggregator.php old mode 100644 new mode 100755 diff --git a/app/Models/PaymentAggregatorRate.php b/app/Models/PaymentAggregatorRate.php old mode 100644 new mode 100755 diff --git a/app/Models/PaymentRefund.php b/app/Models/PaymentRefund.php old mode 100644 new mode 100755 diff --git a/app/Models/PaymentTransaction.php b/app/Models/PaymentTransaction.php old mode 100644 new mode 100755 diff --git a/app/Models/User.php b/app/Models/User.php old mode 100644 new mode 100755 diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php old mode 100644 new mode 100755 diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php old mode 100644 new mode 100755 diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php old mode 100644 new mode 100755 diff --git a/app/Traits/Helper.php b/app/Traits/Helper.php old mode 100644 new mode 100755 diff --git a/bootstrap/app.php b/bootstrap/app.php old mode 100644 new mode 100755 diff --git a/composer.json b/composer.json old mode 100644 new mode 100755 diff --git a/composer.lock b/composer.lock old mode 100644 new mode 100755 diff --git a/config/session.php b/config/session.php old mode 100644 new mode 100755 diff --git a/config/swagger-lume.php b/config/swagger-lume.php old mode 100644 new mode 100755 diff --git a/config/variables.php b/config/variables.php old mode 100644 new mode 100755 diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php old mode 100644 new mode 100755 diff --git a/database/migrations/.gitkeep b/database/migrations/.gitkeep old mode 100644 new mode 100755 diff --git a/database/migrations/2022_07_06_132028_create_payment_aggregators_table.php b/database/migrations/2022_07_06_132028_create_payment_aggregators_table.php old mode 100644 new mode 100755 diff --git a/database/migrations/2022_07_27_075519_create_payment_transactions_table.php b/database/migrations/2022_07_27_075519_create_payment_transactions_table.php old mode 100644 new mode 100755 diff --git a/database/migrations/2023_06_05_111933_create_payment_refunds_table.php b/database/migrations/2023_06_05_111933_create_payment_refunds_table.php old mode 100644 new mode 100755 diff --git a/database/migrations/2023_06_07_070215_rename_state_to_status_in_payment_transactions.php b/database/migrations/2023_06_07_070215_rename_state_to_status_in_payment_transactions.php old mode 100644 new mode 100755 diff --git a/database/migrations/2023_06_07_102900_change_customer_id_and_customer_phone_number_in_payment_transactions.php b/database/migrations/2023_06_07_102900_change_customer_id_and_customer_phone_number_in_payment_transactions.php old mode 100644 new mode 100755 diff --git a/database/migrations/2023_06_29_095044_set_address_column_nullable_in_payment_transactions.php b/database/migrations/2023_06_29_095044_set_address_column_nullable_in_payment_transactions.php old mode 100644 new mode 100755 diff --git a/database/migrations/2023_07_11_143815_create_payment_aggregator_rates_table.php b/database/migrations/2023_07_11_143815_create_payment_aggregator_rates_table.php old mode 100644 new mode 100755 diff --git a/database/migrations/2023_07_17_110454_update_customer_state_in_payment_transactions.php b/database/migrations/2023_07_17_110454_update_customer_state_in_payment_transactions.php old mode 100644 new mode 100755 diff --git a/database/migrations/2023_08_30_135610_set_date_type_for_payment_date_in_payment_transactions.php b/database/migrations/2023_08_30_135610_set_date_type_for_payment_date_in_payment_transactions.php old mode 100644 new mode 100755 diff --git a/database/migrations/2023_10_12_141608_add_payment_endpoint_and_payment_verify_endpoint_in_payment_transactions.php b/database/migrations/2023_10_12_141608_add_payment_endpoint_and_payment_verify_endpoint_in_payment_transactions.php old mode 100644 new mode 100755 diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php old mode 100644 new mode 100755 diff --git a/phpunit.xml b/phpunit.xml old mode 100644 new mode 100755 diff --git a/public/.htaccess b/public/.htaccess old mode 100644 new mode 100755 diff --git a/public/assets/app.css b/public/assets/app.css old mode 100644 new mode 100755 diff --git a/public/assets/app.js b/public/assets/app.js old mode 100644 new mode 100755 diff --git a/public/assets/images/default.png b/public/assets/images/default.png old mode 100644 new mode 100755 diff --git a/public/assets/images/express-union.jpeg b/public/assets/images/express-union.jpeg old mode 100644 new mode 100755 diff --git a/public/assets/images/failed.png b/public/assets/images/failed.png old mode 100644 new mode 100755 diff --git a/public/assets/images/flags.png b/public/assets/images/flags.png old mode 100644 new mode 100755 diff --git a/public/assets/images/flags@2x.png b/public/assets/images/flags@2x.png old mode 100644 new mode 100755 diff --git a/public/assets/images/mtn.png b/public/assets/images/mtn.png old mode 100644 new mode 100755 diff --git a/public/assets/images/orange.png b/public/assets/images/orange.png old mode 100644 new mode 100755 diff --git a/public/assets/images/stripe.png b/public/assets/images/stripe.png old mode 100644 new mode 100755 diff --git a/public/assets/images/success.png b/public/assets/images/success.png old mode 100644 new mode 100755 diff --git a/public/assets/images/yoomee.png b/public/assets/images/yoomee.png old mode 100644 new mode 100755 diff --git a/public/assets/sweetalert2/sweetalert2.all.js b/public/assets/sweetalert2/sweetalert2.all.js old mode 100644 new mode 100755 diff --git a/public/assets/sweetalert2/sweetalert2.all.min.js b/public/assets/sweetalert2/sweetalert2.all.min.js old mode 100644 new mode 100755 diff --git a/public/assets/sweetalert2/sweetalert2.css b/public/assets/sweetalert2/sweetalert2.css old mode 100644 new mode 100755 diff --git a/public/assets/sweetalert2/sweetalert2.js b/public/assets/sweetalert2/sweetalert2.js old mode 100644 new mode 100755 diff --git a/public/assets/sweetalert2/sweetalert2.min.css b/public/assets/sweetalert2/sweetalert2.min.css old mode 100644 new mode 100755 diff --git a/public/assets/sweetalert2/sweetalert2.min.js b/public/assets/sweetalert2/sweetalert2.min.js old mode 100644 new mode 100755 diff --git a/public/assets/utils.js b/public/assets/utils.js old mode 100644 new mode 100755 diff --git a/public/index.php b/public/index.php old mode 100644 new mode 100755 diff --git a/resources/lang/en/stripe.php b/resources/lang/en/stripe.php old mode 100644 new mode 100755 diff --git a/resources/lang/en/validation.php b/resources/lang/en/validation.php old mode 100644 new mode 100755 diff --git a/resources/lang/fr/stripe.php b/resources/lang/fr/stripe.php old mode 100644 new mode 100755 diff --git a/resources/lang/fr/validation.php b/resources/lang/fr/validation.php old mode 100644 new mode 100755 diff --git a/resources/views/.gitkeep b/resources/views/.gitkeep old mode 100644 new mode 100755 diff --git a/resources/views/checkout.blade.php b/resources/views/checkout.blade.php old mode 100644 new mode 100755 diff --git a/resources/views/footer.blade.php b/resources/views/footer.blade.php old mode 100644 new mode 100755 diff --git a/resources/views/payment-status.blade.php b/resources/views/payment-status.blade.php old mode 100644 new mode 100755 diff --git a/resources/views/payment-webhook.blade.php b/resources/views/payment-webhook.blade.php old mode 100644 new mode 100755 diff --git a/resources/views/stripe-checkout.blade.php b/resources/views/stripe-checkout.blade.php old mode 100644 new mode 100755 diff --git a/resources/views/vendor/swagger-lume/index.blade.php b/resources/views/vendor/swagger-lume/index.blade.php old mode 100644 new mode 100755 diff --git a/resources/views/verify-payment.blade.php b/resources/views/verify-payment.blade.php old mode 100644 new mode 100755 diff --git a/routes/web.php b/routes/web.php old mode 100644 new mode 100755 diff --git a/storage/app/.gitignore b/storage/app/.gitignore old mode 100644 new mode 100755 diff --git a/storage/framework/cache/.gitignore b/storage/framework/cache/.gitignore old mode 100644 new mode 100755 diff --git a/storage/framework/cache/data/.gitignore b/storage/framework/cache/data/.gitignore old mode 100644 new mode 100755 diff --git a/storage/framework/sessions/.gitignore b/storage/framework/sessions/.gitignore old mode 100644 new mode 100755 diff --git a/storage/framework/views/.gitignore b/storage/framework/views/.gitignore old mode 100644 new mode 100755 diff --git a/storage/logs/.gitignore b/storage/logs/.gitignore old mode 100644 new mode 100755 diff --git a/tests/ExampleTest.php b/tests/ExampleTest.php old mode 100644 new mode 100755 diff --git a/tests/TestCase.php b/tests/TestCase.php old mode 100644 new mode 100755