#27 get last receipt, get minimalUser, get my user
This commit is contained in:
@@ -56,15 +56,15 @@ public class ConfirmStripeTransactionCommandHandler(
|
||||
if (stripeConfirmation.Succeeded)
|
||||
{
|
||||
lastTransaction.IsConfirmed = true;
|
||||
lastTransaction.Paid = request.Data.Object.Paid;
|
||||
lastTransaction.StripeChargeId = request.Data.Object.Id;
|
||||
lastTransaction.StripeEventId = request.Id;
|
||||
lastTransaction.StripeReceiptUrl = request.Data.Object.Receipt_url;
|
||||
lastTransaction.StripePaymentIntent = request.Data.Object.Payment_intent;
|
||||
lastTransaction.StripePaymentMethod = request.Data.Object.Payment_method;
|
||||
lastTransaction.StripeBillingDetailEmail = request.Data.Object.Billing_details.Email;
|
||||
lastTransaction.StripeBillingDetailName = request.Data.Object.Billing_details.Name;
|
||||
}
|
||||
lastTransaction.Paid = request.Data.Object.Paid;
|
||||
lastTransaction.StripeChargeId = request.Data.Object.Id;
|
||||
lastTransaction.StripeEventId = request.Id;
|
||||
lastTransaction.StripeReceiptUrl = request.Data.Object.Receipt_url;
|
||||
lastTransaction.StripePaymentIntent = request.Data.Object.Payment_intent;
|
||||
lastTransaction.StripePaymentMethod = request.Data.Object.Payment_method;
|
||||
lastTransaction.StripeBillingDetailEmail = request.Data.Object.Billing_details.Email;
|
||||
lastTransaction.StripeBillingDetailName = request.Data.Object.Billing_details.Name;
|
||||
|
||||
await dbContext.SaveChangesAsync(cancellationToken);
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ public class CreateSessionCheckoutCommandHandler(
|
||||
{
|
||||
public async Task<string> Handle(CreateSessionCheckoutCommand request, CancellationToken cancellationToken)
|
||||
{
|
||||
var stripeSecret = await stripeService.CreateCheckoutSession(request.Amount, request.Currency);
|
||||
var stripeSecret = await stripeService.CreateCheckoutSession(request.Amount, request.CreatorId, request.Currency);
|
||||
|
||||
// ReSharper disable once PossibleLossOfFraction
|
||||
decimal priceInDollars = (request.Amount / 100);
|
||||
|
||||
29
src/Application/Stripe/Queries/GetMyLastReceipt.cs
Normal file
29
src/Application/Stripe/Queries/GetMyLastReceipt.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using Hutopy.Application.Common.Interfaces;
|
||||
|
||||
namespace Hutopy.Application.Stripe.Queries;
|
||||
|
||||
public record GetMyLastReceiptQuery : IRequest<MyLastReceiptDto>
|
||||
{
|
||||
public string Email { get; set; } = string.Empty;
|
||||
public string CreatorId { get; set; } = string.Empty;
|
||||
};
|
||||
|
||||
public class GetMyLastReceiptQueryHandler(
|
||||
IApplicationDbContext dbContext
|
||||
)
|
||||
: IRequestHandler<GetMyLastReceiptQuery, MyLastReceiptDto>
|
||||
{
|
||||
public async Task<MyLastReceiptDto> Handle(GetMyLastReceiptQuery request, CancellationToken cancellationToken)
|
||||
{
|
||||
var lastTransaction = await dbContext.UserTransactions.OrderBy(x => x.Created)
|
||||
.LastOrDefaultAsync(x => x.ApplicationUserId == request.CreatorId && x.StripeBillingDetailEmail == request.Email,
|
||||
cancellationToken);
|
||||
|
||||
var receiptUrl = new MyLastReceiptDto
|
||||
{
|
||||
ReceiptUrl = lastTransaction?.StripeReceiptUrl ?? "",
|
||||
};
|
||||
|
||||
return receiptUrl;
|
||||
}
|
||||
}
|
||||
6
src/Application/Stripe/Queries/MyLastReceiptDto.cs
Normal file
6
src/Application/Stripe/Queries/MyLastReceiptDto.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace Hutopy.Application.Stripe.Queries;
|
||||
|
||||
public class MyLastReceiptDto
|
||||
{
|
||||
public string ReceiptUrl { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user