Reply
Ubiquiti Employee
Posts: 3,810
Registered: ‎12-10-2015
Kudos: 1345
Solutions: 295

Custom payment gateway integration using a plugin.

Hi all, 

one the most frequently asked feature is Payment Gateway Integration with a custom provider.

 

Now, using the customizable client zone pages, this becomes possible. You can create a new custom client zone page to enable new online payments:

Selection_999(222).png

 

On the new client zone page, you can show any details you want: about unpaid invoices or provide your client with any "call to action":

  • create a single payment for an unpaid invoice
  • set up a payment subscription linked to client's service (fixed payment on a fixed date)
  • set up "autopay" (client will be charged based on the current account balance on a fixed date)

 

What do you think about this?

Do you need more info, extend current API, or anything else?

 

Note that the existing pages and existing buttons (for example the "Pay online" button at /client-zone/invoices) can't be affected or modified by a plugin, for now. However, this could be feasible in the future upgrades of the Plugins configuration.

Veteran Member
Posts: 4,527
Registered: ‎05-19-2009
Kudos: 781
Solutions: 23

Re: Custom payment gateway integration using a plugin.

will the pay online button still work in emails bypassing the client zone?

Ubiquiti Employee
Posts: 3,810
Registered: ‎12-10-2015
Kudos: 1345
Solutions: 295

Re: Custom payment gateway integration using a plugin.

[ Edited ]

Currently, the "pay online button" sent in emails is associated with one of the hard-coded payment gateways. However, we could simply provide API endpoint to enable a custom plugin to handle the payment when "pay online button" is clicked.

Technically, each invoice is given a token id, which is used in the "pay online button" URL. When clicked, the system (and also the plugin) can recognize the invoice to be paid using the token id.

 

@900mhzdude will you or anyone else start working on this soon?

New Member
Posts: 32
Registered: ‎03-25-2016
Kudos: 3

Re: Custom payment gateway integration using a plugin.

@900mhzdude Yes my development team is currently on this. We should be done with in the next few months. As we must test this thoroughly to ensure total PCI compliance. 

Veteran Member
Posts: 4,527
Registered: ‎05-19-2009
Kudos: 781
Solutions: 23

Re: Custom payment gateway integration using a plugin.

@UBNT-Petr

 

We are set with IP Pay

 

I'm asking for others needing this for there setup

Ubiquiti Employee
Posts: 3,810
Registered: ‎12-10-2015
Kudos: 1345
Solutions: 295

Re: Custom payment gateway integration using a plugin.

@HFarnes let us know if you need something to be done in API or whatever.
Member
Posts: 196
Registered: ‎03-19-2018
Kudos: 31
Solutions: 7

Re: Custom payment gateway integration using a plugin.

It would be really helpful to have linked subscriptions through the API.

 

https://community.ubnt.com/t5/UCRM-Feature-Requests/Creating-Subscriptions-via-API/idi-p/2342937

 

https://community.ubnt.com/t5/UCRM-Feature-Requests/API-Linked-Subscriptions/idc-p/2393676#M1264

HTML, SCSS, Javascript(Ember.js), Ruby(Ruby on Rails), PHP
New Member
Posts: 4
Registered: ‎08-12-2018
Kudos: 1

Re: Custom payment gateway integration using a plugin.

Hi there, will you kindly assist with a step by step guide on how to achieve this option
Member
Posts: 196
Registered: ‎03-19-2018
Kudos: 31
Solutions: 7

Re: Custom payment gateway integration using a plugin.


@UBNT-Petr wrote:

Currently, the "pay online button" sent in emails is associated with one of the hard-coded payment gateways. However, we could simply provide API endpoint to enable a custom plugin to handle the payment when "pay online button" is clicked.

Technically, each invoice is given a token id, which is used in the "pay online button" URL. When clicked, the system (and also the plugin) can recognize the invoice to be paid using the token id.

 

@900mhzdude will you or anyone else start working on this soon?


I'm actively looking into payment gateway integrations. If this can be made available to the API it would be wonderful, the main drawback currently is the inability to setup Subscriptions and Linked Subscriptions via the API, the invoice "Pay online" would be another big part of it.

 

Do you have an ETA on the improvements to the API? Is it even reasonable to expect plugin payment gateways to utilize the current UCRM subscriptions or is it that since you're looking for developers to build the gateway integrations the subscriptions would need to be built unique to the gateway as well?

 

I'm considering developing my own subscriptions management via the admin/user menus but it would be ideal to be integrated more tightly with what's already available in UCRM if possible.

HTML, SCSS, Javascript(Ember.js), Ruby(Ruby on Rails), PHP
New Member
Posts: 32
Registered: ‎03-25-2016
Kudos: 3

Re: Custom payment gateway integration using a plugin.

Brandon-W yes my team is working on this right now.

Ubiquiti Employee
Posts: 3,810
Registered: ‎12-10-2015
Kudos: 1345
Solutions: 295

Re: Custom payment gateway integration using a plugin.

@Brandon-W depends on how many interactions between the plugin and UCRM you would like to have (regarding the subscriptions)

A) None or minimum
- the plugin would handle the payments or subscriptions totally on its own. The data about the subscriptions would be stored by the plugin, and the information about the subscriptions won't be shown on the native UCRM pages. Only the resulting payments will be pushed to UCRM via API making the invoices paid. This solution requires no additional API

