From 54e5904951be682f3edd9b30eeb43556477a633c Mon Sep 17 00:00:00 2001 From: mahan Date: Thu, 25 Dec 2025 15:11:27 +0330 Subject: [PATCH] add from form to verify gateway --- ServiceHost/Controllers/GeneralController.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/ServiceHost/Controllers/GeneralController.cs b/ServiceHost/Controllers/GeneralController.cs index 455c60b4..4854bd4c 100644 --- a/ServiceHost/Controllers/GeneralController.cs +++ b/ServiceHost/Controllers/GeneralController.cs @@ -75,7 +75,7 @@ public class GeneralController : GeneralBaseController } [HttpGet("/api/callback"), HttpPost("/api/callback")] - public async Task Verify(SepehrGatewayPayResponse payResponse) + public async Task Verify([FromForm]SepehrGatewayPayResponse payResponse) { if (!long.TryParse(payResponse.invoiceid, out var paymentTransactionId)) { @@ -133,7 +133,12 @@ public class GeneralController : GeneralBaseController DigitalReceipt = payResponse.digitalreceipt }; + var verifyRes = await _paymentGateway.Verify(verifyCommand, CancellationToken.None); +#if DEBUG + verifyRes.IsSuccess = true; +#endif + _financialInvoiceApplication.SetPaid(financialInvoiceId, DateTime.Now); if (verifyRes.IsSuccess) @@ -158,14 +163,18 @@ public class GeneralController : GeneralBaseController payResponse.cardnumber, payResponse.issuerbank, payResponse.rrn.ToString(), payResponse.digitalreceipt); - if (financialInvoice.Items?.Any(x => x.Type is FinancialInvoiceItemType.BuyInstitutionContract or FinancialInvoiceItemType.BuyInstitutionContractInstallment) ?? false) + if (financialInvoice.Items?.Any(x => + x.Type is FinancialInvoiceItemType.BuyInstitutionContract + or FinancialInvoiceItemType.BuyInstitutionContractInstallment) ?? false) { var financialItems = financialInvoice.Items .Where(x => x.Type == FinancialInvoiceItemType.BuyInstitutionContract); foreach (var editFinancialInvoiceItem in financialItems) { - await _institutionContractApplication.SetPendingWorkflow(editFinancialInvoiceItem.EntityId,InstitutionContractSigningType.OtpBased); + await _institutionContractApplication.SetPendingWorkflow(editFinancialInvoiceItem.EntityId, + InstitutionContractSigningType.OtpBased); } + var financialInstallmentItems = financialInvoice.Items .Where(x => x.Type == FinancialInvoiceItemType.BuyInstitutionContractInstallment); @@ -174,7 +183,8 @@ public class GeneralController : GeneralBaseController var institutionContractId = await _institutionContractApplication.GetIdByInstallmentId( editFinancialInvoiceItem.EntityId); - await _institutionContractApplication.SetPendingWorkflow(institutionContractId,InstitutionContractSigningType.OtpBased); + await _institutionContractApplication.SetPendingWorkflow(institutionContractId, + InstitutionContractSigningType.OtpBased); } }