diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 225a230..69a64f6 100755 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -80,7 +80,7 @@ class UserController extends Controller if ($identification->status == 1) { return $this->errorResponse(trans('messages.identification_already_validated')); } -// dd($request->all()); + //dd($request->all()); $this->validate($request, [ 'document_image_front' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:6144', 'document_image_back' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:6144', diff --git a/app/Http/Controllers/WalletController.php b/app/Http/Controllers/WalletController.php index 0909cdf..49a3a89 100755 --- a/app/Http/Controllers/WalletController.php +++ b/app/Http/Controllers/WalletController.php @@ -17,7 +17,9 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use App\Notifications\BankAccountCreated; use App\Mail\BankAccountCreatedMail; +use App\Models\CustomerAccountType; use Illuminate\Support\Facades\Mail; +use GuzzleHttp\Client; class WalletController extends Controller { @@ -648,6 +650,7 @@ INNER JOIN countries c ON oc.id_country = c.id INNER JOIN type_operators top ON 'id_user' => 'required|integer|exists:users,id', 'id_operator' => 'required|integer|exists:operators_countries,id', 'id_wallet_network' => 'required|integer|exists:networks,id', + 'account_type' => 'required', 'lastname' => 'required|string', 'firstname' => 'required|string', 'nationality' => 'required|string', @@ -655,14 +658,13 @@ INNER JOIN countries c ON oc.id_country = c.id INNER JOIN type_operators top ON 'birth_country' => 'required|string|max:3', 'birth_city' => 'required|string', 'identification_number' => 'required|string', - 'spouse_name' => 'required|string', - 'phone_number' => 'required|string|max:15|min:9', - 'marital_name' => 'nullable|string', + 'spouse_name' => 'nullable|string', + 'phone_number' => 'required|string', 'marital_status' => 'nullable|string', 'profession' => 'required|string', 'niu' => 'nullable|string', 'employer_city' => 'nullable|string', - 'position' => 'nullable|string', + 'profession' => 'nullable|string', 'employer_name' => 'nullable|string', 'employer_address' => 'nullable|string', ]); @@ -706,21 +708,22 @@ INNER JOIN countries c ON oc.id_country = c.id INNER JOIN type_operators top ON } } $bank_name = $network_bank->operators_country->operator->nom; + $account_type = CustomerAccountType::where('product', $request->account_type)->first(); + + if (!$account_type) { + return $this->errorResponse(trans('errors.invalid_account_type')); + } $bankAccount = new UserBankAccount(); $bankAccount->id_user = $user->id; $bankAccount->id_operator_country = $request->id_operator; $bankAccount->lastname = $request->lastname; + $bankAccount->customer_account_type_id = $account_type->id; $bankAccount->firstname = $request->firstname; - $bankAccount->marital_name = $request->marital_name ?? 'null'; $bankAccount->nationality = $request->nationality; $bankAccount->birth_date = $request->birth_date; $bankAccount->birth_country = $request->birth_country; $bankAccount->birth_city = $request->birth_city; - $bankAccount->father_firstname = $request->father_firstname; - $bankAccount->father_lastname = $request->father_lastname; - $bankAccount->mother_firstname = $request->mother_firstname; - $bankAccount->mother_lastname = $request->mother_lastname; $bankAccount->marital_status = $request->marital_status ?? 'celibataire'; $bankAccount->profession = $request->profession; $bankAccount->identification_number = $request->identification_number; @@ -728,7 +731,7 @@ INNER JOIN countries c ON oc.id_country = c.id INNER JOIN type_operators top ON $bankAccount->spouse_name = $request->spouse_name; $bankAccount->niu = $request->niu ?? 'null'; $bankAccount->employer_city = $request->employer_city ?? 'null'; - $bankAccount->position = $request->position; + $bankAccount->profession = $request->profession; $bankAccount->employer_name = $request->employer_name ?? 'null'; $bankAccount->employer_address = $request->employer_address ?? 'null'; $bankAccount->balance = 0; @@ -760,4 +763,94 @@ INNER JOIN countries c ON oc.id_country = c.id INNER JOIN type_operators top ON ]); } + public function activateUserBankAccount(Request $request) + { + $this->validate($request, [ + 'id' => 'required|integer|exists:user_bank_accounts,id', + 'doc_front' => 'required|url', + 'doc_back' => 'required|url', + ]); + + $bank_account = UserBankAccount::where('id', $request->id)->with('user')->first(); + + if (!$bank_account) { + return $this->errorResponse(trans('errors.account_type_not_found')); + } + + $user = $bank_account->user; + $account_type = CustomerAccountType::where('id', $bank_account->customer_account_type_id)->first(); + + $apiUrl = "http://192.168.1.173:8084/api/v1/clients/create-with-account"; + + $payload = [ + 'phoneNumber' => $bank_account->phone_number ?? ($user->phone ?? ''), + 'email' => $user->email ?? '', + 'fullname' => $bank_account->firstname . ' ' . $bank_account->lastname, + 'branchCode' => '99001', + 'dateOfBirth' => $bank_account->birth_date, + 'isMarried' => ($bank_account->marital_status === 'marie') ? 'Yes' : 'No', + 'nameOfSpouse' => $bank_account->spouse_name ?? '', + 'city' => $bank_account->birth_city ?? '', + 'accountType' => $account_type->name, + 'originalNationality' => $bank_account->nationality, + 'countryOfResidence' => $bank_account->birth_country, + 'employersName' => $bank_account->employer_name ?? '', + 'employersAddress' => $bank_account->employer_address ?? '', + 'employersCity' => $bank_account->employer_city ?? '', + 'product' => $account_type->product ?? '', + 'identificationNumber' => $bank_account->identification_number, + 'paySlip' => $request->doc_front, + 'signatureCard' => $request->doc_back, + ]; + + try { + $client = new Client(); + + $response = $client->post($apiUrl, [ + 'auth' => ['sa', 'Sa123456'], // Authentification demandée + 'json' => $payload, // Envoi en tant que application/json + 'headers' => [ + 'Accept' => 'application/json', + ], + 'connect_timeout' => 30, + ]); + + $result = json_decode($response->getBody(), true); + + if ($response->getStatusCode() == 200 || $response->getStatusCode() == 201) { + $bank_account->update([ + 'status' => 'validated', + 'reason' => 'Compte créé avec succès via liens documents' + ]); + + return response()->json([ + 'status' => 'success', + 'message' => 'Données et liens envoyés avec succès', + 'api_response' => $result + ]); + } + + } catch (RequestException $e) { + $errorBody = $e->hasResponse() ? (string) $e->getResponse()->getBody() : $e->getMessage(); + + $bank_account->update([ + 'status' => 'rejected', + 'reason' => 'Erreur API externe : ' . $errorBody + ]); + + return response()->json([ + 'status' => 'error', + 'message' => 'L’API distante a refusé la requête', + 'details' => json_decode($errorBody) ?? $errorBody + ], 500); + + } catch (\Exception $e) { + return response()->json([ + 'status' => 'error', + 'message' => 'Erreur lors de l’appel API', + 'error' => $e->getMessage() + ], 500); + } + } + } diff --git a/app/Models/CustomerAccountType.php b/app/Models/CustomerAccountType.php new file mode 100755 index 0000000..ec264d4 --- /dev/null +++ b/app/Models/CustomerAccountType.php @@ -0,0 +1,59 @@ + 'boolean', + 'opening_amount' => 'decimal:2', + 'network_id' => 'integer', + 'parent_id' => 'integer', + 'opening_amount_payment_period_days' => 'integer', + ]; + + /** + * Relation avec le Network (si applicable) + */ + public function network() + { + return $this->belongsTo(Network::class, 'network_id'); + } + + public function userBankAccount() + { + return $this->hasMany(UserBankAccount::class, 'customer_account_type_id'); + } + +} diff --git a/app/Models/Network.php b/app/Models/Network.php index 2a4798c..36e65fc 100755 --- a/app/Models/Network.php +++ b/app/Models/Network.php @@ -8,6 +8,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Model; +use App\Models\CustomerAccountType; /** * Class Network @@ -61,4 +62,9 @@ class Network extends Model { return $this->belongsTo(Country::class, 'country_id'); } + + public function customerAccountTypes() + { + return $this->hasMany(CustomerAccountType::class, 'network_id'); + } } diff --git a/app/Models/UserBankAccount.php b/app/Models/UserBankAccount.php index d241cff..11d68e7 100755 --- a/app/Models/UserBankAccount.php +++ b/app/Models/UserBankAccount.php @@ -5,6 +5,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; use App\Models\User; use App\Models\Operator; +use App\Models\CustomerAccountType; class UserBankAccount extends Model { @@ -17,7 +18,8 @@ class UserBankAccount extends Model 'account_number', 'iban', 'identification_number', - 'account_type', + 'customer_account_type_id', + 'customer_number', 'balance', 'status', 'reason', @@ -52,4 +54,9 @@ class UserBankAccount extends Model return $this->belongsTo(Operator::class); } + public function customerAccountType() + { + return $this->belongsTo(CustomerAccountType::class, 'id'); + } + } diff --git a/bootstrap/cache/compiled.php b/bootstrap/cache/compiled.php old mode 100644 new mode 100755 diff --git a/composer.lock b/composer.lock index b8f7a15..e2bb8d0 100755 --- a/composer.lock +++ b/composer.lock @@ -879,16 +879,16 @@ }, { "name": "doctrine/dbal", - "version": "3.10.3", + "version": "3.10.4", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "65edaca19a752730f290ec2fb89d593cb40afb43" + "reference": "63a46cb5aa6f60991186cc98c1d1b50c09311868" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/65edaca19a752730f290ec2fb89d593cb40afb43", - "reference": "65edaca19a752730f290ec2fb89d593cb40afb43", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/63a46cb5aa6f60991186cc98c1d1b50c09311868", + "reference": "63a46cb5aa6f60991186cc98c1d1b50c09311868", "shasum": "" }, "require": { @@ -912,8 +912,8 @@ "phpunit/phpunit": "9.6.29", "slevomat/coding-standard": "8.24.0", "squizlabs/php_codesniffer": "4.0.0", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/console": "^4.4|^5.4|^6.0|^7.0" + "symfony/cache": "^5.4|^6.0|^7.0|^8.0", + "symfony/console": "^4.4|^5.4|^6.0|^7.0|^8.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -973,7 +973,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.10.3" + "source": "https://github.com/doctrine/dbal/tree/3.10.4" }, "funding": [ { @@ -989,7 +989,7 @@ "type": "tidelift" } ], - "time": "2025-10-09T09:05:12+00:00" + "time": "2025-11-29T10:46:08+00:00" }, { "name": "doctrine/deprecations", @@ -1368,29 +1368,28 @@ }, { "name": "dragonmantank/cron-expression", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "8c784d071debd117328803d86b2097615b457500" + "reference": "1b2de7f4a468165dca07b142240733a1973e766d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500", - "reference": "8c784d071debd117328803d86b2097615b457500", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/1b2de7f4a468165dca07b142240733a1973e766d", + "reference": "1b2de7f4a468165dca07b142240733a1973e766d", "shasum": "" }, "require": { - "php": "^7.2|^8.0", - "webmozart/assert": "^1.0" + "php": "^7.2|^8.0" }, "replace": { "mtdowling/cron-expression": "^1.0" }, "require-dev": { - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.32|^2.1.31", + "phpunit/phpunit": "^8.5.48|^9.0" }, "type": "library", "extra": { @@ -1421,7 +1420,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.5.0" }, "funding": [ { @@ -1429,7 +1428,7 @@ "type": "github" } ], - "time": "2024-10-09T13:47:03+00:00" + "time": "2025-10-31T18:36:32+00:00" }, { "name": "egulias/email-validator", @@ -1610,24 +1609,24 @@ }, { "name": "graham-campbell/result-type", - "version": "v1.1.3", + "version": "v1.1.4", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b", + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3" + "phpoption/phpoption": "^1.9.5" }, "require-dev": { - "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7" }, "type": "library", "autoload": { @@ -1656,7 +1655,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.4" }, "funding": [ { @@ -1668,7 +1667,7 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:45:45+00:00" + "time": "2025-12-27T19:43:20+00:00" }, { "name": "guzzlehttp/guzzle", @@ -1997,16 +1996,16 @@ }, { "name": "http-interop/http-factory-guzzle", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/http-interop/http-factory-guzzle.git", - "reference": "8f06e92b95405216b237521cc64c804dd44c4a81" + "reference": "c2c859ceb05c3f42e710b60555f4c35b6a4a3995" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/8f06e92b95405216b237521cc64c804dd44c4a81", - "reference": "8f06e92b95405216b237521cc64c804dd44c4a81", + "url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/c2c859ceb05c3f42e710b60555f4c35b6a4a3995", + "reference": "c2c859ceb05c3f42e710b60555f4c35b6a4a3995", "shasum": "" }, "require": { @@ -2049,9 +2048,9 @@ ], "support": { "issues": "https://github.com/http-interop/http-factory-guzzle/issues", - "source": "https://github.com/http-interop/http-factory-guzzle/tree/1.2.0" + "source": "https://github.com/http-interop/http-factory-guzzle/tree/1.2.1" }, - "time": "2021-07-21T13:50:14+00:00" + "time": "2025-12-15T11:28:16+00:00" }, { "name": "illuminate/auth", @@ -3827,16 +3826,16 @@ }, { "name": "league/commonmark", - "version": "2.7.1", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "10732241927d3971d28e7ea7b5712721fa2296ca" + "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/10732241927d3971d28e7ea7b5712721fa2296ca", - "reference": "10732241927d3971d28e7ea7b5712721fa2296ca", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb", + "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb", "shasum": "" }, "require": { @@ -3873,7 +3872,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.8-dev" + "dev-main": "2.9-dev" } }, "autoload": { @@ -3930,7 +3929,7 @@ "type": "tidelift" } ], - "time": "2025-07-20T12:47:49+00:00" + "time": "2025-11-26T21:48:24+00:00" }, { "name": "league/config", @@ -4282,16 +4281,16 @@ }, { "name": "monolog/monolog", - "version": "2.10.0", + "version": "2.11.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "5cf826f2991858b54d5c3809bee745560a1042a7" + "reference": "37308608e599f34a1a4845b16440047ec98a172a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/5cf826f2991858b54d5c3809bee745560a1042a7", - "reference": "5cf826f2991858b54d5c3809bee745560a1042a7", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/37308608e599f34a1a4845b16440047ec98a172a", + "reference": "37308608e599f34a1a4845b16440047ec98a172a", "shasum": "" }, "require": { @@ -4309,7 +4308,7 @@ "graylog2/gelf-php": "^1.4.2 || ^2@dev", "guzzlehttp/guzzle": "^7.4", "guzzlehttp/psr7": "^2.2", - "mongodb/mongodb": "^1.8", + "mongodb/mongodb": "^1.8 || ^2.0", "php-amqplib/php-amqplib": "~2.4 || ^3", "phpspec/prophecy": "^1.15", "phpstan/phpstan": "^1.10", @@ -4368,7 +4367,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.10.0" + "source": "https://github.com/Seldaek/monolog/tree/2.11.0" }, "funding": [ { @@ -4380,7 +4379,7 @@ "type": "tidelift" } ], - "time": "2024-11-12T12:43:37+00:00" + "time": "2026-01-01T13:05:00+00:00" }, { "name": "myclabs/php-enum", @@ -4616,16 +4615,16 @@ }, { "name": "nette/utils", - "version": "v4.0.8", + "version": "v4.0.10", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede" + "reference": "2778deb6aab136c8db4ed1f4d6e9f465ca2dbee3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/c930ca4e3cf4f17dcfb03037703679d2396d2ede", - "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede", + "url": "https://api.github.com/repos/nette/utils/zipball/2778deb6aab136c8db4ed1f4d6e9f465ca2dbee3", + "reference": "2778deb6aab136c8db4ed1f4d6e9f465ca2dbee3", "shasum": "" }, "require": { @@ -4699,9 +4698,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.8" + "source": "https://github.com/nette/utils/tree/v4.0.10" }, - "time": "2025-08-06T21:43:34+00:00" + "time": "2025-12-01T17:30:42+00:00" }, { "name": "nikic/fast-route", @@ -4755,16 +4754,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.19.4", + "version": "v4.19.5", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2" + "reference": "51bd93cc741b7fc3d63d20b6bdcd99fdaa359837" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/715f4d25e225bc47b293a8b997fe6ce99bf987d2", - "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/51bd93cc741b7fc3d63d20b6bdcd99fdaa359837", + "reference": "51bd93cc741b7fc3d63d20b6bdcd99fdaa359837", "shasum": "" }, "require": { @@ -4779,11 +4778,6 @@ "bin/php-parse" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.9-dev" - } - }, "autoload": { "psr-4": { "PhpParser\\": "lib/PhpParser" @@ -4805,9 +4799,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.4" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.5" }, - "time": "2024-09-29T15:01:53+00:00" + "time": "2025-12-06T11:45:25+00:00" }, { "name": "nyholm/psr7", @@ -5044,16 +5038,16 @@ }, { "name": "php-http/client-common", - "version": "2.7.2", + "version": "2.7.3", "source": { "type": "git", "url": "https://github.com/php-http/client-common.git", - "reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46" + "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/client-common/zipball/0cfe9858ab9d3b213041b947c881d5b19ceeca46", - "reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46", + "url": "https://api.github.com/repos/php-http/client-common/zipball/dcc6de29c90dd74faab55f71b79d89409c4bf0c1", + "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1", "shasum": "" }, "require": { @@ -5063,15 +5057,13 @@ "psr/http-client": "^1.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0", + "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0 || ^8.0", "symfony/polyfill-php80": "^1.17" }, "require-dev": { "doctrine/instantiator": "^1.1", "guzzlehttp/psr7": "^1.4", "nyholm/psr7": "^1.2", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "phpspec/prophecy": "^1.10.2", "phpunit/phpunit": "^7.5.20 || ^8.5.33 || ^9.6.7" }, "suggest": { @@ -5107,9 +5099,9 @@ ], "support": { "issues": "https://github.com/php-http/client-common/issues", - "source": "https://github.com/php-http/client-common/tree/2.7.2" + "source": "https://github.com/php-http/client-common/tree/2.7.3" }, - "time": "2024-09-24T06:21:48+00:00" + "time": "2025-11-29T19:12:34+00:00" }, { "name": "php-http/discovery", @@ -5425,16 +5417,16 @@ }, { "name": "phpoffice/phpspreadsheet", - "version": "1.30.0", + "version": "1.30.2", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "2f39286e0136673778b7a142b3f0d141e43d1714" + "reference": "09cdde5e2f078b9a3358dd217e2c8cb4dac84be2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/2f39286e0136673778b7a142b3f0d141e43d1714", - "reference": "2f39286e0136673778b7a142b3f0d141e43d1714", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/09cdde5e2f078b9a3358dd217e2c8cb4dac84be2", + "reference": "09cdde5e2f078b9a3358dd217e2c8cb4dac84be2", "shasum": "" }, "require": { @@ -5456,13 +5448,12 @@ "maennchen/zipstream-php": "^2.1 || ^3.0", "markbaker/complex": "^3.0", "markbaker/matrix": "^3.0", - "php": "^7.4 || ^8.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", + "php": ">=7.4.0 <8.5.0", "psr/simple-cache": "^1.0 || ^2.0 || ^3.0" }, "require-dev": { "dealerdirect/phpcodesniffer-composer-installer": "dev-main", + "doctrine/instantiator": "^1.5", "dompdf/dompdf": "^1.0 || ^2.0 || ^3.0", "friendsofphp/php-cs-fixer": "^3.2", "mitoteam/jpgraph": "^10.3", @@ -5509,6 +5500,9 @@ }, { "name": "Adrien Crivelli" + }, + { + "name": "Owen Leibman" } ], "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", @@ -5525,22 +5519,22 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.30.0" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.30.2" }, - "time": "2025-08-10T06:28:02+00:00" + "time": "2026-01-11T05:58:24+00:00" }, { "name": "phpoption/phpoption", - "version": "1.9.4", + "version": "1.9.5", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d" + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d", - "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be", + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be", "shasum": "" }, "require": { @@ -5590,7 +5584,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.4" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.5" }, "funding": [ { @@ -5602,7 +5596,7 @@ "type": "tidelift" } ], - "time": "2025-08-21T11:53:16+00:00" + "time": "2025-12-27T19:41:33+00:00" }, { "name": "psr/cache", @@ -6271,20 +6265,20 @@ }, { "name": "ramsey/uuid", - "version": "4.9.1", + "version": "4.9.2", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440" + "reference": "8429c78ca35a09f27565311b98101e2826affde0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440", - "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0", + "reference": "8429c78ca35a09f27565311b98101e2826affde0", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", + "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -6343,9 +6337,9 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.9.1" + "source": "https://github.com/ramsey/uuid/tree/4.9.2" }, - "time": "2025-09-04T20:59:21+00:00" + "time": "2025-12-14T04:43:48+00:00" }, { "name": "sabberworm/php-css-parser", @@ -7557,16 +7551,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.4.48", + "version": "v5.4.50", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "3f38b8af283b830e1363acd79e5bc3412d055341" + "reference": "1a0706e8b8041046052ea2695eb8aeee04f97609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3f38b8af283b830e1363acd79e5bc3412d055341", - "reference": "3f38b8af283b830e1363acd79e5bc3412d055341", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/1a0706e8b8041046052ea2695eb8aeee04f97609", + "reference": "1a0706e8b8041046052ea2695eb8aeee04f97609", "shasum": "" }, "require": { @@ -7613,7 +7607,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.48" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.50" }, "funding": [ { @@ -7624,25 +7618,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-11-13T18:58:02+00:00" + "time": "2025-11-03T12:58:48+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.4.48", + "version": "v5.4.51", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0" + "reference": "85432f7548b2757b8387f7e1a468abd62fc4c9bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0", - "reference": "c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/85432f7548b2757b8387f7e1a468abd62fc4c9bc", + "reference": "85432f7548b2757b8387f7e1a468abd62fc4c9bc", "shasum": "" }, "require": { @@ -7726,7 +7724,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.4.48" + "source": "https://github.com/symfony/http-kernel/tree/v5.4.51" }, "funding": [ { @@ -7737,12 +7735,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-11-27T12:43:17+00:00" + "time": "2026-01-28T07:10:35+00:00" }, { "name": "symfony/mime", @@ -8648,16 +8650,16 @@ }, { "name": "symfony/process", - "version": "v5.4.47", + "version": "v5.4.51", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d" + "reference": "467bfc56f18f5ef6d5ccb09324d7e988c1c0a98f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/5d1662fb32ebc94f17ddb8d635454a776066733d", - "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d", + "url": "https://api.github.com/repos/symfony/process/zipball/467bfc56f18f5ef6d5ccb09324d7e988c1c0a98f", + "reference": "467bfc56f18f5ef6d5ccb09324d7e988c1c0a98f", "shasum": "" }, "require": { @@ -8690,7 +8692,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.47" + "source": "https://github.com/symfony/process/tree/v5.4.51" }, "funding": [ { @@ -8701,12 +8703,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-11-06T11:36:42+00:00" + "time": "2026-01-26T15:53:37+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -9303,23 +9309,23 @@ }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.3.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "0d72ac1c00084279c1816675284073c5a337c20d" + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d", - "reference": "0d72ac1c00084279c1816675284073c5a337c20d", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0292ccf0ec75843d65027214426b6b163b48b41", + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "php": "^7.4 || ^8.0", - "symfony/css-selector": "^5.4 || ^6.0 || ^7.0" + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^2.0", @@ -9352,9 +9358,9 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.4.0" }, - "time": "2024-12-21T16:25:41+00:00" + "time": "2025-12-02T11:56:42+00:00" }, { "name": "twilio/sdk", @@ -9411,26 +9417,26 @@ }, { "name": "vlucas/phpdotenv", - "version": "v5.6.2", + "version": "v5.6.3", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" + "reference": "955e7815d677a3eaa7075231212f2110983adecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", - "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc", + "reference": "955e7815d677a3eaa7075231212f2110983adecc", "shasum": "" }, "require": { "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.3", + "graham-campbell/result-type": "^1.1.4", "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3", - "symfony/polyfill-ctype": "^1.24", - "symfony/polyfill-mbstring": "^1.24", - "symfony/polyfill-php80": "^1.24" + "phpoption/phpoption": "^1.9.5", + "symfony/polyfill-ctype": "^1.26", + "symfony/polyfill-mbstring": "^1.26", + "symfony/polyfill-php80": "^1.26" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", @@ -9479,7 +9485,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.3" }, "funding": [ { @@ -9491,7 +9497,7 @@ "type": "tidelift" } ], - "time": "2025-04-30T23:37:27+00:00" + "time": "2025-12-27T19:49:13+00:00" }, { "name": "voku/portable-ascii", @@ -9567,64 +9573,6 @@ ], "time": "2022-01-24T18:55:24+00:00" }, - { - "name": "webmozart/assert", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" - }, - "time": "2022-06-03T18:03:27+00:00" - }, { "name": "zircote/swagger-php", "version": "3.3.7", @@ -10459,16 +10407,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.29", + "version": "9.6.34", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3" + "reference": "b36f02317466907a230d3aa1d34467041271ef4a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9ecfec57835a5581bc888ea7e13b51eb55ab9dd3", - "reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b36f02317466907a230d3aa1d34467041271ef4a", + "reference": "b36f02317466907a230d3aa1d34467041271ef4a", "shasum": "" }, "require": { @@ -10490,7 +10438,7 @@ "phpunit/php-timer": "^5.0.3", "sebastian/cli-parser": "^1.0.2", "sebastian/code-unit": "^1.0.8", - "sebastian/comparator": "^4.0.9", + "sebastian/comparator": "^4.0.10", "sebastian/diff": "^4.0.6", "sebastian/environment": "^5.1.5", "sebastian/exporter": "^4.0.8", @@ -10542,7 +10490,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.29" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.34" }, "funding": [ { @@ -10566,7 +10514,7 @@ "type": "tidelift" } ], - "time": "2025-09-24T06:29:11+00:00" + "time": "2026-01-27T05:45:00+00:00" }, { "name": "sebastian/cli-parser", @@ -10737,16 +10685,16 @@ }, { "name": "sebastian/comparator", - "version": "4.0.9", + "version": "4.0.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "67a2df3a62639eab2cc5906065e9805d4fd5dfc5" + "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/67a2df3a62639eab2cc5906065e9805d4fd5dfc5", - "reference": "67a2df3a62639eab2cc5906065e9805d4fd5dfc5", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e4df00b9b3571187db2831ae9aada2c6efbd715d", + "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d", "shasum": "" }, "require": { @@ -10799,7 +10747,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.9" + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.10" }, "funding": [ { @@ -10819,7 +10767,7 @@ "type": "tidelift" } ], - "time": "2025-08-10T06:51:50+00:00" + "time": "2026-01-24T09:22:56+00:00" }, { "name": "sebastian/complexity", @@ -11581,16 +11529,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.3", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", "shasum": "" }, "require": { @@ -11619,7 +11567,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" }, "funding": [ { @@ -11627,7 +11575,7 @@ "type": "github" } ], - "time": "2024-03-03T12:36:25+00:00" + "time": "2025-11-17T20:03:58+00:00" } ], "aliases": [], diff --git a/config/services.php b/config/services.php index 0aa4725..e625d0c 100755 --- a/config/services.php +++ b/config/services.php @@ -6,6 +6,9 @@ return [ 'base_uri' => env('NOTIFICATION_SERVICE_URL'), 'key' => env('NOTIFICATION_SERVICE_KEY') ], + 'create_account_gbs' => [ + 'base_uri' => env('CREATE_ACCOUNT_GBS_URL'), + ], 'payment_service' => [ 'base_uri' => env('PAYMENT_SERVICE_URL'), 'key' => env('PAYMENT_SERVICE_KEY') diff --git a/database/migrations/2025_11_13_105829_create_user_bank_accounts_table.php b/database/migrations/2025_11_13_105829_create_user_bank_accounts_table.php index bbb2e09..aa3f00f 100755 --- a/database/migrations/2025_11_13_105829_create_user_bank_accounts_table.php +++ b/database/migrations/2025_11_13_105829_create_user_bank_accounts_table.php @@ -22,13 +22,14 @@ class CreateUserBankAccountsTable extends Migration // Référence utilisateur (BigInteger pour correspondre au type id() par défaut) $table->unsignedInteger('id_user'); $table->unsignedInteger('id_operator_country'); + $table->unsignedInteger('customer_account_type_id')->nullable()->comment('Type de compte : courant, épargne, etc.'); // Informations bancaires principales $table->string('account_number')->unique() ->nullable() ->comment('Numéro de compte bancaire attribué par la banque'); + $table->string('customer_number')->nullable()->comment('Code client'); $table->string('iban')->nullable()->comment('Numéro IBAN du compte si disponible'); - $table->string('account_type')->nullable()->comment('Type de compte : courant, épargne, etc.'); $table->decimal('balance', 20, 2)->default(0); $table->string('status')->default('pending')->comment('Statut du compte : pending, validated, active, rejected, closed'); $table->string('reason')->nullable()->comment('Raison ou message en cas de rejet ou erreur API'); @@ -48,7 +49,6 @@ class CreateUserBankAccountsTable extends Migration $table->string('identification_number')->nullable()->comment('Piece d\'identité nationale ou passeport'); - // Correction ici : la taille est le 2ème argument de string() $table->string('niu', 14)->nullable()->comment('Numéro d’identification unique'); $table->string('phone_number', 15)->nullable()->comment('numero de téléphone'); @@ -59,9 +59,9 @@ class CreateUserBankAccountsTable extends Migration $table->timestamps(); - // Ajout des clés étrangères directement dans le create (plus propre) $table->foreign('id_user')->references('id')->on('users')->onDelete('cascade'); $table->foreign('id_operator_country')->references('id')->on('operators_countries')->onDelete('cascade'); + $table->foreign('customer_account_type_id')->references('id')->on('customer_account_types')->onDelete('set null'); }); } diff --git a/database/migrations/2026_01_28_095708_add_network_id_to_customer_account_types_table.php b/database/migrations/2026_01_28_095708_add_network_id_to_customer_account_types_table.php new file mode 100755 index 0000000..369c3cf --- /dev/null +++ b/database/migrations/2026_01_28_095708_add_network_id_to_customer_account_types_table.php @@ -0,0 +1,41 @@ +string('product')->nullable()->after('name'); + $table->unsignedInteger('network_id')->after('id')->nullable(); + + $table->foreign('network_id', 'customer_account_types_network_id_foreign') + ->references('id') + ->on('networks') + ->onDelete('restrict'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('customer_account_types', function (Blueprint $table) { + $table->dropForeign('customer_account_types_network_id_foreign'); + $table->dropColumns('network_id','product'); + }); + } +} diff --git a/resources/lang/en/errors.php b/resources/lang/en/errors.php index 2ff3e80..2f95300 100755 --- a/resources/lang/en/errors.php +++ b/resources/lang/en/errors.php @@ -95,4 +95,6 @@ Paying network : :network :country', 'bank_api_exception' => 'An error occurred while creating the bank account', 'request_create_account_already_sended' => "A request to create a bank account has already been sent for this bank", 'user_not_found' => "User not found", + 'account_type_not_found' => "Account type not found", + ]; diff --git a/resources/lang/fr/errors.php b/resources/lang/fr/errors.php index 1064b1f..8952b3d 100755 --- a/resources/lang/fr/errors.php +++ b/resources/lang/fr/errors.php @@ -95,4 +95,5 @@ Réseau payeur : :network :country', 'bank_api_exception' => 'Une erreur est survenue lors de la création du compte bancaire', 'request_create_account_already_sended' => "Une demande de création de compte bancaire a déjà été envoyée pour cette banque", 'user_not_found' => "Utilisateur non trouvé", + 'account_type_not_found' => "Type de compte non trouvé", ]; diff --git a/resources/views/emails/bank_account_created.blade.php b/resources/views/emails/bank_account_created.blade.php index 37f5890..1c26696 100755 --- a/resources/views/emails/bank_account_created.blade.php +++ b/resources/views/emails/bank_account_created.blade.php @@ -6,6 +6,6 @@

Banque : {{ $bank_name }}

Statut : {{ ucfirst($bankAccount->status) }}

Nous vous informerons dès que le compte sera validé.

-

Merci,
L’équipe iLink World

+

Merci,
L’équipe SunEx by iLink World

diff --git a/routes/web.php b/routes/web.php index 4b4a0a4..ccdcdff 100755 --- a/routes/web.php +++ b/routes/web.php @@ -74,6 +74,7 @@ $router->group(['prefix' => '', 'middleware' => 'auth'], function () use ($route $router->post('link_bank_account', 'WalletController@linkBankAccount'); //Creation d'un compte bancaire (Agency Banking) $router->post('create_user_bank_account', 'WalletController@createUserBankAccount'); + $router->post('activate_user_bank_account', 'WalletController@activateUserBankAccount'); }); });