Cherry Posted June 17, 2016 Report Posted June 17, 2016 Blesta: Stripe (plus) GatewayForked version of the original Stripe gateway which includes updated offsite storage and ACH payments. Some of the feature/bug requests this updated gateway resolves are listed below: http://www.blesta.com/forums/index.php?/topic/6224-latest-stripe-api-with-blesta-361/ http://www.blesta.com/forums/index.php?/topic/6089-stripe-invoice-number-in-description/ http://www.blesta.com/forums/index.php?/topic/5812-stripe-ach/ http://www.blesta.com/forums/index.php?/topic/5760-stripe-error-401-when-customer-attempts-charge/ InstallationDownload the latest release version from https://github.com/nodecraft/stripe_plus_gateway/releases and then simply upload the stripe_plus_gateway folder to ~/components/gateways/merchant directory on your Blesta installation. Feature changes from Original GatewayThis gateway has been rewritten from the original version which was distributed with Blesta. The major changes are as follows: Only creates one Stripe Customer per Client Contact, rather than one Stripe Customer per Credit Card Only supports offsite card storage, onsite storage is removed Supports ACH payments* Updated Stripe API PHP SDK to version 3.14.2 Utilizes Stripe API Version 2016-06-15 Adds API key environment selection (test vs live) Updated Currency list to Stripe Documentation Does not utilize Blesta's $client_reference_id lookup to Stripe customer ID. This can cause multiple customer accounts if the user deletes all payment methods. Uses added MySQL table stripe_plus_meta Pros: Prevents your Stripe account from having "dead" data by attaching one customer per payment source. This enhances your ability to fight fraud. Added security by preventing payment source information from being stored locally Cons: *ACH Payments by Stripe require "verification" before payments are accepted. Blesta does not provide any methods for this process to take place. You will need to manually verify the bank account with your customer until this is improved or a plugin created. Roadmap: Add ACH verification if Blesta implements methods on Gateway Download: https://github.com/nodecraft/stripe_plus_gateway Issues/feature requests: https://github.com/nodecraft/stripe_plus_gateway/issues brianlv3, Jonathon, Michael and 5 others 8 Quote
Michael Posted June 17, 2016 Report Posted June 17, 2016 Merci awesome gateway edit mate. Cherry 1 Quote
evolvewh Posted June 17, 2016 Report Posted June 17, 2016 Very nice contribution and we look forward to giving it a try. Would be nice if some or all of these features were put into the core module too! Quote
Blesta Addons Posted June 18, 2016 Report Posted June 18, 2016 Perfect and nice sharing ... Things should be in the core gateways . Why not blesta make all thier plugins , gateways and modules in github , that way other dev can help in improuve/fix/addition .... then blesta team need just to review and merge . evolvewh 1 Quote
evolvewh Posted June 18, 2016 Report Posted June 18, 2016 Perfect and nice sharing ... Things should be in the core gateways . Why not blesta make all thier plugins , gateways and modules in github , that way other dev can help in improuve/fix/addition .... then blesta team need just to review and merge . This sounds like a great idea to me! I think this could help speed up a lot of the development and would eliminate the issues with main Blesta upgrades. I personally don't like to try too many 3rd party extensions because they're a bit harder to maintain or switch back to the core configurations. Quote
Paul Posted June 20, 2016 Report Posted June 20, 2016 Why not blesta make all thier plugins , gateways and modules in github , that way other dev can help in improuve/fix/addition .... then blesta team need just to review and merge . We are considering just that Think we would get many pull requests for improvements, added features, etc? The primary challenge is rights based, in that we ship these extensions with Blesta so we cannot merge changes if the author wants to keep the rights to their contribution. Blesta Addons, Bud Manz and evolvewh 3 Quote
evolvewh Posted June 20, 2016 Report Posted June 20, 2016 We are considering just that Think we would get many pull requests for improvements, added features, etc? The primary challenge is rights based, in that we ship these extensions with Blesta so we cannot merge changes if the author wants to keep the rights to their contribution. Is there any sort of disclaimer / agreement that could be made saying that if they contribute, they lose the rights to it and it's Blesta? I would only guess that they could either contribute or just keep making their own version of a given module if they wanted. Blesta Addons 1 Quote
Paul Posted June 20, 2016 Report Posted June 20, 2016 Is there any sort of disclaimer / agreement that could be made saying that if they contribute, they lose the rights to it and it's Blesta? I would only guess that they could either contribute or just keep making their own version of a given module if they wanted. We could make a disclaimer, but I think we may need a signature from the author assigning rights to us for the contribution. Jonathon and evolvewh 2 Quote
Blesta Addons Posted June 21, 2016 Report Posted June 21, 2016 We could make a disclaimer, but I think we may need a signature from the author assigning rights to us for the contribution. How others do that ? ... Normally plugins in github are open source . Then they are mit or apache licence . Or any other licence . By the way i m the first one will sign this form . Who import for me the improuve and not my rights . I reserve my rights for my own plugins . And if blesta can improuve then and want to ship them i offer the right to blesta to do it . evolvewh and Paul 2 Quote
Daniel B Posted June 21, 2016 Report Posted June 21, 2016 We could make a disclaimer, but I think we may need a signature from the author assigning rights to us for the contribution. What type of license would you be releasing it under? If you'd consider releasing the modules under the MIT license, this wouldn't be an issue. Though you'd also be giving up complete control as well. But if it's just the modules and not the Blesta core, that might not really be an issue since you would need Blesta for the modules anyway. evolvewh 1 Quote
blazedd Posted June 22, 2016 Report Posted June 22, 2016 (prefix: I am one of the dev members which worked on this module). I'd be much more interested in helping with more 3rd party module implementations such as this one if I could provide it via MIT rather than supplementing the Blesta license directly. We didn't have a problem maintaining the license for this release as we really needed the functionality provided. It's difficult to be enthusiastic about contributing when you lose all claim to the work or license attributed. Jason Ryan 1 Quote
Paul Posted June 22, 2016 Report Posted June 22, 2016 (prefix: I am one of the dev members which worked on this module). I'd be much more interested in helping with more 3rd party module implementations such as this one if I could provide it via MIT rather than supplementing the Blesta license directly. We didn't have a problem maintaining the license for this release as we really needed the functionality provided. It's difficult to be enthusiastic about contributing when you lose all claim to the work or license attributed. Thanks for the feedback, MIT is a possibility for extensions and as suggested should alleviate any issues with us including open source extensions with Blesta. We are looking into this. Jason Ryan, blazedd and evolvewh 3 Quote
Jason Ryan Posted July 1, 2016 Report Posted July 1, 2016 @blazedd -You rock man! Definitely a valuable upgrade and works well! Having to manually verify accounts via the Stripe dashboard is rather drab but it will due for now. I just hope I don't get a lot of requests for ACH accounts Thanks for putting this together! Quote
Cherry Posted July 15, 2016 Author Report Posted July 15, 2016 We have released version 1.0.2 of this gateway today, which patches a small bug that prevented users from making "credit payments", and depositing funds not applicable to any invoice. We also took the opportunity to update the Stripe PHP SDK version, which patches a few issues. Full changelog: https://github.com/nodecraft/stripe_plus_gateway/blob/master/CHANGELOG.md Download the latest version at https://github.com/nodecraft/stripe_plus_gateway/releases Rocketz, Michael, Paul and 1 other 4 Quote
Paul Posted September 8, 2016 Report Posted September 8, 2016 A customer reports that the Invoice ID, rather than the Invoice Number is passed along to Stripe. This number is then included on client's credit card statements. It's possible that this issue exists in the official Stripe gateway as well, but I thought I would mention it here in case @Cherry doesn't mind taking a peek. Jason Ryan and Michael 2 Quote
Max Posted September 11, 2016 Report Posted September 11, 2016 On 6/21/2016 at 0:15 AM, evolvewh said: Is there any sort of disclaimer / agreement that could be made saying that if they contribute, they lose the rights to it and it's Blesta? That may work for small code modifications to core modules, but doubt many professional developers would do so for modules they created themselves. It is more common for developers to retain their rights, and even if the client paid to have something custom developed to only grant them a license. Why? Well, it prevents the developer getting sued, if he ever does a similar looking project for another customer. Would personally rather see that Blesta stopped using their own propitiatory modules for things like handling payments, and switched to using something more standard like the Omnipay library. There is no way Blesta or any other billing system can properly test modules for gateways they are not using themselves. So using something used by more projects makes sense. And yes, that would mean the competition could use the exact same set of modules. But so what, find something else to compete on... Michael 1 Quote
Michael Posted September 11, 2016 Report Posted September 11, 2016 3 hours ago, Max said: That may work for small code modifications to core modules, but doubt many professional developers would do so for modules they created themselves. It is more common for developers to retain their rights, and even if the client paid to have something custom developed to only grant them a license. Why? Well, it prevents the developer getting sued, if he ever does a similar looking project for another customer. Would personally rather see that Blesta stopped using their own propitiatory modules for things like handling payments, and switched to using something more standard like the Omnipay library. There is no way Blesta or any other billing system can properly test modules for gateways they are not using themselves. So using something used by more projects makes sense. And yes, that would mean the competition could use the exact same set of modules. But so what, find something else to compete on... Agreed about the developer but not with the Omnipay library as that means you have to relay on them and not Blesta who make the software they develop. Even if it is open-source it can get screwed look at that control panel forgot what it's called since the developer took his life when there were some security issues. and zPanel insecure but open-source. Quote
Max Posted September 11, 2016 Report Posted September 11, 2016 3 hours ago, Licensecart said: Agreed about the developer but not with the Omnipay library as that means you have to relay on them and not Blesta who make the software they develop. Well, Blesta did not write the third-party libraries they are currently using to communicate with say Stripe, Braintree, PagSeguro and Converge either... And the implementations they did do are kinda minimal. E.g. the HTML form "buy" buttons for non-merchant gateways like Paypal that Blesta currently spits out, and that the customer has to click on, may technically work. But properly using the payment provider's API to create a transaction and redirecting the customer automatically would be a lot nicer... Quote
Michael Posted September 11, 2016 Report Posted September 11, 2016 18 minutes ago, Max said: Well, Blesta did not write the third-party libraries they are currently using to communicate with say Stripe, Braintree, PagSeguro and Converge either... And the implementations they did do are kinda minimal. E.g. the HTML form "buy" buttons for non-merchant gateways like Paypal that Blesta currently spits out, and that the customer has to click on, may technically work. But properly using the payment provider's API to create a transaction and redirecting the customer automatically would be a lot nicer... True they use the api library provided by the providers but they do everything Blesta needs and callbacks themselves so they know it works fully and it would also be harder to use a third-party library like omnipay, and try and get every payment gateway to tell Blesta what's it's doing. But if people do want omnipay you did a module for it But I'm bias as a few know and try and keep third party modules to ones I need and know they maintain it and donate if needed or pay a monthly or one-time price. Eg: if I sold vps: SolusVM extended would be the only one I'd need. If I sold cPanel shared hosting I have a choice, free cPanel Extended, the paid one or (maybe) ModulesGarden's one if they decided to make their own one again. Quote
Max Posted September 11, 2016 Report Posted September 11, 2016 14 minutes ago, Licensecart said: True they use the api library provided by the providers but they do everything Blesta needs and callbacks themselves so they know it works fully and it would also be harder to use a third-party library like omnipay, and try and get every payment gateway to tell Blesta what's it's doing. But if people do want omnipay you did a module for it But I'm bias as a few know and try and keep third party modules to ones I need and know they maintain it and donate if needed or pay a monthly or one-time price. The libraries provided by providers often leave to be desired, and are not used by other projects. E.g. they fail to include unit tests that simulate requests and responses. As far as my module goes, it only implemented a small subset of the gateways as a proof of concept. For things like merchant gateway support, tokenization (think stripe.js), securecode/3dsecure, and recurring payments changes to Blesta core code would be necessary. Michael 1 Quote
Jason Ryan Posted September 22, 2016 Report Posted September 22, 2016 On 9/8/2016 at 0:36 PM, Paul said: A customer reports that the Invoice ID, rather than the Invoice Number is passed along to Stripe. This number is then included on client's credit card statements. It's possible that this issue exists in the official Stripe gateway as well, but I thought I would mention it here in case @Cherry doesn't mind taking a peek. Hello @Cherry - I was the one experiencing this issue with the Stripe Plus plugin and am curious if this could be examined. Or do you prefer that I submit the issue on the repo on Git? In addition to this, since I had updated to the latest version of this plugin and updated the Stripe SDK, it seems that it caused a disassociation between the gateway and the plugin. Any client of mine who had made previous payments with existing payment accounts have been emailing saying they aren't able to make payments. From the Client Portal, they are seeing this message: The gateway does not support payments in this manner. If I try to make the payment from the administration panel in the client's account, I receive this message: The gateway does not exist or is not enabled. Now, I had another client remove their credit card information and re-enter it and they were then able to make a payment. Also, a brand new client after the update was able to make a payment as well. My gravest concern here is as more and more clients get added and this happens again it would be extremely bad for business. Any help or insight into this issue would be much appreciated! Quote
blazedd Posted September 23, 2016 Report Posted September 23, 2016 On 9/22/2016 at 2:04 PM, viablethought said: [...] In addition to this, since I had updated to the latest version of this plugin and updated the Stripe SDK, [...] @viablethought How did you perform the upgrade? For example did you use the upgrade function or did you uninstall & install again? Quote
Jason Ryan Posted September 23, 2016 Report Posted September 23, 2016 6 minutes ago, blazedd said: @viablethought How did you perform the upgrade? For example did you use the upgrade function or did you uninstall & install again? @blazedd - I uninstalled and reinstalled the plugin. I wasn't aware there was an "upgrade" function from within the panel since it was third party code being hosted on Git. Quote
blazedd Posted September 23, 2016 Report Posted September 23, 2016 4 minutes ago, viablethought said: @blazedd - I uninstalled and reinstalled the plugin. I wasn't aware there was an "upgrade" function from within the panel since it was third party code being hosted on Git. @viablethought So, that's 100% what caused the desync for your users. One of the "problems" with a plugin system for any modular system like Blesta, Wordpress, etc is that there has to be a cleanup function which is run on uninstall. This prevents plugins from modifying your database permanently, even after you uninstall the plugin (long term or short term). In our system if it's the last company on your blesta install to have had the gateway: it will delete the database where its stores the stripe customer connections. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.