Merge branch 'master' of https://github.com/samsyntax24/OriginalGozareshgir
This commit is contained in:
@@ -8,7 +8,7 @@ public class CreateFinancialInvoice
|
||||
public double Amount { get; set; }
|
||||
public long ContractingPartyId { get; set; }
|
||||
public string Description { get; set; }
|
||||
public List<CreateFinancialInvoiceItem>? Items { get; set; }
|
||||
public List<CreateFinancialInvoiceItem> Items { get; set; }
|
||||
}
|
||||
|
||||
public class CreateFinancialInvoiceItem
|
||||
|
||||
@@ -10,7 +10,8 @@ public class EditFinancialInvoice
|
||||
public double Amount { get; set; }
|
||||
public FinancialInvoiceStatus Status { get; set; }
|
||||
|
||||
public List<EditFinancialInvoiceItem>? Items { get; set; }
|
||||
public List<EditFinancialInvoiceItem> Items { get; set; }
|
||||
public long ContractingPartyId { get; set; }
|
||||
}
|
||||
|
||||
public class EditFinancialInvoiceItem
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using CompanyManagment.App.Contracts.SepehrPaymentGateway;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.FinancialStatment;
|
||||
|
||||
@@ -62,7 +63,17 @@ public interface IFinancialStatmentApplication
|
||||
/// <returns></returns>
|
||||
Task<FinancialStatmentDetailsByContractingPartyViewModel> GetDetailsByContractingParty(long contractingPartyId,
|
||||
FinancialStatementSearchModel searchModel);
|
||||
|
||||
/// <summary>
|
||||
/// پردازش شارژ حساب از طریق درگاه پرداخت سپهر
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="gateWayCallBackUrl">مسیر برگشت درگاه پرداخت</param>
|
||||
///
|
||||
Task<OperationResult<CreateSepehrPaymentGatewayResponse>> CreatePaymentGateWayAndCreateInvoice(
|
||||
CreateFinancialPayRequest request, string gateWayCallBackUrl);
|
||||
}
|
||||
public record CreateFinancialPayRequest(long Id, string BaseUrl);
|
||||
|
||||
public class FinancialStatmentDetailsByContractingPartyViewModel
|
||||
{
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
using _0_Framework.Application;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.PaymentCallback;
|
||||
|
||||
/// <summary>
|
||||
/// رابط برای مدیریت Callback درگاههای پرداخت
|
||||
/// </summary>
|
||||
public interface IPaymentCallbackHandler
|
||||
{
|
||||
/// <summary>
|
||||
/// تأیید و پردازش callback درگاه پرداخت سپهر
|
||||
/// </summary>
|
||||
/// <param name="command">دادههای callback درگاه</param>
|
||||
/// <param name="cancellationToken">توکن لغو عملیات</param>
|
||||
/// <returns>نتیجه عملیات</returns>
|
||||
Task<OperationResult> VerifySepehrPaymentCallback(VerifyPaymentCallbackCommand command,
|
||||
CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
namespace CompanyManagment.App.Contracts.PaymentCallback;
|
||||
|
||||
/// <summary>
|
||||
/// دستور تأیید callback درگاه پرداخت
|
||||
/// </summary>
|
||||
public class VerifyPaymentCallbackCommand
|
||||
{
|
||||
/// <summary>
|
||||
/// کد پاسخ درگاه (0 = موفق)
|
||||
/// </summary>
|
||||
public int ResponseCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه فاکتور/تراکنش
|
||||
/// </summary>
|
||||
public long InvoiceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// دادههای اضافی JSON
|
||||
/// </summary>
|
||||
public string Payload { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ تراکنش
|
||||
/// </summary>
|
||||
public long Amount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره پیگیری درگاه
|
||||
/// </summary>
|
||||
public long TraceNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره سند بانکی (RRN)
|
||||
/// </summary>
|
||||
public long Rrn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// رسید دیجیتال
|
||||
/// </summary>
|
||||
public string DigitalReceipt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// بانک صادر کننده کارت
|
||||
/// </summary>
|
||||
public string IssuerBank { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره کارت
|
||||
/// </summary>
|
||||
public string CardNumber { get; set; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace CompanyManagment.App.Contracts.SepehrPaymentGateway;
|
||||
|
||||
/// <summary>
|
||||
/// پاسخ ایجاد درگاه پرداخت سپهر
|
||||
/// </summary>
|
||||
public class CreateSepehrPaymentGatewayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// توکن درگاه
|
||||
/// </summary>
|
||||
public string Token { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه تراکنش
|
||||
/// </summary>
|
||||
public long TransactionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// URL درگاه پرداخت
|
||||
/// </summary>
|
||||
public string PaymentUrl { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using _0_Framework.Application;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.SepehrPaymentGateway;
|
||||
|
||||
/// <summary>
|
||||
/// رابط برای سرویس مشترک ایجاد درگاه پرداخت سپهر
|
||||
/// </summary>
|
||||
public interface ISepehrPaymentGatewayService
|
||||
{
|
||||
/// <summary>
|
||||
/// ایجاد درگاه پرداخت سپهر برای یک تراکنش
|
||||
/// </summary>
|
||||
/// <param name="amount">مبلغ</param>
|
||||
/// <param name="contractingPartyId">شناسه طرف قرارداد</param>
|
||||
/// <param name="frontCallbackUrl">آدرس بازگشتی به فرانت برای نمایش نتیجه</param>
|
||||
/// <param name="gatewayCallbackUrl">آدرس بازگشتی درگاه پرداخت</param>
|
||||
/// <param name="financialInvoiceId">شناسه فاکتور مالی (اختیاری) - این پارامتر مستقیماً به درگاه فرستاده میشود</param>
|
||||
/// <param name="extraData">دادههای اضافی سفارشی برای payload (اختیاری)</param>
|
||||
/// <param name="cancellationToken">توکن لغو</param>
|
||||
/// <returns>شامل Token درگاه یا OperationResult با خطا</returns>
|
||||
Task<OperationResult<CreateSepehrPaymentGatewayResponse>> CreateSepehrPaymentGateway(
|
||||
double amount,
|
||||
long contractingPartyId,
|
||||
long financialInvoiceId,
|
||||
string gatewayCallbackUrl,
|
||||
string frontCallbackUrl="https://client.gozareshgir.ir",
|
||||
Dictionary<string, object> extraData = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in New Issue
Block a user