Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recurring billing #33

Closed
mario opened this issue Mar 19, 2013 · 10 comments
Closed

Recurring billing #33

mario opened this issue Mar 19, 2013 · 10 comments

Comments

@mario
Copy link

mario commented Mar 19, 2013

Hey guys,
recurring billing is quite important, how come you are not interested in supporting that?

@heathdutton
Copy link

I suppose it's simply because the different gateways handle it (or don't) in very different ways. Tokenized payments needs to come first it seems, since it opens up the capability of manual recurring billing, among other uses.

@mario
Copy link
Author

mario commented Mar 19, 2013

Right, well at least tokenized payments and then some glue would be big help, so many people don't have to reinvent the same thing.

@heathdutton
Copy link

I'm watching this space specifically because CI-Merchant doesn't support tokenization, and Omnipay hopes to.
+1 for tokens!

@amacneil
Copy link
Member

Correct, token billing is the priority right now (since you can build your own recurring billing quite easily with it). Token billing is already supported by one gateway (payment express) so you can check out how it will look already.

Actual recurring billing profiles are only supported by a few of the newer gateways. I've never worked with the APIs so really not sure how much difference there is between their APIs and whether it would even be possible to abstract them, but for now if you want it you should probably use a library targeted to your specific gateway.

I already have enough on my hands implementing basic payments for all the gateways (which is a much higher priority), but if someone wants to look at recurring payments in as many gateways as possible, design a nice consistent API, write all the code, and submit a pull request, I'd be more than happy to take a look at supporting it :)

@heathdutton
Copy link

I will have a look at payment express. Thanks!

@makasim
Copy link

makasim commented Mar 25, 2013

but for now if you want it you should probably use a library targeted to your specific gateway.

I've just added support of recurring payments to payum lib. It works for paypal express checkout.

Here's the doc and sandbox symfony 2 example.

Hope you find it useful.

@superasn
Copy link

superasn commented May 1, 2015

@kayladnls on the main page it says:

Feel free to get in touch if you really think this should be a core feature and worth the effort.

I sincerely feel that this should be supported where possible, like 2Checkout, Paypal, etc.

Almost all SaaS companies I know off require recurring billing.

I was so excited to see this library and I'm sure recurring billing support will only make it 10x useful.

I propose that there should be a way to query the gateway like:

 if ( $gateway->supportsRecurringBilling() ) {
      ...

If you guys are considering it, I'd be more than happy to add code to Paypal and 2Checkout to support recurring billing (as I've implemented them quite a lot for many of my sites).

It would be great if we can decide the API for supporting recurring billing first.

Your thoughts?

@amacneil
Copy link
Member

amacneil commented May 1, 2015

Since I wrote the original readme figure I should add a comment.

The reason we didn't originally support recurring billing isn't that it's not useful, but more because it is hard to abstract the differences between many gateways. I've seen different recurring billing APIs treat things like plans, timeframes, subscriptions, customers, very differently. I think it would be hard to come up with a consistent cross-gateway API for this (especially compared to single credit card charges, which are fairly straightforward).

Of course, it could still be added as a non-standard option in specific gateways (e.g. paypal). That might even be a better place to start, and after implementing a few gateways if we can see some common trends emerge, then that could be added as a common interface.

@superasn
Copy link

superasn commented May 1, 2015

@adrianmacneil that is probably a good idea.. One of my site already have an abstraction layer over PP, 2CO and CCNow (including handling the IPN) and it seems to work just fine..

AFAIK there were a minor issues like 2CO not returning a unique IDs for each transaction within subscription but that ways many years ago.. maybe a fork would be a good way to start?

barryvdh pushed a commit that referenced this issue Feb 13, 2016
Composer shows warnings in any project requiring omnipay-common, since guzzle/http is abandoned and no longer supported. This is not nice, esp. since this might introduce some security issues in future.
barryvdh pushed a commit that referenced this issue Feb 13, 2016
Change abandoned guzzle/http to guzzle/guzzle (fixes #33)
@Ezyweb-uk
Copy link

+1 for subscriptions/recurring billing for Stripe and Paypal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants