feat: add base package payment initiation and verification

This commit is contained in:
masoodafar-web
2025-12-16 02:34:22 +03:30
parent b4e41163ec
commit 63f05e0883
12 changed files with 469 additions and 5 deletions
@@ -1,10 +1,41 @@
using FrontOffice.BFF.Package.Protobuf.Protos.Package;
using FrontOffice.BFF.Application.PackageCQ.Commands.InitiateBasePackagePayment;
using FrontOffice.BFF.Application.PackageCQ.Commands.VerifyBasePackagePayment;
namespace FrontOffice.BFF.WebApi.Common.Mappings;
public class PackageProfile : IRegister
{
void IRegister.Register(TypeAdapterConfig config)
{
//config.NewConfig<Source,Destination>()
// .Map(dest => dest.FullName, src => $"{src.Firstname} {src.Lastname}");
// InitiateBasePackagePayment
// UserId از CurrentUserService گرفته می‌شود، نه از Request
config.NewConfig<InitiateBasePackagePaymentRequest, InitiateBasePackagePaymentCommand>()
.Map(dest => dest.CallbackUrl, src => src.CallbackUrl);
config.NewConfig<InitiateBasePackagePaymentResponseDto, InitiateBasePackagePaymentResponse>()
.Map(dest => dest.Success, src => src.Success)
.Map(dest => dest.Message, src => src.Message)
.Map(dest => dest.OrderId, src => src.OrderId)
.Map(dest => dest.TransactionId, src => src.TransactionId)
.Map(dest => dest.Amount, src => src.Amount)
.Map(dest => dest.PaymentGatewayUrl, src => src.PaymentGatewayUrl)
.Map(dest => dest.Authority, src => src.Authority);
// VerifyBasePackagePayment
config.NewConfig<VerifyBasePackagePaymentRequest, VerifyBasePackagePaymentCommand>()
.Map(dest => dest.OrderId, src => src.OrderId)
.Map(dest => dest.TransactionId, src => src.TransactionId)
.Map(dest => dest.Authority, src => src.Authority)
.Map(dest => dest.Status, src => src.Status);
config.NewConfig<VerifyBasePackagePaymentResponseDto, VerifyBasePackagePaymentResponse>()
.Map(dest => dest.Success, src => src.Success)
.Map(dest => dest.Message, src => src.Message)
.Map(dest => dest.OrderId, src => src.OrderId)
.Map(dest => dest.TransactionId, src => src.TransactionId)
.Map(dest => dest.RefId, src => src.RefId)
.Map(dest => dest.WalletBalance, src => src.WalletBalance)
.Map(dest => dest.DiscountBalance, src => src.DiscountBalance);
}
}
@@ -2,6 +2,9 @@ using FrontOffice.BFF.Package.Protobuf.Protos.Package;
using FrontOffice.BFF.WebApi.Common.Services;
using FrontOffice.BFF.Application.PackageCQ.Queries.GetPackage;
using FrontOffice.BFF.Application.PackageCQ.Queries.GetAllPackageByFilter;
using FrontOffice.BFF.Application.PackageCQ.Commands.InitiateBasePackagePayment;
using FrontOffice.BFF.Application.PackageCQ.Commands.VerifyBasePackagePayment;
namespace FrontOffice.BFF.WebApi.Services;
public class PackageService : PackageContract.PackageContractBase
{
@@ -19,4 +22,15 @@ public class PackageService : PackageContract.PackageContractBase
{
return await _dispatchRequestToCQRS.Handle<GetAllPackageByFilterRequest, GetAllPackageByFilterQuery, GetAllPackageByFilterResponse>(request, context);
}
// Base Package Payment (56M پکیج پایه)
public override async Task<InitiateBasePackagePaymentResponse> InitiateBasePackagePayment(InitiateBasePackagePaymentRequest request, ServerCallContext context)
{
return await _dispatchRequestToCQRS.Handle<InitiateBasePackagePaymentRequest, InitiateBasePackagePaymentCommand, InitiateBasePackagePaymentResponse>(request, context);
}
public override async Task<VerifyBasePackagePaymentResponse> VerifyBasePackagePayment(VerifyBasePackagePaymentRequest request, ServerCallContext context)
{
return await _dispatchRequestToCQRS.Handle<VerifyBasePackagePaymentRequest, VerifyBasePackagePaymentCommand, VerifyBasePackagePaymentResponse>(request, context);
}
}