Giter VIP home page Giter VIP logo

ca.civicrm.iats's People

Contributors

adixon avatar karing avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ca.civicrm.iats's Issues

Request: Don't filter test contributions in recurring contributions job

In the function civicrm_api3_job_iatsrecurringcontributions a SQL query is built to look for eligible recurring contributions. This query contains the clause "AND pp.is_test = 0". Unless this is strictly necessary I would prefer that this not be used as a filter so that round trip testing can be done using the test credentials.

US testing results?

Can anyone confirm that this code works for US$? I've been living in a C$ bubble, but I think it should work identically if your account is US$. I also wonder whether there should be some extra configuration - my understanding of iATS is that each account is for a specific currency, but CiviCRM doesn't make this assumption ('cuz it's not true for other payment processors).

Maybe even just a note to identify the currency in the payment processor label or description. Worst case scenario might be that someone contributes with a credit card and gets charged 10% more or less that they were expecting because of currency exchange.

In 4.3.4 and lower there is an issue with contributions over $1,000.00.

In versions of CiviCRM at 4.3.4 and lower we found that CiviCRM passes the $params['amount'] to IATS with a comma even though it does not allow you to enter one on the contribution page. The value iATS receives is "1,000.00" which it submits to the payment processor. This gets recorded as $1.00. This appears to be related to the formatting of the amount on the confirmation page. It is fixed in 4.4.2 so I am reporting it here rather than in core since they will probably not support older versions. You may want to submit a fix to the long term support version.

Here is a possible workaround on line 194 of ca.civicrm.iats/CRM/Core/Payment/iATSService.php:

$request['total'] = sprintf('%01.2f', str_replace(',', '', $params['amount']));

or alternately:

$params['amount'] = CRM_Utils_Rule::cleanMoney($params['amount'])
$request['total'] = sprintf('%01.2f', $params['amount']);

The same issue applies to the older iATS in core. In that case the issue is on line 127 of CRM/Core/Payment/IATS.php.

Strict warning

On fresh install of drupal 7.37 and civicrm 4.6.3, after migrating civicrm data and upgrading iatspayments to 1.3.2 I'm getting this warning:

Strict warning: Declaration of CRM_Core_Payment_iATSService::singleton() should be compatible with & CRM_Core_Payment::singleton($mode, &$paymentProcessor, &$paymentForm = NULL, $force = false) in Civi\Payment\System::getByProcessor() (line 52 of /home/user/public_html/sites/all/modules/civicrm/Civi/Payment/System.php).

Back office usage?

I have configured the IATS payment processor in my test environment using the agent code and password "TEST88" as specified in the readme. I can see how to connect it to a contribution page. However, when I try to use it in the back-office by clicking "Create New ... Contribution(Credit Card)" and then selecting my iATS ACH processor, the screen does not have all the needed entry fields. It does have billing name and billing address. But the screen is missing the fields for:
Account type
Name of Account Holder
Bank Account Number
Bank number + branch transit number
Bank Name

BTW: I am in the US. Will this test account work for US currency?

Plans for 4.6?

I'm wondering if there are plans to release this for 4.6, and if there are dates attached to that. Unfortunately, the client who is asking doesn't have significant funds to support an upgrade.

Installation error

When installing the extension on a site running PHP 5.4, I encountered the following error:

PHP Fatal error: Call-time pass-by-reference has been removed in /sites/default/files/civicrm/extensions/ca.civicrm.iats/iats.php on line 145

Removing the ampersand in the specified line fixed the error and allowed the installation to complete successfully:

Change this

$fname(&$form);

to

$fname($form);

Thanks!

Fatal error: using PHP 5.5

Hi Alan,

I'm doing some testing across PHP versions for our CDN TaxReceipts module - came across this notice - after switching PHP versions from 5.3 to 5.5:

( ! ) Fatal error: Call-time pass-by-reference has been removed in /Applications/MAMP/htdocs/Local/drupal743.local/sites/default/civicrm/extensions/ca.civicrm.iats/iats.php on line 145

Switching back to 5.3: resolves the issue.

-- Karin

Watchdog logging not working on Drupal7, CiviCRM version 4.4.3

Nothing was getting inserted into the watchdog log. The issue seems to be with the way the extension tries to get the name of the userFramework.
We were getting a php notice on
https://github.com/adixon/ca.civicrm.iats/blob/master/CRM/iATS/iATSService.php#L64

    $user_system =_iats_civicrm_domain_info('userSystem');

