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) »
  • Discussion »
  • Extensions (Moderators: mathieu, totten, kasiawaka) »
  • Any information about how to write a payment processor
Pages: [1]

Author Topic: Any information about how to write a payment processor  (Read 2826 times)

torenware

  • I post frequently
  • ***
  • Posts: 153
  • Karma: 4
Any information about how to write a payment processor
September 19, 2010, 05:21:46 pm
I have a client that currently uses the Authorize.net payment processor in CiviCRM 3.x.  They'd like to integrate recurring payments, which folks have tried, but which has never been "finished" enough to get into the tree.

Looking through the sources, it's pretty unclear how to "correctly" write a payment processor.

Back in May, lobo wrote
Quote
1. A patch that applies cleanly against current v3.2 or trunk attached to an issue on our issue tracker

2. A community person who will take responsiblity to

* Respond to forum posts and help folks with the processor with various support issues
* Upgrade the code as needed for various civi releases / authorize changes

3. Would be good for the person doing item 2 to also do item 1. Ideally this person will support a few folks on the forum for some time before we add it to core

4. On a related note, we are working on improving the system so all payment processors can reside OUTSIDE civicrm distribution. We'd like to avoid getting into the payment processor business  :)

lobo

I'm potentially interested in doing this for Authorize, but right now, I need to know about an upgrade path for 3.3.  There isn't much documentation for this stuff using the lold-style API right now -- in particular, it isn't clear to me if the "correct behavior" for recurring donations is documented anywhere.  The implementation for PayPal Pro is, well, the implementation for PayPal Pro, and there isn't much in the code to indicate if there are any abstractions that need to be implemented.  More to the point, there are things that I know for a fact do need to be implemented, and they are, surprise, not documented in the code.  Leaving the question as to what else needs to get done that you wouldn't know just by reading the implementation for PayPal Pro.

What's documented at this point for 3.3?  Obviously, I don't expect formal docs, but I do need at least a spec, so I know what Michal intends to implement.  This will help me write a "future proof" solution to this problem.

Thanks,
Rob

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: Any information about how to write a payment processor
September 19, 2010, 07:46:20 pm

paypal pro was our first (and only) implementation of recurring contribution. I suspect (as you do) that it is not sufficiently abstracted and as the community does more of them, we'd be happy  to help abstract it more

There is no other documentation besides the code that handles paypalPro. note that paypal does most of the hard work needed with regard to recurring contributions, civi just records the payment

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

torenware

  • I post frequently
  • ***
  • Posts: 153
  • Karma: 4
Re: Any information about how to write a payment processor
September 19, 2010, 08:42:54 pm
Lobo,

Where could I find user-level documentation of how the PPP implementation is supposed to behave?  Part of the problem is that unless you're running that processor, you don't actually see  the UI.  This would help me make sure I've covered the right features.

Are there particular classes that call into a payment processor where an Authorize.net implementation would have to "fit".  I've probably found most, but not all, of the relevant places.

This is particularly important for the call back stuff, where I'm still unclear what the callback needs to do on CiviCRM's end.  My impression is that the Authorize callback is not that similar to the PayPal callback, so I'm not clear what services CiviCRM expects me to handle.

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: Any information about how to write a payment processor
September 20, 2010, 04:16:25 am

Rob:

the user level docs are on the wiki (if there are any, not sure). Most of the code is in CRM/Core/Payment/PayPalIPN.php

mght want to read the paypal recurring docs (on paypal.com). that should give u a better idea of the protocol and what we support. ping us on irc if u have any questions

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Discussion »
  • Extensions (Moderators: mathieu, totten, kasiawaka) »
  • Any information about how to write a payment processor

This forum was archived on 2017-11-26.