diff --git a/commerce-payment-service/src/main/java/com/liferay/commerce/payment/servlet/CommercePaymentServlet.java b/commerce-payment-service/src/main/java/com/liferay/commerce/payment/servlet/CommercePaymentServlet.java
index <HASH>..<HASH> 100644
--- a/commerce-payment-service/src/main/java/com/liferay/commerce/payment/servlet/CommercePaymentServlet.java
+++ b/commerce-payment-service/src/main/java/com/liferay/commerce/payment/servlet/CommercePaymentServlet.java
@@ -86,10 +86,19 @@ public class CommercePaymentServlet extends HttpServlet {
 
 			// Offline methods, payment complete
 
-			_commercePaymentEngine.completePayment(
-				_commerceOrderId, null, httpServletRequest);
+			int commercePaymentMethodType =
+				_commercePaymentEngine.getCommercePaymentMethodType(
+					_commerceOrderId);
 
-			httpServletResponse.sendRedirect(_confirmationStepUrl);
+			if(
+				CommercePaymentConstants.COMMERCE_PAYMENT_METHOD_TYPE_OFFLINE ==
+					commercePaymentMethodType) {
+
+				_commercePaymentEngine.completePayment(
+						_commerceOrderId, null, httpServletRequest);
+
+				httpServletResponse.sendRedirect(_confirmationStepUrl);
+			}
 		}
 		catch (Exception e) {
 			_portal.sendError(e, httpServletRequest, httpServletResponse);
COMMERCE-<I> complete payment only for offline methods