diff --git a/src/CMSMicroservice.Application/Common/Interfaces/IKavenegarService.cs b/src/CMSMicroservice.Application/Common/Interfaces/IKavenegarService.cs
index a8982bc..b0d841d 100644
--- a/src/CMSMicroservice.Application/Common/Interfaces/IKavenegarService.cs
+++ b/src/CMSMicroservice.Application/Common/Interfaces/IKavenegarService.cs
@@ -13,5 +13,10 @@ public interface IKavenegarService
///
/// ارسال پیامک با قالب (VerifyLookup)
///
- Task VerifyLookupAsync(string mobile, string token, string template = "Afrino");
+ Task VerifyLookupAsync(string mobile, string token, string template = "OTP");
+
+ ///
+ /// ارسال پیامک با قالب و توکن دوم (VerifyLookup) — مثلاً برای قراردادها
+ ///
+ Task VerifyLookupAsync(string mobile, string token, string token2, string template);
}
diff --git a/src/CMSMicroservice.Application/OtpTokenCQ/EventHandlers/CreateNewOtpTokenEventHandlers/CreateNewOtpTokenEventHandler.cs b/src/CMSMicroservice.Application/OtpTokenCQ/EventHandlers/CreateNewOtpTokenEventHandlers/CreateNewOtpTokenEventHandler.cs
index 9a571c4..e695a18 100644
--- a/src/CMSMicroservice.Application/OtpTokenCQ/EventHandlers/CreateNewOtpTokenEventHandlers/CreateNewOtpTokenEventHandler.cs
+++ b/src/CMSMicroservice.Application/OtpTokenCQ/EventHandlers/CreateNewOtpTokenEventHandlers/CreateNewOtpTokenEventHandler.cs
@@ -26,12 +26,12 @@ public class CreateNewOtpTokenEventHandler : INotificationHandler
- public async Task VerifyLookupAsync(string mobile, string token, string template = "Afrino")
+ public async Task VerifyLookupAsync(string mobile, string token, string template = "OTP")
{
if (!_smsSettings.Enabled)
{
@@ -106,4 +106,41 @@ public class KavenegarService : IKavenegarService
throw;
}
}
+
+ ///
+ public async Task VerifyLookupAsync(string mobile, string token, string token2, string template)
+ {
+ if (!_smsSettings.Enabled)
+ {
+ _logger.LogInformation("SMS is disabled. Skipping VerifyLookup to {Mobile}", mobile);
+ return;
+ }
+
+ if (_kavenegarApi == null)
+ {
+ _logger.LogWarning("⚠️ Kavenegar API not initialized, cannot send VerifyLookup");
+ return;
+ }
+
+ try
+ {
+ await Task.Run(() =>
+ {
+ var result = _kavenegarApi.VerifyLookup(
+ receptor: mobile,
+ token: token,
+ token2: token2,
+ token3: "",
+ template: template);
+
+ _logger.LogInformation("📱 VerifyLookup SMS sent to {Mobile} with template {Template} (token2), MessageId: {MessageId}",
+ mobile, template, result.Messageid);
+ });
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "❌ Kavenegar error sending VerifyLookup to {Mobile}: {Message}", mobile, ex.Message);
+ throw;
+ }
+ }
}
diff --git a/src/CMSMicroservice.WebApi/appsettings.Staging.json b/src/CMSMicroservice.WebApi/appsettings.Staging.json
index c8e1395..470741b 100644
--- a/src/CMSMicroservice.WebApi/appsettings.Staging.json
+++ b/src/CMSMicroservice.WebApi/appsettings.Staging.json
@@ -44,7 +44,7 @@
"Sms": {
"Enabled": true,
"Provider": "Kavenegar",
- "KavenegarApiKey": "497263626F32626A48685A6137524C4F78575A766E4C74694A556B79317648424964655030682B554545413D",
+ "KavenegarApiKey": "43676A4E786A6C50452F2F6252507939346A5145764B33566B456454374E657A614468706658656D6534593D",
"Sender": "1000001110100"
},
"DayaPayment": {
diff --git a/src/CMSMicroservice.WebApi/appsettings.json b/src/CMSMicroservice.WebApi/appsettings.json
index d4f558b..29d144a 100644
--- a/src/CMSMicroservice.WebApi/appsettings.json
+++ b/src/CMSMicroservice.WebApi/appsettings.json
@@ -51,7 +51,7 @@
"Sms": {
"Enabled": true,
"Provider": "Kavenegar",
- "KavenegarApiKey": "497263626F32626A48685A6137524C4F78575A766E4C74694A556B79317648424964655030682B554545413D",
+ "KavenegarApiKey": "43676A4E786A6C50452F2F6252507939346A5145764B33566B456454374E657A614468706658656D6534593D",
"Sender": "1000001110100"
},
"DayaPayment": {