We integrated Blackbaud’s Next-Generation SKY API to Accept Donations in Drupal and it was, well, easy

Around this time last year, ELCA approached us to replatform their symbolic giving catalog GoodGifts with a catch – it had to run transactions through BBMS, which meant integrating with Blackbaud’s next-generation SKY API. With so many nonprofits using BBMS, we’d been wanting to integrate with it for awhile, so we jumped at the opportunity.

Of course, there is this perception that an API means easily slinging data around the interwebs. That is certainly not true in many many cases as APIs, those who write them, and the documentation and support around them can be highly variable. Having integrated other sites with Luminate, we allocated plenty of time for the integration.

And then it only took, maybe, a couple days. And that was to build a module that fully integrates it with the platform AND make it work for ELCA. The next implementation will take far less.

So, yeah, It was super straight forward. And we found a hugely responsive Payments team and online community made it even better. We were flabbergasted in the best possible way.

The more technically inclined may be interested in some of the Drupal-specifics. We implemented the Payments section of the SKY API through the Drupal Commerce 1 (Drupal 7) framework via the Rules pattern. The only notable challenge came with handling authorization to ensure session tokens are refreshed every 60 seconds to prevent donors from running into errors while donating.

Now, as we look to the next, more powerful Drupal 8 iteration of the giving platform, we’re confident Blackbaud Payments will be an early supported payment gateway.

This project was is a featured in the “Consolidating Payments with Blackbaud’s API” session by Mina Mistry at BBCON 2019.