Subject: | X_Email_Customer set regardless of whether it's used |
According to Authorize.Net the X_Email_Customer flag should only be set
if you want to override the admin settings of the payment account
itself. If you just want the admin settings to remain what they are, you
simply exclude this value in the request.
B::OP::AuthorizeNet::AIM will always set this value to either "TRUE" or
"FALSE" regardless, so it always overrides the admin settings.
The attached patch against 3.20 fixes this by only setting it if it exists.
Subject: | x_email_customer.patch |
--- Business-OnlinePayment-AuthorizeNet-3.20/AuthorizeNet/AIM.pm 2008-02-02 20:35:05.000000000 -0500
+++ Business-OnlinePayment-AuthorizeNet-3.20/AuthorizeNet/AIM.pm.new 2009-11-13 09:23:28.021828167 -0500
@@ -219,7 +219,7 @@
if ( $post_data{'x_Email_Customer'}
&& $post_data{'x_Email_Customer'} !~ /^FALSE$/i ) {
$post_data{'x_Email_Customer'} = 'TRUE';
- } else {
+ } elsif ( exists $post_data{'x_Email_Customer'} ) {
$post_data{'x_Email_Customer'} = 'FALSE';
}