Skip to content

Commit b1627d5

Browse files
Refactoring of all payment processors, they're now implementing PaymentMethodBase
1 parent 06c9614 commit b1627d5

8 files changed

Lines changed: 107 additions & 498 deletions

File tree

src/Libraries/SmartStore.Services/Payments/IPaymentMethod.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public partial interface IPaymentMethod : IPlugin
100100
///// The defined route is being redirected to during the checkout process > PaymentInfo page.
101101
///// Implementors should return <c>null</c> if no redirection occurs.
102102
///// </remarks>
103-
//RouteInfo GetPaymentInfoHandlerRoute();
103+
RouteInfo GetPaymentInfoHandlerRoute();
104104

105105
Type GetControllerType();
106106

src/Plugins/Payments.CashOnDelivery/CashOnDeliveryPaymentProcessor.cs

Lines changed: 13 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace SmartStore.Plugin.Payments.CashOnDelivery
1515
/// <summary>
1616
/// CashOnDelivery payment processor
1717
/// </summary>
18-
public class CashOnDeliveryPaymentProcessor : BasePlugin, IPaymentMethod
18+
public class CashOnDeliveryPaymentProcessor : PaymentMethodBase
1919
{
2020
#region Fields
2121

@@ -48,28 +48,19 @@ public CashOnDeliveryPaymentProcessor(CashOnDeliveryPaymentSettings cashOnDelive
4848
/// </summary>
4949
/// <param name="processPaymentRequest">Payment info required for an order processing</param>
5050
/// <returns>Process payment result</returns>
51-
public ProcessPaymentResult ProcessPayment(ProcessPaymentRequest processPaymentRequest)
51+
public override ProcessPaymentResult ProcessPayment(ProcessPaymentRequest processPaymentRequest)
5252
{
5353
var result = new ProcessPaymentResult();
5454
result.NewPaymentStatus = PaymentStatus.Pending;
5555
return result;
5656
}
5757

58-
/// <summary>
59-
/// Post process payment (used by payment gateways that require redirecting to a third-party URL)
60-
/// </summary>
61-
/// <param name="postProcessPaymentRequest">Payment info required for an order processing</param>
62-
public void PostProcessPayment(PostProcessPaymentRequest postProcessPaymentRequest)
63-
{
64-
//nothing
65-
}
66-
6758
/// <summary>
6859
/// Gets additional handling fee
6960
/// </summary>
7061
/// <param name="cart">Shoping cart</param>
7162
/// <returns>Additional handling fee</returns>
72-
public decimal GetAdditionalHandlingFee(IList<ShoppingCartItem> cart)
63+
public override decimal GetAdditionalHandlingFee(IList<ShoppingCartItem> cart)
7364
{
7465
var result = this.CalculateAdditionalFee(_orderTotalCalculationService, cart,
7566
_cashOnDeliveryPaymentSettings.AdditionalFee, _cashOnDeliveryPaymentSettings.AdditionalFeePercentage);
@@ -81,7 +72,7 @@ public decimal GetAdditionalHandlingFee(IList<ShoppingCartItem> cart)
8172
/// </summary>
8273
/// <param name="capturePaymentRequest">Capture payment request</param>
8374
/// <returns>Capture payment result</returns>
84-
public CapturePaymentResult Capture(CapturePaymentRequest capturePaymentRequest)
75+
public override CapturePaymentResult Capture(CapturePaymentRequest capturePaymentRequest)
8576
{
8677
var result = new CapturePaymentResult();
8778
result.AddError(_localizationService.GetResource("Common.Payment.NoCaptureSupport"));
@@ -93,7 +84,7 @@ public CapturePaymentResult Capture(CapturePaymentRequest capturePaymentRequest)
9384
/// </summary>
9485
/// <param name="refundPaymentRequest">Request</param>
9586
/// <returns>Result</returns>
96-
public RefundPaymentResult Refund(RefundPaymentRequest refundPaymentRequest)
87+
public override RefundPaymentResult Refund(RefundPaymentRequest refundPaymentRequest)
9788
{
9889
var result = new RefundPaymentResult();
9990
result.AddError(_localizationService.GetResource("Common.Payment.NoRefundSupport"));
@@ -105,7 +96,7 @@ public RefundPaymentResult Refund(RefundPaymentRequest refundPaymentRequest)
10596
/// </summary>
10697
/// <param name="voidPaymentRequest">Request</param>
10798
/// <returns>Result</returns>
108-
public VoidPaymentResult Void(VoidPaymentRequest voidPaymentRequest)
99+
public override VoidPaymentResult Void(VoidPaymentRequest voidPaymentRequest)
109100
{
110101
var result = new VoidPaymentResult();
111102
result.AddError(_localizationService.GetResource("Common.Payment.NoVoidSupport"));
@@ -117,7 +108,7 @@ public VoidPaymentResult Void(VoidPaymentRequest voidPaymentRequest)
117108
/// </summary>
118109
/// <param name="processPaymentRequest">Payment info required for an order processing</param>
119110
/// <returns>Process payment result</returns>
120-
public ProcessPaymentResult ProcessRecurringPayment(ProcessPaymentRequest processPaymentRequest)
111+
public override ProcessPaymentResult ProcessRecurringPayment(ProcessPaymentRequest processPaymentRequest)
121112
{
122113
var result = new ProcessPaymentResult();
123114
result.AddError(_localizationService.GetResource("Common.Payment.NoRecurringPaymentSupport"));
@@ -129,7 +120,7 @@ public ProcessPaymentResult ProcessRecurringPayment(ProcessPaymentRequest proces
129120
/// </summary>
130121
/// <param name="cancelPaymentRequest">Request</param>
131122
/// <returns>Result</returns>
132-
public CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymentRequest cancelPaymentRequest)
123+
public override CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymentRequest cancelPaymentRequest)
133124
{
134125
var result = new CancelRecurringPaymentResult();
135126
result.AddError(_localizationService.GetResource("Common.Payment.NoRecurringPaymentSupport"));
@@ -141,7 +132,7 @@ public CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymen
141132
/// </summary>
142133
/// <param name="order">Order</param>
143134
/// <returns>Result</returns>
144-
public bool CanRePostProcessPayment(Order order)
135+
public override bool CanRePostProcessPayment(Order order)
145136
{
146137
if (order == null)
147138
throw new ArgumentNullException("order");
@@ -156,7 +147,7 @@ public bool CanRePostProcessPayment(Order order)
156147
/// <param name="actionName">Action name</param>
157148
/// <param name="controllerName">Controller name</param>
158149
/// <param name="routeValues">Route values</param>
159-
public void GetConfigurationRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues)
150+
public override void GetConfigurationRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues)
160151
{
161152
actionName = "Configure";
162153
controllerName = "PaymentCashOnDelivery";
@@ -169,14 +160,14 @@ public void GetConfigurationRoute(out string actionName, out string controllerNa
169160
/// <param name="actionName">Action name</param>
170161
/// <param name="controllerName">Controller name</param>
171162
/// <param name="routeValues">Route values</param>
172-
public void GetPaymentInfoRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues)
163+
public override void GetPaymentInfoRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues)
173164
{
174165
actionName = "PaymentInfo";
175166
controllerName = "PaymentCashOnDelivery";
176167
routeValues = new RouteValueDictionary() { { "Namespaces", "SmartStore.Plugin.Payments.CashOnDelivery.Controllers" }, { "area", null } };
177168
}
178169

179-
public Type GetControllerType()
170+
public override Type GetControllerType()
180171
{
181172
return typeof(PaymentCashOnDeliveryController);
182173
}
@@ -210,65 +201,10 @@ public override void Uninstall()
210201

211202
#region Properties
212203

213-
/// <summary>
214-
/// Gets a value indicating whether capture is supported
215-
/// </summary>
216-
public bool SupportCapture
217-
{
218-
get
219-
{
220-
return false;
221-
}
222-
}
223-
224-
/// <summary>
225-
/// Gets a value indicating whether partial refund is supported
226-
/// </summary>
227-
public bool SupportPartiallyRefund
228-
{
229-
get
230-
{
231-
return false;
232-
}
233-
}
234-
235-
/// <summary>
236-
/// Gets a value indicating whether refund is supported
237-
/// </summary>
238-
public bool SupportRefund
239-
{
240-
get
241-
{
242-
return false;
243-
}
244-
}
245-
246-
/// <summary>
247-
/// Gets a value indicating whether void is supported
248-
/// </summary>
249-
public bool SupportVoid
250-
{
251-
get
252-
{
253-
return false;
254-
}
255-
}
256-
257-
/// <summary>
258-
/// Gets a recurring payment type of payment method
259-
/// </summary>
260-
public RecurringPaymentType RecurringPaymentType
261-
{
262-
get
263-
{
264-
return RecurringPaymentType.NotSupported;
265-
}
266-
}
267-
268204
/// <summary>
269205
/// Gets a payment method type
270206
/// </summary>
271-
public PaymentMethodType PaymentMethodType
207+
public override PaymentMethodType PaymentMethodType
272208
{
273209
get
274210
{

src/Plugins/Payments.DirectDebit/DirectDebitPaymentProcessor.cs

Lines changed: 13 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace SmartStore.Plugin.Payments.DirectDebit
1515
/// <summary>
1616
/// DirectDebit payment processor
1717
/// </summary>
18-
public class DirectDebitPaymentProcessor : BasePlugin, IPaymentMethod
18+
public class DirectDebitPaymentProcessor : PaymentMethodBase
1919
{
2020
#region Fields
2121

@@ -48,29 +48,20 @@ public DirectDebitPaymentProcessor(DirectDebitPaymentSettings directDebitPayment
4848
/// </summary>
4949
/// <param name="processPaymentRequest">Payment info required for an order processing</param>
5050
/// <returns>Process payment result</returns>
51-
public ProcessPaymentResult ProcessPayment(ProcessPaymentRequest processPaymentRequest)
51+
public override ProcessPaymentResult ProcessPayment(ProcessPaymentRequest processPaymentRequest)
5252
{
5353
var result = new ProcessPaymentResult();
5454
result.AllowStoringDirectDebit = true;
5555
result.NewPaymentStatus = PaymentStatus.Pending;
5656
return result;
5757
}
5858

59-
/// <summary>
60-
/// Post process payment (used by payment gateways that require redirecting to a third-party URL)
61-
/// </summary>
62-
/// <param name="postProcessPaymentRequest">Payment info required for an order processing</param>
63-
public void PostProcessPayment(PostProcessPaymentRequest postProcessPaymentRequest)
64-
{
65-
//nothing
66-
}
67-
6859
/// <summary>
6960
/// Gets additional handling fee
7061
/// </summary>
7162
/// <param name="cart">Shoping cart</param>
7263
/// <returns>Additional handling fee</returns>
73-
public decimal GetAdditionalHandlingFee(IList<ShoppingCartItem> cart)
64+
public override decimal GetAdditionalHandlingFee(IList<ShoppingCartItem> cart)
7465
{
7566
var result = this.CalculateAdditionalFee(_orderTotalCalculationService, cart,
7667
_directDebitPaymentSettings.AdditionalFee, _directDebitPaymentSettings.AdditionalFeePercentage);
@@ -82,7 +73,7 @@ public decimal GetAdditionalHandlingFee(IList<ShoppingCartItem> cart)
8273
/// </summary>
8374
/// <param name="capturePaymentRequest">Capture payment request</param>
8475
/// <returns>Capture payment result</returns>
85-
public CapturePaymentResult Capture(CapturePaymentRequest capturePaymentRequest)
76+
public override CapturePaymentResult Capture(CapturePaymentRequest capturePaymentRequest)
8677
{
8778
var result = new CapturePaymentResult();
8879
result.AddError(_localizationService.GetResource("Common.Payment.NoCaptureSupport"));
@@ -94,7 +85,7 @@ public CapturePaymentResult Capture(CapturePaymentRequest capturePaymentRequest)
9485
/// </summary>
9586
/// <param name="refundPaymentRequest">Request</param>
9687
/// <returns>Result</returns>
97-
public RefundPaymentResult Refund(RefundPaymentRequest refundPaymentRequest)
88+
public override RefundPaymentResult Refund(RefundPaymentRequest refundPaymentRequest)
9889
{
9990
var result = new RefundPaymentResult();
10091
result.AddError(_localizationService.GetResource("Common.Payment.NoRefundSupport"));
@@ -106,7 +97,7 @@ public RefundPaymentResult Refund(RefundPaymentRequest refundPaymentRequest)
10697
/// </summary>
10798
/// <param name="voidPaymentRequest">Request</param>
10899
/// <returns>Result</returns>
109-
public VoidPaymentResult Void(VoidPaymentRequest voidPaymentRequest)
100+
public override VoidPaymentResult Void(VoidPaymentRequest voidPaymentRequest)
110101
{
111102
var result = new VoidPaymentResult();
112103
result.AddError(_localizationService.GetResource("Common.Payment.NoVoidSupport"));
@@ -118,7 +109,7 @@ public VoidPaymentResult Void(VoidPaymentRequest voidPaymentRequest)
118109
/// </summary>
119110
/// <param name="processPaymentRequest">Payment info required for an order processing</param>
120111
/// <returns>Process payment result</returns>
121-
public ProcessPaymentResult ProcessRecurringPayment(ProcessPaymentRequest processPaymentRequest)
112+
public override ProcessPaymentResult ProcessRecurringPayment(ProcessPaymentRequest processPaymentRequest)
122113
{
123114
var result = new ProcessPaymentResult();
124115
result.AllowStoringDirectDebit = true;
@@ -131,7 +122,7 @@ public ProcessPaymentResult ProcessRecurringPayment(ProcessPaymentRequest proces
131122
/// </summary>
132123
/// <param name="cancelPaymentRequest">Request</param>
133124
/// <returns>Result</returns>
134-
public CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymentRequest cancelPaymentRequest)
125+
public override CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymentRequest cancelPaymentRequest)
135126
{
136127
var result = new CancelRecurringPaymentResult();
137128
result.AddError(_localizationService.GetResource("Common.Payment.NoRecurringPaymentSupport"));
@@ -143,7 +134,7 @@ public CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymen
143134
/// </summary>
144135
/// <param name="order">Order</param>
145136
/// <returns>Result</returns>
146-
public bool CanRePostProcessPayment(Order order)
137+
public override bool CanRePostProcessPayment(Order order)
147138
{
148139
if (order == null)
149140
throw new ArgumentNullException("order");
@@ -158,7 +149,7 @@ public bool CanRePostProcessPayment(Order order)
158149
/// <param name="actionName">Action name</param>
159150
/// <param name="controllerName">Controller name</param>
160151
/// <param name="routeValues">Route values</param>
161-
public void GetConfigurationRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues)
152+
public override void GetConfigurationRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues)
162153
{
163154
actionName = "Configure";
164155
controllerName = "PaymentDirectDebit";
@@ -171,14 +162,14 @@ public void GetConfigurationRoute(out string actionName, out string controllerNa
171162
/// <param name="actionName">Action name</param>
172163
/// <param name="controllerName">Controller name</param>
173164
/// <param name="routeValues">Route values</param>
174-
public void GetPaymentInfoRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues)
165+
public override void GetPaymentInfoRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues)
175166
{
176167
actionName = "PaymentInfo";
177168
controllerName = "PaymentDirectDebit";
178169
routeValues = new RouteValueDictionary() { { "Namespaces", "SmartStore.Plugin.Payments.DirectDebit.Controllers" }, { "area", null } };
179170
}
180171

181-
public Type GetControllerType()
172+
public override Type GetControllerType()
182173
{
183174
return typeof(PaymentDirectDebitController);
184175
}
@@ -212,65 +203,10 @@ public override void Uninstall()
212203

213204
#region Properties
214205

215-
/// <summary>
216-
/// Gets a value indicating whether capture is supported
217-
/// </summary>
218-
public bool SupportCapture
219-
{
220-
get
221-
{
222-
return false;
223-
}
224-
}
225-
226-
/// <summary>
227-
/// Gets a value indicating whether partial refund is supported
228-
/// </summary>
229-
public bool SupportPartiallyRefund
230-
{
231-
get
232-
{
233-
return false;
234-
}
235-
}
236-
237-
/// <summary>
238-
/// Gets a value indicating whether refund is supported
239-
/// </summary>
240-
public bool SupportRefund
241-
{
242-
get
243-
{
244-
return false;
245-
}
246-
}
247-
248-
/// <summary>
249-
/// Gets a value indicating whether void is supported
250-
/// </summary>
251-
public bool SupportVoid
252-
{
253-
get
254-
{
255-
return false;
256-
}
257-
}
258-
259-
/// <summary>
260-
/// Gets a recurring payment type of payment method
261-
/// </summary>
262-
public RecurringPaymentType RecurringPaymentType
263-
{
264-
get
265-
{
266-
return RecurringPaymentType.NotSupported;
267-
}
268-
}
269-
270206
/// <summary>
271207
/// Gets a payment method type
272208
/// </summary>
273-
public PaymentMethodType PaymentMethodType
209+
public override PaymentMethodType PaymentMethodType
274210
{
275211
get
276212
{

0 commit comments

Comments
 (0)