send mail to user after he makes request to open bank account

This commit is contained in:
root 2025-11-14 12:20:10 +01:00
parent 78ff205779
commit 9ebc87f170
4 changed files with 60 additions and 1 deletions

View File

@ -15,6 +15,9 @@ use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use App\Notifications\BankAccountCreated;
use App\Mail\BankAccountCreatedMail;
use Illuminate\Support\Facades\Mail;
class WalletController extends Controller
{
@ -734,6 +737,7 @@ INNER JOIN countries c ON oc.id_country = c.id INNER JOIN type_operators top ON
$bankAccount->created_at = date('Y-m-d H:i:s');
$bankAccount->updated_at = date('Y-m-d H:i:s');
$bankAccount->save();
$bank_name = $network_bank->operators_country->operator->nom;
// Envoi des informations à la banque partenaire (via API)
// $payload = [
@ -770,6 +774,9 @@ INNER JOIN countries c ON oc.id_country = c.id INNER JOIN type_operators top ON
$bankAccount->save();
Log::info('Réponse API Banque: Compte bancaire créé avec succès');
Mail::to($user->email)->send(new BankAccountCreatedMail($bankAccount, $bank_name, $user));
Log::info('Mail envoyé à lutilisateur : ' . $user->email);
} catch (\Exception $e) {
$bankAccount->status = 'rejected';
$bankAccount->reason = $e->getMessage();

View File

@ -0,0 +1,41 @@
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class BankAccountCreatedMail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
protected $bankAccount;
protected $bank_name;
protected $user;
public function __construct($bankAccount, $bank_name, $user)
{
$this->bankAccount = $bankAccount;
$this->bank_name = $bank_name;
$this->user = $user;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->subject('Création de compte bancaire en attente de validation')
->view('emails.bank_account_created')
->with(['bankAccount' => $this->bankAccount, 'bank_name' => $this->bank_name, 'user' => $this->user]);
}
}

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="fr">
<body>
<h2>Bonjour {{ $user->lastname ?? '' }},</h2>
<p>Votre demande de création de compte bancaire a été enregistrée avec succès.</p>
<p><strong>Banque :</strong> {{ $bank_name }}</p>
<p><strong>Statut :</strong> {{ ucfirst($bankAccount->status) }}</p>
<p>Nous vous informerons dès que le compte sera validé.</p>
<p>Merci,<br>Léquipe iLink World</p>
</body>
</html>

View File

@ -72,7 +72,7 @@ $router->group(['prefix' => '', 'middleware' => 'auth'], function () use ($route
$router->get('operators/{type}/{id_wallet_network}', 'WalletController@getWalletOperators');
$router->get('banks_for_link/{id_wallet_network}', 'WalletController@getBanksInNetworkForLink');
$router->post('link_bank_account', 'WalletController@linkBankAccount');
//Creation d'un compte bancaire utilisateur (Agency Banking)
//Creation d'un compte bancaire (Agency Banking)
$router->post('create_user_bank_account', 'WalletController@createUserBankAccount');
});
});