CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using CiviContribute »
  • Community Contributed Payment Processors »
  • Core/Payment/IATS.php code bugs/fixes
Pages: 1 [2] 3

Author Topic: Core/Payment/IATS.php code bugs/fixes  (Read 10512 times)

adixon

  • I post frequently
  • ***
  • Posts: 314
  • Karma: 19
    • Blackfly Solutions
Re: Core/Payment/IATS.php code bugs/fixes
January 12, 2011, 07:01:35 am
Eileen: thanks for this!

CiviCRM: I've just updated CRM/Core/Payment/IATS.php in branch v3.3 as per the above.

 - Alan

mariagwyn

  • I post frequently
  • ***
  • Posts: 149
  • Karma: 4
  • CiviCRM version: CiviCRM 3.3.3
  • CMS version: Drupal 6.20
  • MySQL version: 5.2.14
  • PHP version: 5.0.91-50-log
Re: Core/Payment/IATS.php code bugs/fixes
January 21, 2011, 09:27:59 pm
Thanks for this post and update to the code.  I was running into an upgrade problem, posted here: http://forum.civicrm.org/index.php/topic,18190.0.html, but this solved it.  I upgraded to 3.3.3 from 3.3.2 and all is working again.

bmw

  • I post occasionally
  • **
  • Posts: 103
  • Karma: 4
    • Alcohol Justice - The Industry Watchdog
  • CiviCRM version: 4.5.8
  • CMS version: Joomla! 3.4.0
  • MySQL version: 5.5.42-cli
  • PHP version: 5.3.27
Re: Core/Payment/IATS.php code bugs/fixes
February 20, 2011, 03:00:23 pm
I am running 3.2.5.
Still sandboxing 3.3.5 before installation due to some of the reports of donation pages failing to render. This has happened and had to revert back to 3.2.5.

Can I use the IATS.php file from 3.3.5 in 3.2.5 without a conflict or breaking the processing?
Also, what intervals does IATS allow?
Lastly, if they only allow monthly and annually, how can I test the processor?

Thank you in advance.

Bruce
« Last Edit: February 20, 2011, 05:41:02 pm by bmw »
Bruce Wolfe, M.S.W., CIO
Alcohol Justice, 501(c)3

adixon

  • I post frequently
  • ***
  • Posts: 314
  • Karma: 19
    • Blackfly Solutions
Re: Core/Payment/IATS.php code bugs/fixes
March 02, 2011, 12:09:21 pm
bmw:

in principle, i don't think it would be a good idea to use the iats.php from 3.3.5 in 3.2.5. I can't image why you'd want to...

intervals - the plugin code allows for weekly and monthly, that's what the api allows for.

re: how can you test the processor - i'm not sure what the question is, can you rephrase? Testing the recurring stuff is a problem, even with a live account, is an issue because the first payment won't go through til one interval has passed. But IATS gives you a web interface where you should see it sitting. See my notes here:

http://wiki.civicrm.org/confluence/display/CRMDOC33/IATS+Configuration

bmw

  • I post occasionally
  • **
  • Posts: 103
  • Karma: 4
    • Alcohol Justice - The Industry Watchdog
  • CiviCRM version: 4.5.8
  • CMS version: Joomla! 3.4.0
  • MySQL version: 5.5.42-cli
  • PHP version: 5.3.27
Re: Core/Payment/IATS.php code bugs/fixes
January 04, 2012, 07:01:41 pm
Hi! Finally getting up to speed here. Using CiviCRM 4.0.8 on J!1.7.
Now according to your instructions, you guide to not include the 'User Name' when setting up the Processor Type. It won't save in that configuration.

Also, with regards to recurring payments, what do you mean by this in your instructions included in the current documentation?

Quote
4. BUT it will only show one contribution on the day of the contribution (i.e. the recurrals won't get entered, you'll have to import them).
5. IATS will NOT process the initial contribution, only the recurrals (i.e. starting a month from the initial contribution).