B) Many interactions
For example: subscriptions would be created by the plugin but the data about the subscriptions would be stored by UCRM, and visible in client zone / admin zone on the existing native pages.

I prefer solution A. The reason is that each payment gateway works differently, needs different data and the subscriptions need to be handled differently. So it's better to let the plugin do the whole job.

However, there should be no problem to provide you with a few more API endpoints if you need. for example: to get the invoice by its token (to enable you to handle the "payment online" button) - ETA in early Jan, if you wish so.

@HFarnes @Brandon-W What do you think?
(one more idea: maybe the plugin could push the info about subscriptions into UCRM, but UCRM wouldn't do anything but showing it to admins and clients - no payments triggering, no editing, just read-only data. The plugin would still be responsible for the management of the subscriptions and triggering the payments)
Member
Posts: 196
Registered: ‎03-19-2018
Kudos: 31
Solutions: 7

Re: Custom payment gateway integration using a plugin.

I think you're right about the first option in light of the unique complexity of subscriptions. As far as the third option you mentioned, this could be helpful but by utilizing client zone and admin plugin pages I think subscriptions could be viewed and edited with little interaction with UCRM other then the payments going through.

 

The invoice token I think would then be the main addition, and with that, the plugins are starting to feel very close to having what they need. I appreciate the thoughts @UBNT-Petr, I will be looking into handling subscriptions via the plugin and will keep you posted if I come across any roadblocks.

HTML, SCSS, Javascript(Ember.js), Ruby(Ruby on Rails), PHP
New Member
Posts: 32
Registered: ‎03-25-2016
Kudos: 3

Re: Custom payment gateway integration using a plugin.

Yes, option A that way you're EMV/PCI compliant so long as you host UCRM in a compliant DC.

Member
Posts: 196
Registered: ‎03-19-2018
Kudos: 31
Solutions: 7

Re: Custom payment gateway integration using a plugin.


@HFarnes wrote:

Yes, option A that way you're EMV/PCI compliant so long as you host UCRM in a compliant DC.


You could be compliant either way... The card information will never be stored in UCRM or the plugin in any case. The only compliance issues to worry about is that you transfer the data to the gateways properly over a secure network.

HTML, SCSS, Javascript(Ember.js), Ruby(Ruby on Rails), PHP
New Member
Posts: 32
Registered: ‎03-25-2016
Kudos: 3

Re: Custom payment gateway integration using a plugin.

Yes, But as an interface to a gateway although it never stores card holder data it does communicate keyed in cards and authorize payments. Your solution Is to be PCI compliant to what ever level is applicable. (Based on revenue) Our gateways use tokenized data and PTP encryption but we still have to test it. We're working on this intergration now and hope to be done soon.

Highlighted
Member
Posts: 117
Registered: ‎02-01-2014
Kudos: 14
Solutions: 1

Re: Custom payment gateway integration using a plugin.

Is there more info you can provide about this plugin you are working on?  I'm waiting to swtich to UCRM, but cannot due to the fact that autopay for the current client balance is not supported (at least not on IPPay.  I'm curious what this plugin does and how many billing issues it will fix.  Also, how soon it will be available.  I only have a few months before my busy season starts again and then I will be too busy to migrate to UCRM, so my fingers are crossed that it will be available soon!  Man Happy

Veteran Member
Posts: 4,527
Registered: ‎05-19-2009
Kudos: 781
Solutions: 23

Re: Custom payment gateway integration using a plugin.

Gateways charge too much for autopay just have clients set up automatic bill pay with there banks

Member
Posts: 117
Registered: ‎02-01-2014
Kudos: 14
Solutions: 1

Re: Custom payment gateway integration using a plugin.

That's a no-go for us.  The whole point of taking credit cards it to make it easier.  Out of 400+ clients, we have maybe 10 that use their banks bill pay, which just causes more work for us because then we have to manually enter in and deposit more checks.

 

Plus people change plans or buy extra service or products sometimes, or sometimes they have issues with their service and we give them a credit, etc.  All of those require the customer to issue a one time payment for prorated amounts, and then log into their bank and change the amount of the bill pay.  major pain in the ass, and causes us more time and hassle than it's worth.

 

I want a customer to be able to enter their credit card info ONCE and then no matter how much they owe us on their billing date, it gets charged and they are happy.  I'm not aware of gateways charging more for this.... which charges are those?

Veteran Member
Posts: 4,527
Registered: ‎05-19-2009
Kudos: 781
Solutions: 23

Re: Custom payment gateway integration using a plugin.

I think keeping UCRM PCi compliant is the issue don't think a billing server " UCRM" would be allowed to store credit cards

 

 

I don't see anything stopping a payment gateway from making a plugin that would allow this

 

https://www.pcicomplianceguide.org/faq/

Member
Posts: 117
Registered: ‎02-01-2014
Kudos: 14
Solutions: 1

Re: Custom payment gateway integration using a plugin.

My understanding is that when you submit the credit card info, it creates a token and stores the credit card on the payment gateway's server.  When an invoice needs to be processed through UCRM, it gives the payment gateway the token and the amount to charge, and the gateway takes care of it.  No card info stored in UCRM. 

 

I believe that is already how it works when you use Stripe and enable "linked subscription"... but UBNT said that other gateways would be implemetind in "1-2 months" and that was almost a year ago.  I'm trying to find out if this custom gateway adds the additional functionality or not. 

Reply