diff --git a/CustomerOnlineV2/CustomerOnlineV2.Business/Business/RegisterBusiness/IRegisterBusiness.cs b/CustomerOnlineV2/CustomerOnlineV2.Business/Business/RegisterBusiness/IRegisterBusiness.cs index 305c725..ab6ea86 100644 --- a/CustomerOnlineV2/CustomerOnlineV2.Business/Business/RegisterBusiness/IRegisterBusiness.cs +++ b/CustomerOnlineV2/CustomerOnlineV2.Business/Business/RegisterBusiness/IRegisterBusiness.cs @@ -15,8 +15,6 @@ namespace CustomerOnlineV2.Business.Business.RegisterBusiness { Task AddCustomers(OnlineCustomerRegisterModel register); Task GetAddressList(AddressRequest addressRequest); - // Task GetTranCustomerById(string id); - //Task GetCustomerDetailById(LoginResponse loginDetails); Task GetTranCustomerById(LoginResponse loginDetails); Task UpdateCustomers(CustomerListModel customer, string Id); //Task UpdateCustomers(CustomerListModel customer, string id); diff --git a/CustomerOnlineV2/CustomerOnlineV2.Common/Models/TransactionModel/ExrateResponse.cs b/CustomerOnlineV2/CustomerOnlineV2.Common/Models/TransactionModel/ExrateResponse.cs index 34a9a83..d715587 100644 --- a/CustomerOnlineV2/CustomerOnlineV2.Common/Models/TransactionModel/ExrateResponse.cs +++ b/CustomerOnlineV2/CustomerOnlineV2.Common/Models/TransactionModel/ExrateResponse.cs @@ -1,4 +1,5 @@ -namespace CustomerOnlineV2.Common.Models.TransactionModel +using CustomerOnlineV2.Common.Models.ReceiverModel; +namespace CustomerOnlineV2.Common.Models.TransactionModel { public class ExrateResponse : CommonResponse { @@ -190,8 +191,11 @@ { public string? ControlNo { get; set; } public string? CollectAmount { get; set; } + public string? TransferAmount { get; set; } public string? CollectCurrency { get; set; } public string? ReceiverName { get; set; } + public string? SenderName { get; set; } + public string? PCountry { get; set; } public string? TransactionId { get; set; } } @@ -219,13 +223,32 @@ public string? TotalToPay { get; set; } public string? PaidBy { get; set; } public string? PCountry { get; set; } + public string? Zipcode { get; set; } + public string? Firstname { get; set; } + public string? Lastname1 { get; set; } + + public string? Address { get; set; } public string? Mobile { get; set; } public string? City { get; set; } + public string? RecFirstName { get; set; } + public string? RecMiddleName { get; set; } + public string? RecLastName { get; set; } + } + + public class TranDataModel : ReceiverInformationModel + { + public string? ErrorCode { get; set; } + public string? OrderReference { get; set; } + public string? paymenttypedescription { get; set; } + public string? requestreference { get; set; } + public string? responsesitesecurity { get; set; } + public string? sitereference { get; set; } + public string? transactionreference { get; set; } } } diff --git a/CustomerOnlineV2/CustomerOnlineV2.Common/Models/TransactionModel/TrustPaymentRequest.cs b/CustomerOnlineV2/CustomerOnlineV2.Common/Models/TransactionModel/TrustPaymentRequest.cs index 5ee78ab..e32b9b4 100644 --- a/CustomerOnlineV2/CustomerOnlineV2.Common/Models/TransactionModel/TrustPaymentRequest.cs +++ b/CustomerOnlineV2/CustomerOnlineV2.Common/Models/TransactionModel/TrustPaymentRequest.cs @@ -1,4 +1,5 @@ -using System; +using CustomerOnlineV2.Common.Models.ReceiverModel; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,7 +7,7 @@ using System.Threading.Tasks; namespace CustomerOnlineV2.Common.Models.TransactionModel { - public class TrustPaymentRequest + public class TrustPaymentRequest: ReceiverInformationModel { public string? sitereference { get; set; } public string? stprofile { get; set; } @@ -39,5 +40,17 @@ namespace CustomerOnlineV2.Common.Models.TransactionModel public string? ruleidentifier { get; set; } public string? merchantemail { get; set; } + public string? securityCode { get; set; } + public string? transactionreference { get; set; } + public string? errorcode { get; set; } + public string? createddate { get; set; } + public string? tranId { get; set; } + public string? settlestatus { get; set; } + public string? paymenttypedescription { get; set; } + public string? requestreference { get; set; } + public string? responsesitesecurity { get; set; } + public string? title { get; set; } + + public string? token { get; set; } } } diff --git a/CustomerOnlineV2/CustomerOnlineV2/Controllers/TransactionController.cs b/CustomerOnlineV2/CustomerOnlineV2/Controllers/TransactionController.cs index 44872cb..6b15409 100644 --- a/CustomerOnlineV2/CustomerOnlineV2/Controllers/TransactionController.cs +++ b/CustomerOnlineV2/CustomerOnlineV2/Controllers/TransactionController.cs @@ -117,7 +117,7 @@ namespace CustomerOnlineV2.Controllers _request.billingstreet = _tranresponse.Address; _request.billingpostcode = _tranresponse.Zipcode; _request.billingtown = _tranresponse.City; - // _request.billingtelephone = _tranresponse.Mobile; + _request.billingtelephone = _tranresponse.Mobile; _request.billingcountryiso2a = "GB"; _request.customerpremise = _tranresponse.City; @@ -150,12 +150,33 @@ namespace CustomerOnlineV2.Controllers _request.sitesecurity = $"h{builder.ToString()}"; _logger.LogInformation($"Payment | RESPONSE | {JsonConvert.SerializeObject(_request)}"); + var _response = await _transactionBusiness.SaveTranData(_request, loginDetails); } return View(_request); } public async Task TranPaySuccess() { - return View(); + var errorCode = Request.Query["errorcode"]; + var orderReference = Request.Query["orderreference"]; + var paymentTypeDescription = Request.Query["paymenttypedescription"]; + var requestReference = Request.Query["requestreference"]; + var responseSiteSecurity = Request.Query["responsesitesecurity"]; + var settleStatus = Request.Query["settlestatus"]; + var siteReference = Request.Query["sitereference"]; + var transactionReference = Request.Query["transactionreference"]; + var _request = new TrustPaymentRequest + { + errorcode = errorCode.ToString(), + orderreference = orderReference.ToString(), + paymenttypedescription = paymentTypeDescription.ToString(), + requestreference = requestReference.ToString(), + responsesitesecurity = responseSiteSecurity.ToString(), + settlestatus = settleStatus.ToString(), + transactionreference = transactionReference.ToString() + }; + var loginDetails = HttpContext.GetLoginDetails(); + var _response = await _transactionBusiness.SaveTranData(_request, loginDetails); + return View(_request); } public async Task TranDecline() diff --git a/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/Payment.cshtml b/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/Payment.cshtml index 1b11b99..9780048 100644 --- a/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/Payment.cshtml +++ b/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/Payment.cshtml @@ -70,7 +70,8 @@ - + + @Html.AntiForgeryToken() diff --git a/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/SendMoney.cshtml b/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/SendMoney.cshtml index 826a433..bbe1798 100644 --- a/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/SendMoney.cshtml +++ b/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/SendMoney.cshtml @@ -455,6 +455,7 @@ }, async: true, success: function (response) { + debugger EnableSendButton(); if (response.responseCode != 0) { ShowAlertMessage(response.responseCode, response.responseMessage); @@ -462,7 +463,13 @@ } // window.location.replace("/Transaction/Success?id=" + response.transactionId); + // window.location.replace("/Transaction/Payment?id=" + response.transactionId); + var selectedSchemeId = $('#SchemeId').val(); + if (selectedSchemeId === 'DEBIT_CARD') { window.location.replace("/Transaction/Payment?id=" + response.transactionId); + } else { + window.location.replace("/Transaction/Success?id=" + response.transactionId); + } }, error: function () { return null; diff --git a/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/Success.cshtml b/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/Success.cshtml index 2b3908e..e9434b7 100644 --- a/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/Success.cshtml +++ b/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/Success.cshtml @@ -14,15 +14,73 @@
-
-
-

-

Success!

-

Transactions Complete

+
+
+ +

Your Transaction is succesfully created! Print

+ + @*

Transactions Complete

*@ +
+
+

Thank you @Model.SenderName for sending transaction with us.

+

Your Transaction ID is @Model.TransactionId (This is not a Reference No)

+

Your transaction to @Model.PCountry for @CustomerOnlineV2.Common.Helper.Utilities.ShowDecimal(Model.TransferAmount) @Model.CollectCurrency is in progress. You will receive an email regarding the transfer update shortly.

+

Please log-in your personal online banking and transfer funds directly to our accounts

+ @*

You've Succesfully sent @CustomerOnlineV2.Common.Helper.Utilities.ShowDecimal(Model.CollectAmount) @Model.CollectCurrency to @Model.ReceiverName, See transaction details under Transactions Details

*@ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Bank Name:   + CLEAR BANK +
+
+ Account Name:   + IME LONDON +
+
+ Sort Code:   + 04-6-93 +
+
+ Account Number:   + 00000151 +
+
+ Total To Pay:   + @CustomerOnlineV2.Common.Helper.Utilities.ShowDecimal(Model.CollectAmount) @Model.CollectCurrency +
+
+ Reference:   + @Model.SenderName +
+
-

You've Succesfully sent @CustomerOnlineV2.Common.Helper.Utilities.ShowDecimal(Model.CollectAmount) @Model.CollectCurrency to @Model.ReceiverName, See transaction details under Transactions Details

- Print +
diff --git a/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/TranPaySuccess.cshtml b/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/TranPaySuccess.cshtml index 212f4f8..8087451 100644 --- a/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/TranPaySuccess.cshtml +++ b/CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/TranPaySuccess.cshtml @@ -1,5 +1,6 @@ @{ Layout = null; + } @@ -32,12 +33,16 @@
+

Success!

Transaction Payment Complete

+ + +
- @*

You've Succesfully sent @CustomerOnlineV2.Common.Helper.Utilities.ShowDecimal(Model.CollectAmount) @Model.CollectCurrency to @Model.ReceiverName, See transaction details under Transactions Details

*@ + < class="text-3 mb-4">You've Succesfully sent @CustomerOnlineV2.Common.Helper.Utilities.ShowDecimal(Model.CollectAmount) @Model.CollectCurrency to @Model.ReceiverName, See transaction details under Transactions Details

@@ -47,4 +52,9 @@
- \ No newline at end of file + + \ No newline at end of file diff --git a/DB/mobile_proc_online_customerMaster_V1.sql b/DB/mobile_proc_online_customerMaster_V1.sql new file mode 100644 index 0000000..c1ab2bd --- /dev/null +++ b/DB/mobile_proc_online_customerMaster_V1.sql @@ -0,0 +1,184 @@ +ALTER PROC mobile_proc_online_customerMaster_V1 ( + --EXEC mobile_proc_online_customerMaster_V1 @flag='detail',@customerId='3' + @flag VARCHAR(20) + ,@customerId VARCHAR(100) = NULL + ,@username VARCHAR(100) = NULL + ,@postalCode VARCHAR(100) = NULL + ,@address1 NVARCHAR(200) = NULL + ,@address2 NVARCHAR(200) = NULL + ,@city VARCHAR(100) = NULL + ,@idType VARCHAR(100) = NULL + ,@idTypeNumber VARCHAR(100) = NULL + ,@idIssuingCountry VARCHAR(5) = NULL + ,@idStartDate VARCHAR(20) = NULL + ,@idEndDate VARCHAR(20) = NULL + ) +AS + ; + +SET NOCOUNT ON; +SET XACT_ABORT ON; + +BEGIN + IF @flag = 'detail' + BEGIN + --ID TYPE + SELECT valueId AS id + ,detailTitle AS [text] + ,isBackRequired = CASE sv.valueId + WHEN '10997' + THEN 0 + ELSE 1 + END + INTO #ID_TYPE + FROM countryIdType CID WITH (NOLOCK) + INNER JOIN staticDataValue SV WITH (NOLOCK) ON CID.IdTypeId = SV.valueId + WHERE ISNULL(SV.ISActive, 'Y') = 'Y' + AND ISNULL(isDeleted, 'N') <> 'Y' + AND COUNTRYID = 233 + + IF EXISTS ( + SELECT 'x' + FROM dbo.customerMasterTemp(NOLOCK) + WHERE customerId = @customerId + ) + BEGIN + SELECT TOP 1 cmt.firstName + ,fullName + ,gender = CASE + WHEN gender = 97 + THEN 'M' + WHEN gender = 98 + THEN 'F' + ELSE NULL + END + ,idType = CASE + WHEN ID.ID = '11402' + THEN CMT.otherIdNumber + ELSE CAST(ID.id AS VARCHAR) + END + ,CONVERT(VARCHAR(10), dob, 120) AS dob + ,email AS email + ,mobile + ,city + ,address address1 + ,additionalAddress address2 + ,nativeCountry + ,cm.countryCode nativeCountryCode + ,idNumber AS passportNumber + ,cmt.idIssueDate + ,cmt.idExpiryDate + ,idIssueCountry + ,KycStatus = ISNULL(verificationCode, 'NOT_COMPLETED') + ,KycStatusMsg = CASE verificationCode + WHEN 'NOT_COMPLETED' + THEN 'Not Completed' + WHEN 'PROCESSING' + THEN 'ID Document Submission is in Processing' + WHEN 'COMPLETED' + THEN 'KYC Completed' + ELSE 'NOT COMPLETED' + END + FROM dbo.customerMasterTEMP(NOLOCK) cmt + LEFT JOIN #ID_TYPE ID ON ID.id = cmt.idType + LEFT JOIN dbo.countryMaster(NOLOCK) cm ON cm.countryId = cmt.nativeCountry + WHERE customerId = @customerId + END + ELSE + BEGIN + SELECT TOP 1 cmt.firstName + ,fullName + ,gender = CASE + WHEN gender = 97 + THEN 'M' + WHEN gender = 98 + THEN 'F' + ELSE NULL + END + ,idType = CASE + WHEN ID.ID = '11402' + THEN CMT.otherIdNumber + ELSE CAST(ID.id AS VARCHAR) + END + ,CONVERT(VARCHAR(10), dob, 120) AS dob + ,email AS email + ,mobile + ,city + ,address address1 + ,additionalAddress address2 + ,nativeCountry + ,cm.countryCode nativeCountryCode + ,idNumber AS passportNumber + ,cmt.idIssueDate + ,cmt.idExpiryDate + ,idIssueCountry + ,KycStatus = ISNULL(verificationCode, 'NOT_COMPLETED') + ,KycStatusMsg = CASE verificationCode + WHEN 'NOT_COMPLETED' + THEN 'Not Completed' + WHEN 'PROCESSING' + THEN 'ID Document Submission is in Processing' + WHEN 'COMPLETED' + THEN 'KYC Completed' + ELSE 'NOT COMPLETED' + END + FROM dbo.customerMaster(NOLOCK) cmt + LEFT JOIN #ID_TYPE ID ON ID.id = cmt.idType + LEFT JOIN dbo.countryMaster(NOLOCK) cm ON cm.countryId = cmt.nativeCountry + WHERE customerId = @customerId + END + END + + IF @flag = 'update-id-Kyc' + BEGIN + IF EXISTS ( + SELECT 'X' + FROM dbo.customerMasterTemp(NOLOCK) + WHERE customerId = @customerId + ) + BEGIN + UPDATE dbo.customerMasterTemp + SET idType = ISNULL(@idType, idType) + ,idNumber = ISNULL(@idTypeNumber, idNumber) + ,idExpiryDate = ISNULL(@idEndDate, idExpiryDate) + ,idIssueDate = ISNULL(@idStartDate, idIssueDate) + ,idIssueCountry = ISNULL(@idIssuingCountry, idIssueCountry) + WHERE username = @userName + END + ELSE + BEGIN + UPDATE dbo.customerMaster + SET idType = ISNULL(@idType, idType) + ,idNumber = ISNULL(@idTypeNumber, idNumber) + ,idExpiryDate = ISNULL(@idEndDate, idExpiryDate) + ,idIssueDate = ISNULL(@idStartDate, idIssueDate) + ,idIssueCountry = ISNULL(@idIssuingCountry, idIssueCountry) + WHERE username = @userName + END + END + IF @flag = 'update-address' + BEGIN + IF EXISTS ( + SELECT 'X' + FROM dbo.customerMasterTemp(NOLOCK) + WHERE customerId = @customerId + ) + BEGIN + UPDATE dbo.customerMasterTemp + SET zipCode = ISNULL(@postalCode, zipCode) + ,address = ISNULL(@address1, address) + ,ADDITIONALADDRESS = ISNULL(@address2, ADDITIONALADDRESS) + ,city = ISNULL(@city, city) + WHERE customerId = @customerId + END + ELSE + BEGIN + UPDATE dbo.customerMaster + SET zipCode = ISNULL(@postalCode, zipCode) + ,address = ISNULL(@address1, address) + ,ADDITIONALADDRESS = ISNULL(@address2, ADDITIONALADDRESS) + ,city = ISNULL(@city, city) + WHERE customerId = @customerId + END + END +END