2017-12-05 1 views
0

현재 웹 사이트 (OpenCart, 내장 된 Authorize.net AIM 모듈 사용)뿐만 아니라 전화로 신용 카드를 받으실 수 있습니다 (가상 터미널에 주문 정보 입력).해결 된 - OpenCart 3.0 (3.x) + Authorize.net - 어떻게 Authorize.net 전자 메일을 해제하려면?

문제점 : 웹 사이트에서 주문할 때 고객은 2 개의 전자 메일 (당사 사이트에서 1 개, 인증에서 1 개)을받습니다. 전자 메일 승인은 일반 텍스트이므로 추한 AF로 보이고 사장님은 전자 메일을 비활성화하려고합니다.

시도 # 1 : Authorize.net AIM 플러그인/모듈 설정에서 보았습니다. 그런 옵션이 없습니다.

시도 2 ​​: Authorize.net 계정의 "설정 -> 전자 메일 수신"에서 "고객에게 전자 메일 수신 영수증 (전자 메일 주소가 제공되는 경우)"확인란이 있습니다.

결과 # 2 : 불행히도 이것은 웹 사이트 트랜잭션 (OK)과 가상 터미널 전화 주문 트랜잭션 (냉담하지 않음)에서 모든 트랜잭션 전자 메일을 비활성화합니다. 전화 고객에게 전자 메일 영수증을 제공해야합니다.

을 시도 # 3 : OpenCart 시스템에서 편집 할 파일을 체크 아웃하는 동안, 유효한 전자 메일이 경우에도 :

catalog/controller/extension/payment/authorizenet_aim.php 

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

결과가 # 3 라인을 주석 주문을 제출할 때 "전자 메일 주소가 필요합니다"라는 오류 메시지가 나타납니다.

이렇게 ... OpenCart의 승인 플러그인/모듈에서 비활성화 할 수 없습니다. 계정 설정 승인에서이를 비활성화 할 수 없습니다. 체크 아웃 중에 OpenCart가 수집하는 데이터 배열에서 전자 메일을 삭제할 수 없습니다.

OpenCart 3.0 기반의 사이트에서 Authorize.net 전자 메일을 사용하지 않도록 설정하고 (Authorize.net 전자 메일 만, 웹 사이트 영수증을 계속 보내고 싶습니다) 어떻게합니까?

답변

1

해결책을 찾았습니다 (Authorize.net Developers Forum을 통해). 예상보다 간단한 :

  1. 공개 파일 : public_html/catalog/controller/extension/payment/authorizenet_aim.PHP
  2. 줄 찾기 : $ data [ 'x_relay_response'] = 'false';
  3. 뒤에 추가 : $ 데이터 [ 'x_email_customer'] = '거짓';

이렇게하면 체크 아웃 프로세스를 오류없이 완료 할 수 있으며 고객에게 전자 메일을 보내지 않도록 지시서와 함께 Authorize.net에 트랜잭션을 보냅니다.

0

위대한 해결책은 아니지만 Authorize.net으로 전송 된 이메일 주소를 상점 관리자 이메일로 변경할 수 있습니다.이 경우 '이메일 주소가 필요합니다'오류 메시지가 표시되지 않습니다. 고객 대신 이메일을 받게됩니다.

0

시도 번호 3에서 OpenCart가 전자 메일이 필요한지 또는 Authorize.Net에서 오류가 발생했는지 여부를 확인할 수 있습니까? Authorize.Net에서 오류를 제공하는 경우 Authorize.Net에서 지불 양식 설정을 조정하여 조정할 수 있습니다. 1. Authorize.Net에 로그인하십시오. 2. 계정> 지불 양식> 양식 필드 3. 전자 메일 필드가 ' 필요에 따라 선택합니다. 4. 페이지 하단의 변경 사항을 저장하십시오.

+0

거래가 제출되기 전에 결제 페이지 자체입니다. 그러나 그것은 중요하지 않습니다. 해결책을 찾았습니다. 잠시 후에 게시 할 것입니다. – TomJones999