diff --git a/paypal_express_extension.rb b/paypal_express_extension.rb index 177c231..e27e1b3 100644 --- a/paypal_express_extension.rb +++ b/paypal_express_extension.rb @@ -19,6 +19,19 @@ class PaypalExpressExtension < Spree::Extension CheckoutsController.class_eval do include Spree::PaypalExpress end - + + Checkout.class_eval do + private + def complete_order + order.complete! + + # do not transition echeck order to paid regardless of auto-capture + # echecks are finalized via IPN callback only + if Spree::Config[:auto_capture] && !order.checkout.payments.any? {|p| payment.source.is_a?(PaypalAccount) && p.source.echeck?(p) } + order.pay! + end + end + end + end end