From 57ef47473bb9038e0646a79bd4126ff4f3ebae1a Mon Sep 17 00:00:00 2001 From: SamSys Date: Wed, 12 Nov 2025 16:24:06 +0330 Subject: [PATCH] changes --- .../Pages/Company/AndroidApk/Index.cshtml.cs | 21 +++++------ ServiceHost/Controllers/GeneralController.cs | 36 +++++++++++++++---- 2 files changed, 37 insertions(+), 20 deletions(-) diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index 80ea2b87..c418416b 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -83,20 +83,15 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk //CreateRewardForKebabMahdi().GetAwaiter().GetResult(); var result = await _onlinePayment.RequestAsync(invoices => - { - var callBack = Url.Action("Verify", "General", null, Request.Scheme); - invoices.SetAmount(10000) - .SetCallbackUrl(callBack) - .UseAutoRandomTrackingNumber() - .AddOrUpdateProperties(new Dictionary() - { - { "InvoiceID",Guid.NewGuid() }, - {"tested","1122"}, - {"payload",@"{'test':'tests'}"} - - - }).UseSepehr(); + { + var callBack = Url.Action("Verify", "General", null, Request.Scheme); + invoices.SetAmount(10000) + .SetCallbackUrl(callBack) + .UseAutoRandomTrackingNumber() + .AddOrUpdateProperty("payload","{fjksdklfjsd:hfjsdahjkasd}") + .UseSepehr(); }); + if (result.IsSucceed) { return result.GatewayTransporter.TransportToGateway(); diff --git a/ServiceHost/Controllers/GeneralController.cs b/ServiceHost/Controllers/GeneralController.cs index 40d43fa7..da6e2692 100644 --- a/ServiceHost/Controllers/GeneralController.cs +++ b/ServiceHost/Controllers/GeneralController.cs @@ -5,10 +5,14 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using ServiceHost.BaseControllers; using System.Globalization; +using System.Security.Cryptography; using _0_Framework.Application.PaymentGateway; using Microsoft.Extensions.Options; using CompanyManagment.App.Contracts.FinancialStatment; using CompanyManagment.App.Contracts.FinancilTransaction; +using CompanyManagment.App.Contracts.Workshop; +using Newtonsoft.Json; +using NuGet.Protocol; using Parbad; namespace ServiceHost.Controllers; @@ -52,18 +56,20 @@ public class GeneralController : GeneralBaseController [HttpGet("/api/callback"), HttpPost("/api/callback")] - public async Task Verify() + public async Task Verify(VerifySepehrTest res) { var invoice = await _onlinePayment.FetchAsync(); - string data = ""; - foreach (var keyValuePair in invoice.AdditionalData) - { - data += keyValuePair.Key + "=" + keyValuePair.Value + ";"; - } + var data = JsonConvert.SerializeObject(invoice.AdditionalData); + var statics = + JsonConvert.SerializeObject(res); await _onlinePayment.CancelAsync(invoice); - return Ok(data); + return new JsonResult(new + { + data, + statics + }); // Check if the invoice is new, or it's already processed before. if (invoice.Status != PaymentFetchResultStatus.ReadyForVerifying) @@ -166,4 +172,20 @@ public class GeneralController : GeneralBaseController } +} + +public class VerifySepehrTest +{ + public long terminalid { get; set; } + public string invoiceid { get; set; } + public long amount { get; set; } + public string cardnumber { get; set; } + public string payload { get; set; } + public string rrn { get; set; } + public string tracenumber { get; set; } + public string digitalreceipt { get; set; } + public string datepaid { get; set; } + public string respcode{ get; set; } + public string respmsg { get; set; } + public string issuerbank { get; set; } } \ No newline at end of file