$user_system was NULL after this call because:
Inside _iats_civicrm_domain_info the key userSystem does not exist on either the $domain array (hence the notice on then empty check) or on the unserialized $config_backend array at
https://github.com/adixon/ca.civicrm.iats/blob/master/iats.php#L314

One possible change (worked for us):

-    $user_system = _iats_civicrm_domain_info('userSystem');
+    $config = CRM_Core_Config::singleton();
+    $user_system = $config->userFramework;  

-   $this->options['log'] = _iats_civicrm_domain_info('userFrameworkLogging') && !empty($user_system->is_drupal);
+    $this->options['log'] = _iats_civicrm_domain_info('userFrameworkLogging') == '1'
+     && ($config->userFramework == 'Drupal' || $config->userFramework == 'Drupal6');

Not sure if this is a 4.4 change?

Question: Handling direct debit for the UK

When do you think this extension will be able to handle direct debit for the UK? What are the issues?

From reading a closed issue, it sounds like this extension already handles credit cards for the UK. Is this correct?

Extension does not work with logging enabled

When I tried to make a contribution while logging was turned on, I got the following error message:
Table 'dev18_crmlog.log_civicrm_iats_customer_codes' doesn't exist

After turning off logging, the error did not occur.

Fatal error when trying to contribute

On the final step of using my contribution page with the ACH payment processor, I get the error:

Class 'SoapClient' not found in /home/dev18/public_html/pogstone_extensions/ca.civicrm.iats-1.1-beta3/CRM/iATS/iATSService.php on line 133

FYI: My page is using US currency.

Client can't change/edit recurring donation

Test below is from a confirmation email client gets after setting up a recurring donation. It provides a link for them to edit/change/delete this recurring donation but it just spits out an XML coded page.

Donors aren't happy because they can't change their recurring donation.

I also have no means of going in and changing it either.

Currently using CiviCRM 4.6.13, iats 1.5.0

Test-drive Email / Receipt
This is a test-drive email. No live financial transaction has occurred.
Thank You for your gift to Operation Exodus USA
Please print this confirmation for your records.
Contribution Information
Amount $ 1.00
Date March 22nd, 2017 12:38 PM
Transaction # A99EA286:1490200737
This is a recurring contribution. You can cancel future contributions by visiting this web page.
https://www.iatspayments.com/NetGate/ProcessLink.asmx?WSDL

You can update recurring contribution amount or change the number of installments for this recurring contribution by visiting this web page.
https://www.iatspayments.com/NetGate/ProcessLink.asmx?WSDL

When iATS ACH payment processor is enabled, it breaks other non-IATS processors.

In my environment I have the following payment processors enabled:
iATS ACH
Authorize.net
PayPal Pro

If I try to use the "Contribution (Credit Card)" screen in the back-office and choose either Authorize.net or PayPalPro, the screen does NOT display the needed fields to enter the credit card number, expiration date, etc. which means I cannot process credit cards for Auth.net or PayPalPro in the back-office.

As a work-around, if I disable the iATS ACH payment processor then Auth.net and PayPal start working again in the back-office.

Delay when clicking Proceed....

We have noticed lately that our client's client are having delays when they click to process a transaction using iATS and CiviCRM. Because of those delays, many clicked again on the action button and we have 6 transaction that were diplicated (2 to 4 times) and had to do a few refunds.

My question is: where does that delay come from ? Can it be iATS server being slow to respond or our CiviCRM installation ?

All hints are welcome ;-)

Thanks,

Martin

UK support?

I'd be happy to work on this if there's someone in the UK who can do some testing.

PHP Fatal Error v 1.1 when clicking Contribute at the confirmation page

2014/01/09 10:02:46 [error] 4244#0: *1684 FastCGI sent in stderr: "PHP message: PHP Fatal error: Class 'SoapClient' not found in /sites/all/modules/civicrm/extensions/ca.civicrm.iats-1.1-beta1/CRM/iATS/iATSService.php on line 109" while reading response header from upstream, client: 46.65.45.231, server: localhost, request: "POST /civicrm/contribute/transact HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "localhost", referrer: "https://localhost/civicrm/contribute/transact?_qf_Confirm_display=true&qfKey=d9509a9fcewrwere3243c5b9035d_6059"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.