Reply
Member
Posts: 5
Registered: ‎12-01-2017

How to disable Authorize.net 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 Authorize.net 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 Authorize.net 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:

catalog/controller/extension/payment/authorizenet_aim.php

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 Authorize.net E-mail on a site built on OpenCart 3.0?

Authorize.Net Wizard
Posts: 106
Registered: ‎11-29-2017

Re: How to disable Authorize.net 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:


x_email_customer=false

 

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

Highlighted
Member
Posts: 5
Registered: ‎12-01-2017

Re: How to disable Authorize.net 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!