@@ -37,8 +37,10 @@ public virtual async Task<PostProcessPaymentRequestResult> PostProcessPaymentAsy
3737 var searchCriteria = AbstractTypeFactory < CustomerOrderSearchCriteria > . TryCreateInstance ( ) ;
3838 searchCriteria . Number = paymentParameters . OrderId ;
3939 searchCriteria . ResponseGroup = CustomerOrderResponseGroup . Full . ToString ( ) ;
40+
4041 //if order not found by order number search by order id
4142 var orders = await customerOrderSearchService . SearchAsync ( searchCriteria ) ;
43+
4244 var customerOrder = orders . Results . FirstOrDefault ( ) ?? await customerOrderService . GetByIdAsync ( paymentParameters . OrderId , CustomerOrderResponseGroup . Full . ToString ( ) ) ;
4345
4446 if ( customerOrder == null )
@@ -47,6 +49,7 @@ public virtual async Task<PostProcessPaymentRequestResult> PostProcessPaymentAsy
4749 }
4850
4951 var store = await storeService . GetByIdAsync ( customerOrder . StoreId , StoreResponseGroup . StoreInfo . ToString ( ) ) ;
52+
5053 if ( store == null )
5154 {
5255 throw new InvalidOperationException ( $ "Cannot find store with ID { customerOrder . StoreId } ") ;
@@ -57,9 +60,9 @@ public virtual async Task<PostProcessPaymentRequestResult> PostProcessPaymentAsy
5760 {
5861 //Each payment method must check that these parameters are addressed to it
5962 var result = inPayment . PaymentMethod . ValidatePostProcessRequest ( paymentParameters . Parameters ) ;
63+
6064 if ( result . IsSuccess )
6165 {
62-
6366 var request = new PostProcessPaymentRequest
6467 {
6568 OrderId = customerOrder . Id ,
@@ -71,7 +74,9 @@ public virtual async Task<PostProcessPaymentRequestResult> PostProcessPaymentAsy
7174 OuterId = result . OuterId ,
7275 Parameters = paymentParameters . Parameters
7376 } ;
77+
7478 var retVal = inPayment . PaymentMethod . PostProcessPayment ( request ) ;
79+
7580 if ( retVal != null )
7681 {
7782 var validationResult = await ValidateAsync ( customerOrder ) ;
@@ -88,9 +93,11 @@ public virtual async Task<PostProcessPaymentRequestResult> PostProcessPaymentAsy
8893 // order Number is required
8994 retVal . OrderId = customerOrder . Number ;
9095 }
96+
9197 return retVal ;
9298 }
9399 }
100+
94101 return new PostProcessPaymentRequestResult { ErrorMessage = "Payment method not found" } ;
95102 }
96103
0 commit comments