Answers.Body: <p>Ok!! I have found the culprit. Here is the response from my webhost: </p>
  
  <p><strong>This looks to be a limitation on your server when connecting to the remote server and we can test this directly using openssl.</strong></p>
  
  <p><strong>Shown below is a failed connection to the remote server using TLSv1 (what your wget command specifies) to the remote server's HTTPS port (443):</strong></p>
  
  <pre><code>CT-156611-bash-3.2# openssl s_client -tls1 -connect iatspayments.com:443
  CONNECTED(00000003)
  31985:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1092:SSL alert number 40
  31985:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:536:
  </code></pre>
  
  <p><strong>The same connection fail results from my local workstation. However, when specifying a higher version of TLS such as TLSv1.2, I am able to connect from my workstation as shown below</strong></p>
  
  <pre><code>$ openssl s_client -quiet -tls1_2 -connect iatspayments.com:443
  depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
  verify return:1
  depth=2 C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
  verify return:1
  depth=1 C = US, ST = VA, L = Herndon, O = Network Solutions L.L.C., CN = Network Solutions OV Server CA 2
  verify return:1
  depth=0 C = US, postalCode = 76131, ST = TX, L = Fort Worth, street = Suite 1800, street = 100 Throckmorton Street, O = First American Payment Systems, OU = Information Technology Group, OU = Secure Link SSL Pro, CN = www.iatspayments.com
  verify return:1
  </code></pre>
  
  <p><strong>Your server is running CentOS 5 which does not support TLS versions higher than TLSv1 and many servers are beginning to reject those connections, such as payment gateways. If you require this support, then it will be necessary to re-image the server to CentOS 7</strong></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-25T14:07:30.060Z
Answers.Text: So in other words - you were not using TLS 1.2 after all... That's what I asked you in my answer. Your webhost just confirmed it.
Answers.UserDisplayName: KarinG - Semper IT
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-25T04:34:44.757Z
Answers.LastActivityDate: 2016-08-25T04:34:44.757Z
Answers.UserDisplayName: BruceW
Answers.Body: <p>If with EOL you mean End Of Life - you are mistaken! iATS 1.5.3 is already working for many transaction pathways in 4.7.x - but we will not release an official release until ALL 21 type of transactions, payment processor switches, chq debit img swapping, encrypted swipe is working as it currently is on 4.6.x LTS. </p>
  
  <p>In general before upgrading any site you will really want to check to ensure that ALL extensions that you have enabled have releases for the CiviCRM version you're upgrading to - otherwise you're taking a risk. </p>
  
  <p>A number of sites [from at least 3 CiviCRM partners that I know of and likely more] are already transacting with iATS on 4.7.x - they would have created a staging copy to check that their pathways are working. </p>
  
  <p>So I'm not sure what issues you're running into. Are you using TLS 1.2? Is SOAP enabled? Any clues in the iats log tables? agent code/password correct - and configured properly? </p>
  
  <p><strong>See iATS Extension - README.md file:</strong>
  9002 Error - if you get this when trying to make a contribution, then you're getting that error back from the iATS server due to an account misconfiguration. One source is due to some special characters in your passwd.</p>
  
  <p><strong>Also:</strong> Please have a look at the link <a href="http://home.iatspayments.com/Relaunch-SHA256" rel="nofollow">http://home.iatspayments.com/Relaunch-SHA256</a> and check if your environment is compatible.</p>
  
  <p><strong>EDIT:</strong> to test if your server environment is indeed TLS 1.2 - go into your CiviCRM -> Payment Processor configuration and edit the URLs from www to www2 - so: e.g.:
  <a href="https://www2.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL" rel="nofollow">https://www2.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL</a>
  Run a transaction - if this works [if this does not produce a 9002 error] - then your server environment is -not- TLS 1.2</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-06T23:47:40.713Z
