This commit is contained in:
SamSys
2025-11-12 16:24:06 +03:30
parent 8bd248c6a7
commit 57ef47473b
2 changed files with 37 additions and 20 deletions

View File

@@ -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<string, object>()
{
{ "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();

View File

@@ -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<IActionResult> Verify()
public async Task<IActionResult> 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; }
}