Omnipay gateway module

Dear all,

I am considering helping to build an Omnipay module to handle payment gateway API handshake and comms. This would simplify the addition of additional gateways in future.

Omnipay: https://omnipay.thephpleague.com/

@ross Sorry for the duplicates! Please could you provide references to all files that handle payment gateway functions within the Gibbon system? Also any guidance on best practice for module devlopment would be great.

Hi Ibraheem, sounds like a great initiative and a welcome improvement :smiley:

It looks like the payment functionality is currently used in two locations: /modules/Students/applicationForm.php for application fees and /modules/Finance/invoices_payOnline.php for paying invoices. I haven’t used the PayPal functionality myself, so I’m not as familiar with that part of the code, but I know it’s in use at Ross’ school and likely several others. An ideal solution would add in the Omnipay library without interrupting the current use of PayPal.

Feel free to send an email to support@gibbonedu.org and we’ll send you an invite to our developer Slack channel. We’d be happy to help provide some guidance as you dive into the codebase and figure things out.

Hi Ibraheem, Sandra’s v17 work on changing from a single SMS gateway to having a set of options, might be a good model for you to take a look at. Good luck, and thanks for your willingness to get involved with Gibbon! Ross.

Hi @admin, @ross,

For some reason, I didn’t receive any notifications by email for your replies and only just thought to check! My apologies for the delay in getting back to you. I’ll drop a message to support and join the Slack channel as I really want to get started on this!

Hi Ibraheem, I’ve never gotten to the bottom of it, but notifications on this forum are not 100% consistent. I’ll try and take a look in the coming week. In the meantime, I’ve just seen and replied to your email. Welcome to the team! Ross.

Sounds great! I’ve added these threads to the project board: https://github.com/GibbonEdu/core/projects/2