Answers.Text: It stopped working for me on 4.7.9. Yes, using TLS 1.2. With SOAP being enabled, do you mean in PHP or somewhere else? Where are the IATS log tables. Yes, agent code/password is correct. I monitor the transactions in IATS portal to check it is working when I have problems. In the CiviCRM dashboard under Contributions menu there is IATS Payment Admin which shows the log. No connection to the outside appears.
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-08T02:00:19.213Z
Answers.Text: Ok, seems that when webhost did recent upgrade didn't enable SOAP. Thanks for that Karin. Good instincts. Activated the CRONs. Seems that SSL will not accept all certs, so failing.
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-08T02:33:21.030Z
Answers.Text: Not sure what you mean by SSL will not accept all certs? You've confirmed you're using TLS 1.2?
Answers.UserDisplayName: KarinG - Semper IT
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-08T05:35:41.360Z
Answers.Text: Yes, all my servers are updated to TLS 1.2. I am getting 9002 error even if I set both Live and Test to TEST88. My agent code ends in 80.
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-08T05:45:07.127Z
Answers.Text: SSL, that was an issue with Return-Path. It is not accepting "all" certs.
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-08T06:08:26.157Z
Answers.Text: Full error message: "9002: Unexpected Server Error, please see your logs"
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-09T03:32:33.490Z
Answers.Text: Ok, the SSL issue was with PHP 5.6. Rolled it back to 5.5.38 and SMTP and SSL issue resolved.
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-09T03:34:14.233Z
Answers.Text: Karin, the IATS link you provided is broken. I am finding that a big section of their website has been shutdown regarding their knowledgebase.
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-09T16:50:51.670Z
Answers.Text: iATS has now fixed that broken link.
Answers.UserDisplayName: KarinG - Semper IT
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-09T22:00:26.913Z
Answers.Text: Still getting _Payment Processor Error message :9002: Unexpected Server Error, please see your logs_ but don't see anything in logs to report. Anywhere else to look?
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-10T01:02:23.803Z
Answers.Text: Did you turn on CiviCRM logging?
Answers.UserDisplayName: KarinG - Semper IT
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-10T04:11:12.337Z
Answers.Text: Yes. I don't seen any backtrace reflective of this issue.
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-10T04:47:44.877Z
Answers.Text: In ConfigAndLogs. No entries when I perform transactions Live or Test
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-10T18:24:23.480Z
Answers.Text: The debugging for non-Drupal installs is not very good - you're running Joomla? If you turn on logging and debugging and you're using TEST88, then in theory you'll see some low level SOAP debug information, which I would guess is where you'll discover the issue. If you want to futz with that, it's in here: com.iatspayments.civicrm/CRM/iATS/iATSService.php
Answers.UserDisplayName: Alan Dixon
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-11T00:42:09.893Z
Answers.Text: Will check it out. There has to be some way to monitor the action.
Answers.UserDisplayName: BruceW
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-06T22:09:44.137Z
Answers.LastActivityDate: 2016-08-24T20:27:07.627Z
Answers.LastEditDate: 2016-08-24T20:27:07.627Z
Answers.UserDisplayName: KarinG - Semper IT
Body: <p>Seems that IATS will not work using extension 1.5.3 - It logs the transaction in CiviCRM but never makes a connection with IATS. I'm not sure it is even connecting with the network. </p>
  
  <p>Any clue folks?</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-06T21:50:07.387Z
