From efdd51f41e878349a942b0cb97e97e9feda1b3f0 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Wed, 14 Jan 2015 03:10:06 -0800 Subject: [PATCH] ensure realtime_bop can properly use transactions for its state --- FS/FS/cust_main/Billing_Realtime.pm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/FS/FS/cust_main/Billing_Realtime.pm b/FS/FS/cust_main/Billing_Realtime.pm index 6c75fe950..330a4547b 100644 --- a/FS/FS/cust_main/Billing_Realtime.pm +++ b/FS/FS/cust_main/Billing_Realtime.pm @@ -3,6 +3,7 @@ package FS::cust_main::Billing_Realtime; use strict; use vars qw( $conf $DEBUG $me ); use vars qw( $realtime_bop_decline_quiet ); #ugh +use Carp; use Data::Dumper; use Business::CreditCard 0.28; use FS::UID qw( dbh ); @@ -319,6 +320,10 @@ my %bop_method2payby = ( sub realtime_bop { my $self = shift; + confess "Can't call realtime_bop within another transaction ". + '($FS::UID::AutoCommit is false)' + unless $FS::UID::AutoCommit; + local($DEBUG) = $FS::cust_main::DEBUG if $FS::cust_main::DEBUG > $DEBUG; my %options = (); -- 2.11.0