public async Task <SmsResponse> SendOtpSms(string mobileNumber) { var validityPeriod = _configuration.GetValue <int>("OTPSettings:ValidityPeriod"); var code = Utilities.Helpers.GenerateRandom4DigitNumber(); var message = ConstructOtpMessage(mobileNumber, code, validityPeriod); await VerifyBalance(); await _clickatellBroker.SendSms(message); return(new SmsResponse() { Code = code, ValidityPeriod = validityPeriod }); }
public async Task GenerateAndSendOtpAsync(string mobileNumber, Wallet wallet) { var expiryTime = _configuration.GetValue <int>("OTPSettings:ValidityPeriod"); var code = Utilities.Helpers.GenerateRandom4DigitNumber(); var message = ConstructMessage(mobileNumber, code, expiryTime, wallet); await _clickatellBroker.SendSms(message); await SaveOtpAsync(mobileNumber, code, expiryTime, wallet); }