From e8b33a7f3c73e119836ee498c6412dfe3c31a61a Mon Sep 17 00:00:00 2001 From: Brian Quinn Date: Thu, 23 Dec 2010 13:45:06 +0000 Subject: [PATCH] Prevent auto_capture from making echeck payment paid on checkout complete --- paypal_express_extension.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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