Is anyone developing the interface needed for using Square as a payment processor?


It might not be too hard to implement the omnipay version, there's a contributed plugin for that here: https://packagist.org/packages/ryanthompson/omnipay-square

If you want to take this route, here's how it might look [thanks petednz for the prod].

  1. Read my old wiki entry here: https://wiki.civicrm.org/confluence/display/CRMDOC/Omnipay as a general introduction to what omnipay is.

  2. Get a copy of the omnipay payment processor extension. The extension home is here: https://civicrm.org/extensions/omnipay-multiprocessor-extension But you'll want to clone it from the repo here: https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor

  3. Add the omnipay-square plugin to the omnipay payment processor exentsion. Yes, this is the hard part. There is a simple note here: https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor/blob/master/README.md I found that it was most instructive to look at some examples.

A few things I found helpful were:

a. Learn about composer if you don't already know about it. Don't skip this step or you'll get confused.

b. You have two routes if the omnipay plugin doesn't just work out of the box - either contribute your modifications back to the original project and keep it as the source of the plugin (possibly from your forked repo), or you can fork the original and create it as a separate project. The first one is usually the right answer, particularly if the existing plugin looks like it's going to be maintained. There are some confusing bits in terms of the vendor paths and git sources in the composer file that you'll have to figure out to sort this out.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.