We're newer to online contributions and are getting ready for go-live soon. Credit cards with iATS have processed through with no hiccups. We recently also enabled ACH/EFT via iATS as a payment instrument for our site. Our first ACH/EFT transaction (from me) went through fine. The transaction was initiated on 7/21/16; both iATS and my personal bank recognize the transaction is now completed as of yesterday, 7/26/16.
However, CiviCRM still showed the transaction's status as Pending (Incomplete Transaction)
. The scheduled job for iATS Payments Verification (API Entity: Job
; API Action: iatsacheftverify
) is enabled and is being processed Hourly (by default; I've changed nothing about the job). However, when I view the Job Log, I only see the job starting, never finishing:
Entity:
Job
Action:iatsacheftverify
Summary
Starting execution of iATS Payments Verification
Details
Parameters parsed (and passed to API method): a:1:{s:7:"version";i:3;}
Full message: Starting execution of iATS Payments Verification
When I upgraded the iATS extension to 1.5.3 (from 1.5.2) this afternoon and manually executed the job, the job finished and the transaction updated. Now that a few hours have passed and more hourly jobs ran, it has resumed not working. I manually executed it again, and the job finished.
So, the issue appears to be that the job finishes when manually executed, but not automatically on its own. Any ideas on how to proceed? Do I have to configure a cron job specific to/for that scheduled job?
The iATS requirements (#5) specify: "To handle ACH/EFT Contributions (verification of them) and to handle Recurring Contributions (of any type) you must configure cron for your CiviCRM install. Information about how to do this can be found in: http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs," but I do have cron running. The iATS Payments Recurring Contributions scheduled job (Entity: Job
Action: iatsrecurringcontributions
) is running daily (again, by default; I've changed nothing) and has both Starting and Finishing in the Job Log. For example:
Entity:
Job
Action:iatsrecurringcontributions
Summary
Finished execution of iATS Payments Recurring Contributions with result: Success (No contribution records were processed.)
Details
Parameters parsed (and passed to API method): a:1:{s:7:"version";i:3;}
Full message: Finished execution of iATS Payments Recurring Contributions with result: Success (No contribution records were processed.)
ADDITION: If I run job.iatsacheftverify
from the API Explorer, I get a success. So I tried adding this scheduled job to my server (from Plesk, CentOS 7, no brackets): drush -r {root folder} -l {website URL} civicrm-api -u {user} job.iatsacheftverify --quiet
. When I ran that job I received this error:
PHP Fatal error: Class 'SoapClient' not found in {ROOT}/sites/default/files/civicrm/extensions/com.iatspayments.civicrm/CRM/iATS/iATSService.php on line 164
Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Class 'SoapClient' not found in
{ROOT}/sites/default/files/civicrm/extensions/com.iatspayments.civicrm/CRM/iATS/iATSService.php,
line 164
Line 163-164 of that file:
/* until iATS fixes it's box verify, we need to have trace on to make the hack below work */
$soapClient = new SoapClient($this->_wsdl_url, array('trace' => 1,'soap_version' => SOAP_1_2));
I have no idea what that does. :-)
Civi 4.6.14 (will be updating to 4.6.19 before go-live); Drupal 7.44; iATS Payments extension 1.5.3