My current experience is that the recurring payment is recorded in CiviCRM but not processed. What do you mean "import them"? Please explain in detail.(#4)

If IATS will not process the initial contribution, then how does the initial contribution get processed? I know that IATS will not forward send reports of recurring transactions. (#5)

Thank you in advance.
Bruce Wolfe, M.S.W., CIO
Alcohol Justice, 501(c)3

adixon

  • I post frequently
  • ***
  • Posts: 314
  • Karma: 19
    • Blackfly Solutions
Re: Core/Payment/IATS.php code bugs/fixes
January 05, 2012, 07:42:22 am
Hi Bruce:

1. 'User Name' question, okay, those are fields that CiviCRM require but aren't needed/used by IATS, so just recycle the other name type field.
2. Recurring payments. These are a complicated dance between CiviCRM and the payment processor, I don't think I can be clearer than I already have. BUT the documentation is now wrong about the first payment (i.e. 5. IATS will NOT process ..), I fixed this issue by postponing the initial transaction to the day after the payment information is submitted. To attempt another answer your other question - the first transaction will be recorded in CiviCRM, and the fact that it's supposed to recur is also recorded. All subsequent 'recurring' transactions will go through IATS, but CiviCRM won't get information about them, so they won't appear there unless you manually import them.

photo21

  • I’m new here
  • *
  • Posts: 4
  • Karma: 0
  • CiviCRM version: 4.01
  • CMS version: Joomla 1.6.3
  • MySQL version: 5.0.84
  • PHP version: 5.3
Re: Core/Payment/IATS.php code bugs/fixes
February 07, 2012, 10:34:03 am
I am hoping that someone can help me with IATS recurring payments on CiviCRM 4.01 / Joomla 1.6.3 - I am struggling with getting any recurring transaction approved at IATS, and the reject code is 42, which means no CVV2 was present.

So in looking at civicrm/administrator/components/com_civicrm/civicrm/CRM/Core/Payment/IATS.php on line 149 , the code is as follows:

            $iatslink1->setCVV2($params['cvv2']);

with the comment "            // cvv2 only seems to get set for this!   " above that line of code.

So this is apparently a known problem, but I am not seeing a patch or bugfix, and when I simply copy that line to later down in the process so that it will apply to the recurring payment, I get a white screen when processing the recurring payment.

Has anyone any advice for this problem?

Thanks a million.

Cheers,
Photo

adixon

  • I post frequently
  • ***
  • Posts: 314
  • Karma: 19
    • Blackfly Solutions
Re: Core/Payment/IATS.php code bugs/fixes
February 07, 2012, 02:18:27 pm
IATS will provide you with 2 codes, one ending 01, one ending 09. You need to use the 01 code if you want to do recurring payments, this is related to the cvv in a security kind of way.

photo21

  • I’m new here
  • *
  • Posts: 4
  • Karma: 0
  • CiviCRM version: 4.01
  • CMS version: Joomla 1.6.3
  • MySQL version: 5.0.84
  • PHP version: 5.3
Re: Core/Payment/IATS.php code bugs/fixes
February 07, 2012, 04:16:56 pm
Thanks a million for the reply. That did indeed correct the issue.

theshee9

  • I’m new here
  • *
  • Posts: 8
  • Karma: 0
  • CiviCRM version: 4.2.x
  • CMS version: Joomla 2.5+
  • MySQL version: 4+
  • PHP version: 5+
Re: Core/Payment/IATS.php code bugs/fixes
January 09, 2013, 09:19:26 am
Hello All!  Thanks for the great work and ongoing support with this module! 

I am wrestling with the IATS integration and was hoping to clarify a few things.  This is my first real Civi deployment and first time working with IATS.

Joomla 2.5.8, Civi v. 4.2.4, LAMP Server, all latest builds

I have IATS processor installed, and it's been successfully running transactions for events and one-time contributions.   

#1 - My first problem is selecting the recurring payments option when building the payment page.  When I select "Credit Card (IATS)" as my contribution page's payment processor, the "allow recurring payments" checkbox goes away.  Perhaps I'm using an outdated iats extension?  It appears as if iats.php contains "CiviCRM version 4.2" in the header of the php.

#1a - If I understand correctly, a pledge is NOT an automated recurring payment, but rather, scheduled reminders that require the end user to come back and make each subsequent payment?  I read a few of the other posts on this. 

#2 - Provided I can get recurring payments to be enabled...
Quote
To attempt another answer your other question - the first transaction will be recorded in CiviCRM, and the fact that it's supposed to recur is also recorded.


So this will show that someone's made a contribution and THAT it's recurring...  will this display the recurring schedule, # of occurrences,  with amounts due?  The accounting department would need to know this to project and reconcile future receivables.

Quote
All subsequent 'recurring' transactions will go through IATS, but CiviCRM won't get information about them, so they won't appear there unless you manually import them.

Is this a limit of IATS or Civi?  It seems like this is a crucial bit of information that should be coming back and forth for organizations that accept ongoing payments...
Is there a proven export/import process between IATS and Civi?   


#3 - Importing Pledges/Recurring Payments
The client has legacy customer contributions that still have payments left to be made (they were initiated through their previous crm).  Is it possible to import those into Civi, or do we even need to?  If ongoing donations are not recorded back to Civi, will IATS simply remember and continue processing those in future installments?

#4 - Perhaps unrelated to IATS, but is there a way to manually enter someone's credit card payment into Civi to initiate a recurring contribution?  E.g., take a donor phone call, they want to pay by CC  for a recurring donation?  Would that simply be entered in IATS terminal and then again in Civi to indicate that contact has donated?


I fear that my client will not be very flexible about changing either their crm system or payment processor at this point, so I'm very willing to fund possible development work to further evolve this integration.   

Thanks!
Recent CiviCRM Deployments:
Walsh Jesuit High School: www.walshjesuit.org

adixon

  • I post frequently
  • ***
  • Posts: 314
  • Karma: 19
    • Blackfly Solutions
Re: Core/Payment/IATS.php code bugs/fixes
January 24, 2013, 05:51:04 am
First off - try posting new issues instead of adding to this one which is already too long.

Second - when you configure your IATS payment processor, you'll need to tell it that it's enabled for recurring payments [I assume that's the answer to your #1].

#2 - yeah, this is all confusing, which is why I'm rewriting this processor to handle recurring payments in a better way. I guess the short answer is that you must manually import all recurring payments, including the first one (which will only show up as pending). The record in CiviCRM that gets created by the payment page should only be considered a statement of intent by the donor, it provides no evidence of any actual payment going through [speaking from an bookkeeping perspective here].

#3 - if your legacy system is still charging those clients, then you probably want to use a manual system to import those payments into CiviCRM.

#4 Yes, I'd do it just like the customer would [i.e. use the payment page as if you were the customer], or use the admin interface for entering new donations [a make it a recurring one].

theshee9

  • I’m new here
  • *
  • Posts: 8
  • Karma: 0
  • CiviCRM version: 4.2.x
  • CMS version: Joomla 2.5+
  • MySQL version: 4+
  • PHP version: 5+
Re: Core/Payment/IATS.php code bugs/fixes
January 25, 2013, 01:47:18 pm
Thanks for the reply - I was tempted to start a new thread, sorry!

We do now have this setup and processing recurring payments - I appreciate all the hard work you've put in to this!

A couple notes from our end:
• We had to have IATS create a new account for us using the client code ending with 80 or 88
• When that was added as a new processor in Civi, we now see the option to select "allow recurring options" in the contribution page

#2 - I look forward to seeing the new version - please let me know if we can help! 
I haven't played much, but I understand the IATS portal has some decent reporting functions including all of the details of scheduled payments.  Out IATS rep told me this morning that they're also looking at further evolving the payment history and alternative views of the Customer DB.

#3 & 4 - These can also be added manually through the IATS terminal.  The customer DB allows admins to create new recurring profiles and charge the client's card without the CVV2

Thanks again!

Recent CiviCRM Deployments:
Walsh Jesuit High School: www.walshjesuit.org

Eileen

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4195
  • Karma: 218
    • Fuzion
Re: Core/Payment/IATS.php code bugs/fixes
September 03, 2014, 09:01:32 pm
Allan - it seems to me the problem WRT recurring is that
1) CiviCRM makes assumptions about whether to renew memberships based on the type of payment processor rather than whether a successful transaction has taken place
2) IATS sets 'contribution_status_id' to Completed when it does doDirectPayment
3) None of the inbuilt payment processor set 'contribution_status_id'
4) I can't think of a reason to set it except for ...  - the contribution having taken place.

