fix zarinpal payment issue , add version 0.17.22.36

release
Amir Hossein Khademi 2024-04-02 11:14:00 +03:30
parent 5fa2f0ce72
commit dada0113c4
4 changed files with 13 additions and 12 deletions

View File

@ -1 +1 @@
0.17.21.35
0.17.22.36

View File

@ -6,8 +6,8 @@
<ImplicitUsings>enable</ImplicitUsings>
<InvariantGlobalization>true</InvariantGlobalization>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<AssemblyVersion>0.17.21.35</AssemblyVersion>
<FileVersion>0.17.21.35</FileVersion>
<AssemblyVersion>0.17.22.36</AssemblyVersion>
<FileVersion>0.17.22.36</FileVersion>
</PropertyGroup>
<ItemGroup>

View File

@ -14,7 +14,7 @@ public class ZarinaplPaymentVerifyResponseData
public string message { get; set; } = string.Empty;
public string card_hash { get; set; } = string.Empty;
public string card_pan { get; set; } = string.Empty;
public int ref_id { get; set; }
public long ref_id { get; set; }
public string fee_type { get; set; } = string.Empty;
public int fee { get; set; }
public long fee { get; set; }
}

View File

@ -11,13 +11,13 @@ public class ZarinpalService : IPaymentService
private readonly IRestApiWrapper _restApiWrapper;
private readonly IMediator _mediator;
private readonly SiteSettings _siteSettings;
public ZarinpalService(IRestApiWrapper restApiWrapper,IOptionsSnapshot<SiteSettings> snapshot,IMediator mediator)
public ZarinpalService(IRestApiWrapper restApiWrapper, IOptionsSnapshot<SiteSettings> snapshot, IMediator mediator)
{
_restApiWrapper = restApiWrapper;
_mediator = mediator;
_siteSettings = snapshot.Value;
}
public async Task<string> GetPaymentLinkAsync(double amount,string factorNumber, Guid orderId, Guid userId, string phoneNumber , string fullName , CancellationToken cancellationToken = default)
public async Task<string> GetPaymentLinkAsync(double amount, string factorNumber, Guid orderId, Guid userId, string phoneNumber, string fullName, CancellationToken cancellationToken = default)
{
var request = new ZarinaplPaymentLinkRequest
{
@ -32,15 +32,15 @@ public class ZarinpalService : IPaymentService
throw new AppException($"Exception in get link from zarinpal | {response.data.message}");
var createPaymentResult = await _mediator.Send(new CreateOrUpdatePaymentCommand(null,factorNumber, amount,
var createPaymentResult = await _mediator.Send(new CreateOrUpdatePaymentCommand(null, factorNumber, amount,
request.description, string.Empty, string.Empty,
response.data.authority, PaymentType.Online,PaymentStatus.InPaymentGateway, orderId, userId), cancellationToken);
response.data.authority, PaymentType.Online, PaymentStatus.InPaymentGateway, orderId, userId), cancellationToken);
string link = $"https://www.zarinpal.com/pg/StartPay/{response.data.authority}";
return link;
}
public async Task<Tuple<string,string>> VerifyPaymentAsync(string authority, CancellationToken cancellationToken = default)
public async Task<Tuple<string, string>> VerifyPaymentAsync(string authority, CancellationToken cancellationToken = default)
{
var payment = await _mediator.Send(new GetPaymentQuery(Authority: authority), cancellationToken);
var request = new ZarinaplVerifyPaymentRequest
@ -62,8 +62,9 @@ public class ZarinpalService : IPaymentService
payment.TransactionCode, payment.CardPan, payment.Authority, payment.Type, payment.Status,
payment.OrderId, payment.UserId), cancellationToken);
await _mediator.Send(new SubmitOrderPaymentCommand(payment.OrderId, OrderPaymentMethod.OnlinePayment, true),cancellationToken);
await _mediator.Send(new SubmitOrderPaymentCommand(payment.OrderId, OrderPaymentMethod.OnlinePayment, true),
cancellationToken);
return new Tuple<string, string>(payment.TransactionCode,payment.FactorNumber);
return new Tuple<string, string>(payment.TransactionCode, payment.FactorNumber);
}
}