From a19196a6ad64f37ae47dff0ea214d4356b8e155a Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 17 Jan 2022 16:22:47 +0300 Subject: [PATCH] Add a simple zero price rule to DemoPaymentMethod --- .../PaymentMethods/DemoPaymentMethod.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/payment/src/EShopOnAbp.PaymentService.Application/PaymentMethods/DemoPaymentMethod.cs b/services/payment/src/EShopOnAbp.PaymentService.Application/PaymentMethods/DemoPaymentMethod.cs index 9d0fb8ea..e3002e8c 100644 --- a/services/payment/src/EShopOnAbp.PaymentService.Application/PaymentMethods/DemoPaymentMethod.cs +++ b/services/payment/src/EShopOnAbp.PaymentService.Application/PaymentMethods/DemoPaymentMethod.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using System.Threading.Tasks; using EShopOnAbp.PaymentService.PaymentRequests; using Volo.Abp.DependencyInjection; @@ -15,6 +16,11 @@ public class DemoPaymentMethod : IPaymentMethod public Task StartAsync(PaymentRequest paymentRequest, PaymentRequestStartDto input) { + if (paymentRequest.Products.Sum(x => x.TotalPrice) <= 0) + { + throw new ArgumentException("Price can't be zero or less."); + } + return Task.FromResult(new PaymentRequestStartResultDto { CheckoutLink = input.ReturnUrl + "?token=" + input.PaymentRequestId