11using System ;
22using System . Collections . Generic ;
3- using System . Collections . Specialized ;
43using System . Linq ;
54using System . Threading . Tasks ;
65using FluentValidation ;
@@ -27,11 +26,11 @@ public class PaymentFlowService : IPaymentFlowService
2726 private readonly IValidator < OrderPaymentInfo > _validator ;
2827 private readonly ITenantUniqueNumberGenerator _uniqueNumberGenerator ;
2928
30- protected virtual string [ ] CaptureRuleSets => new [ ] { PaymentRequestValidator . DefaultRuleSet , PaymentRequestValidator . CaptureRuleSet } ;
31- protected virtual string [ ] RefundRuleSets => new [ ] { PaymentRequestValidator . DefaultRuleSet , PaymentRequestValidator . RefundRuleSet } ;
29+ protected virtual string [ ] CaptureRuleSets => [ PaymentRequestValidator . DefaultRuleSet , PaymentRequestValidator . CaptureRuleSet ] ;
30+ protected virtual string [ ] RefundRuleSets => [ PaymentRequestValidator . DefaultRuleSet , PaymentRequestValidator . RefundRuleSet ] ;
3231
33- protected virtual PaymentStatus [ ] CaptureAllowedPaymentStatuses => new [ ] { PaymentStatus . Authorized , PaymentStatus . Paid } ;
34- protected virtual PaymentStatus [ ] RefundAllowedPaymentStatuses => new [ ] { PaymentStatus . Paid , PaymentStatus . PartiallyRefunded , PaymentStatus . Refunded } ;
32+ protected virtual PaymentStatus [ ] CaptureAllowedPaymentStatuses => [ PaymentStatus . Authorized , PaymentStatus . Paid ] ;
33+ protected virtual PaymentStatus [ ] RefundAllowedPaymentStatuses => [ PaymentStatus . Paid , PaymentStatus . PartiallyRefunded , PaymentStatus . Refunded ] ;
3534
3635 public PaymentFlowService (
3736 ICustomerOrderService customerOrderService ,
@@ -110,7 +109,7 @@ protected virtual async Task<RefundOrderPaymentResult> CreateRefundDocument(Refu
110109 }
111110
112111
113- await _customerOrderService . SaveChangesAsync ( new [ ] { paymentInfo . CustomerOrder } ) ;
112+ await _customerOrderService . SaveChangesAsync ( [ paymentInfo . CustomerOrder ] ) ;
114113
115114 result . Succeeded = true ;
116115
@@ -145,7 +144,7 @@ protected virtual async Task<RefundOrderPaymentResult> SaveResultToRefundDocumen
145144 result . ErrorMessage = refundResult . ErrorMessage ;
146145 }
147146
148- await _customerOrderService . SaveChangesAsync ( new [ ] { paymentInfo . CustomerOrder } ) ;
147+ await _customerOrderService . SaveChangesAsync ( [ paymentInfo . CustomerOrder ] ) ;
149148
150149 return result ;
151150 }
@@ -186,7 +185,7 @@ public virtual async Task<CaptureOrderPaymentResult> CreateCaptureDocument(Captu
186185 paymentInfo . Payment . Captures . Add ( capture ) ;
187186 }
188187
189- await _customerOrderService . SaveChangesAsync ( new [ ] { paymentInfo . CustomerOrder } ) ;
188+ await _customerOrderService . SaveChangesAsync ( [ paymentInfo . CustomerOrder ] ) ;
190189
191190 result . Succeeded = true ;
192191
@@ -223,7 +222,7 @@ public virtual async Task<CaptureOrderPaymentResult> SaveResultToCaptureDocument
223222 result . ErrorMessage = captureResult . ErrorMessage ;
224223 }
225224
226- await _customerOrderService . SaveChangesAsync ( new [ ] { paymentInfo . CustomerOrder } ) ;
225+ await _customerOrderService . SaveChangesAsync ( [ paymentInfo . CustomerOrder ] ) ;
227226
228227 return result ;
229228 }
@@ -292,13 +291,12 @@ protected virtual CapturePaymentRequest GetCapturePaymentRequest(OrderPaymentInf
292291 result . CaptureAmount = request . Amount ?? paymentInfo . Payment . Sum ;
293292 result . OuterId = request . OuterId ;
294293
295- var parameters = new NameValueCollection
296- {
297- { nameof ( request . CloseTransaction ) , request . CloseTransaction . ToString ( ) } ,
298- { nameof ( request . CaptureDetails ) , request . CaptureDetails ?? string . Empty }
299- } ;
294+ result . Parameters ??= [ ] ;
295+
296+ result . Parameters . Add ( nameof ( request . CloseTransaction ) , request . CloseTransaction . ToString ( ) ) ;
297+ result . Parameters . Add ( nameof ( request . CaptureDetails ) , request . CaptureDetails ?? string . Empty ) ;
298+ result . Parameters . Add ( nameof ( request . TransactionId ) , request . TransactionId ?? string . Empty ) ;
300299
301- result . Parameters = parameters ;
302300
303301 return result ;
304302 }
@@ -314,6 +312,10 @@ protected virtual RefundPaymentRequest GetRefundPaymentRequest(OrderPaymentInfo
314312 result . Notes = request . ReasonMessage ;
315313 result . OuterId = request . OuterId ;
316314
315+ result . Parameters ??= [ ] ;
316+
317+ result . Parameters . Add ( nameof ( request . TransactionId ) , request . TransactionId ?? string . Empty ) ;
318+
317319 return result ;
318320 }
319321
0 commit comments