Posts: 5
Registered: ‎12-01-2017

How to disable E-mail from website ONLY transactions?

We currently accept credit cards by phone (entering the order info into the Virtual Terminal) as well as on the website (OpenCart, using the built-in AIM module).


Problem: when order is placed on website, the customer receives 2 E-mails - 1 from our site, 1 from Authorize. The Authorize E-mail, being plaintext, looks ugly AF, and my boss wants to have it disabled.

Attempt # 1: in the account, under "Settings -> E-mail Receipt", there is a checkbox "Email transaction receipt to customer (if email address is provided)".

Result #1:  u
nfortunately, this disables ALL transaction E-mails - from website transactions (OK) and from Virtual Terminal phone-order transactions (NOT cool). We have to provide an E-mail receipt to phone customers.

Attempt #2: in the OpenCart system, editing file:


to comment out the line 

$data['x_email'] = $order_info['email'];

Result #2: during checkout, even if a valid E-mail is entered, upon trying to submit the order, the "Email address is required" error message appears.

So. Can't disable it in Authorize. Can't just delete the E-mail from the array of data that OpenCart collects during checkout.

How can I disable the E-mail on a site built on OpenCart 3.0?

Posts: 170
Registered: ‎11-29-2017

Re: How to disable E-mail from website ONLY transactions?

Submitting credit cards by phone via the Virtual Terminal will require that you have the Settings -> E-mail Receipt enabled for customers. Disabling that seems not to be an option for you.


One solution is to customize catalog/controller/extension/payment/authorizenet_aim.php to send this field with the request:



This will override the settings in the Merchant Interface for each website transaction but leave the E-mail Receipt setting intact.

Posts: 5
Registered: ‎12-01-2017

Re: How to disable E-mail from website ONLY transactions?

Correct solution, just a minor format difference.


Should be:


$data['x_email_customer'] = 'false';

(Copied format from line "$data['x_relay_response'] = 'false';")


Worked 100%, thank you very much!