Comments.Text: What is EOL @BruceW?
Comments.UserDisplayName: KarinG - Semper IT
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-08T05:43:22.187Z
Comments.Text: Means end-of-life
Comments.UserDisplayName: BruceW
Tags: <civicontribute><4.7><iats>
Title: How to get IATS working
ThreadText: # How to get IATS working
  
  (Asked by: username_0 on 2016-08-06)
  
  Seems that IATS will not work using extension 1.5.3 - It logs the transaction in CiviCRM but never makes a connection with IATS. I'm not sure it is even connecting with the network.
  
  Any clue folks?
  
  **Tags:** civicontribute, 4.7, iats
  
  > **Comments:**
  > **username_1**: What is EOL @username_0?  
  > **username_0**: Means end-of-life  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_0 on 2016-08-25. Score: -2 | Accepted answer
  
  Ok!! I have found the culprit. Here is the response from my webhost:
  
  **This looks to be a limitation on your server when connecting to the remote server and we can test this directly using openssl.**
  
  **Shown below is a failed connection to the remote server using TLSv1 (what your wget command specifies) to the remote server's HTTPS port (443):**
  
  ```
  CT-156611-bash-3.2# openssl s_client -tls1 -connect iatspayments.com:443
  CONNECTED(00000003)
  31985:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1092:SSL alert number 40
  31985:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:536:
  
  ```
  
  **The same connection fail results from my local workstation. However, when specifying a higher version of TLS such as TLSv1.2, I am able to connect from my workstation as shown below**
  
  ```
  $ openssl s_client -quiet -tls1_2 -connect iatspayments.com:443
  depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
  verify return:1
  depth=2 C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
  verify return:1
  depth=1 C = US, ST = VA, L = Herndon, O = Network Solutions L.L.C., CN = Network Solutions OV Server CA 2
  verify return:1
  depth=0 C = US, postalCode = 76131, ST = TX, L = Fort Worth, street = Suite 1800, street = 100 Throckmorton Street, O = First American Payment Systems, OU = Information Technology Group, OU = Secure Link SSL Pro, CN = www.iatspayments.com
  verify return:1
  
  ```
  
  **Your server is running CentOS 5 which does not support TLS versions higher than TLSv1 and many servers are beginning to reject those connections, such as payment gateways. If you require this support, then it will be necessary to re-image the server to CentOS 7**
  
  > **Comments:**
  > **username_1**: So in other words - you were not using TLS 1.2 after all... That's what I asked you in my answer. Your webhost just confirmed it.  
  
  ---
  
  ### Answer by username_1 on 2016-08-06. Score: 3
  
  If with EOL you mean End Of Life - you are mistaken! iATS 1.5.3 is already working for many transaction pathways in 4.7.x - but we will not release an official release until ALL 21 type of transactions, payment processor switches, chq debit img swapping, encrypted swipe is working as it currently is on 4.6.x LTS.
  
  In general before upgrading any site you will really want to check to ensure that ALL extensions that you have enabled have releases for the CiviCRM version you're upgrading to - otherwise you're taking a risk.
  
  A number of sites [from at least 3 CiviCRM partners that I know of and likely more] are already transacting with iATS on 4.7.x - they would have created a staging copy to check that their pathways are working.
  
  So I'm not sure what issues you're running into. Are you using TLS 1.2? Is SOAP enabled? Any clues in the iats log tables? agent code/password correct - and configured properly?
  
  **See iATS Extension - README.md file:**
  9002 Error - if you get this when trying to make a contribution, then you're getting that error back from the iATS server due to an account misconfiguration. One source is due to some special characters in your passwd.
  
  **Also:** Please have a look at the link <http://home.iatspayments.com/Relaunch-SHA256> and check if your environment is compatible.
  
  **EDIT:** to test if your server environment is indeed TLS 1.2 - go into your CiviCRM -> Payment Processor configuration and edit the URLs from www to www2 - so: e.g.:
  <https://www2.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL>
  Run a transaction - if this works [if this does not produce a 9002 error] - then your server environment is -not- TLS 1.2
  
  > **Comments:**
  > **username_0**: It stopped working for me on 4.7.9. Yes, using TLS 1.2. With SOAP being enabled, do you mean in PHP or somewhere else? Where are the IATS log tables. Yes, agent code/password is correct. I monitor the transactions in IATS portal to check it is working when I have problems. In the CiviCRM dashboard under Contributions menu there is IATS Payment Admin which shows the log. No connection to the outside appears.  
  > **username_0**: Ok, seems that when webhost did recent upgrade didn't enable SOAP. Thanks for that Karin. Good instincts. Activated the CRONs. Seems that SSL will not accept all certs, so failing.  
  > **username_1**: Not sure what you mean by SSL will not accept all certs? You've confirmed you're using TLS 1.2?  
  > **username_0**: Yes, all my servers are updated to TLS 1.2. I am getting 9002 error even if I set both Live and Test to TEST88. My agent code ends in 80.  
  > **username_0**: SSL, that was an issue with Return-Path. It is not accepting "all" certs.  
  > **username_0**: Full error message: "9002: Unexpected Server Error, please see your logs"  
  > **username_0**: Ok, the SSL issue was with PHP 5.6. Rolled it back to 5.5.38 and SMTP and SSL issue resolved.  
  > **username_0**: Karin, the IATS link you provided is broken. I am finding that a big section of their website has been shutdown regarding their knowledgebase.  
  > **username_1**: iATS has now fixed that broken link.  
  > **username_0**: Still getting _Payment Processor Error message :9002: Unexpected Server Error, please see your logs_ but don't see anything in logs to report. Anywhere else to look?  
  > **username_1**: Did you turn on CiviCRM logging?  
  > **username_0**: Yes. I don't seen any backtrace reflective of this issue.  
  > **username_0**: In ConfigAndLogs. No entries when I perform transactions Live or Test  
  > **username_2**: The debugging for non-Drupal installs is not very good - you're running Joomla? If you turn on logging and debugging and you're using TEST88, then in theory you'll see some low level SOAP debug information, which I would guess is where you'll discover the issue. If you want to futz with that, it's in here: com.iatspayments.civicrm/CRM/iATS/iATSService.php  
  > **username_0**: Will check it out. There has to be some way to monitor the action.  
  
  ---
  
  