So, I would suggest that in the instance of a recurring membership IF the payment processor set 'contribution_status_id' to be 1 it would make sense to heed it - ie. something like

https://github.com/fuzionnz/civicrm-core/commit/b21454887da66c1638f972ae7ab88cfd4a6c6167

This seems 'safe' but would need more 'eyes on' & it would need editing for 4.5 (which has more form/bao separation but not complete)
Make today the day you step up to support CiviCRM and all the amazing organisations that are using it to improve our world - http://civicrm.org/contribute

adixon

  • I post frequently
  • ***
  • Posts: 314
  • Karma: 19
    • Blackfly Solutions
Re: Core/Payment/IATS.php code bugs/fixes
September 04, 2014, 08:40:21 am
Thanks for this, I hadn't looked through or considered the implications of this code wrt alternative recurring payment models.

Your code looks reasonable, but I really wouldn't have any useful input until I take a look at that file and understand how automatic recurring memberships are supposed work ...

Eileen

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4195
  • Karma: 218
    • Fuzion
Re: Core/Payment/IATS.php code bugs/fixes
September 04, 2014, 01:45:05 pm
Allan - what's your understanding of the current status of recurring processing with memberships - is the first payment processed straight away (& just not recorded in CiviCRM) or do you have some more complex mechanism in play?
Make today the day you step up to support CiviCRM and all the amazing organisations that are using it to improve our world - http://civicrm.org/contribute

Pages: 1 [2] 3
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using CiviContribute »
  • Community Contributed Payment Processors »
  • Core/Payment/IATS.php code bugs/fixes

This forum was archived on 2017-11-26.