Best payment gateways and Rails gems for secure payments? [closed] - ruby-on-rails

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I'm developing a website in Ruby on Rails to sell valuable goods. We need to have a very secure payment system in order for people to purchase stuff online.
Companies like PayPal seem to take a big commission, so we are wondering how sites like 99 designs or ugallery handle payments?
I'm a programmer, but until a year or so ago, I was entirely coding in C++. 2 months back, I switched to Rails and I have a little bit of experience in that, but I want to know what the best way is to tackle this problem. Obviously, I want to make sure that my customers know our system is fully secure, but I have 0 experience in developing commercial websites like this.
What pitfalls should we be aware of? Any examples I can look at? Are there Rails gems that we can leverage to set this up? How do we go about getting our site verified by a McAfee/Verisign/whatever (and is this necessary?)

It depends on what your goals are:
Stripe is great if you're looking for super easy less than an hour to setup type system. They have comparable or lower rates than you'll find else where at 2.9% + $0.30. What you'll find is other places do the same base rate, but they have monthly fees or other fees you'll have to pay. Stripe doesn't have any of these fees.
If you're looking to not get killed per transaction checkout Dwolla. They only charge .25 per transaction. The people paying on your site will need to register for a Dwolla account, but it's pretty easy to do and as it becomes more common more and more folks will have one.

The best and easiest way to have a secure payment system is to have as little to do with it as possible. I've heard good things about Braintree Payments -- especially about their client libraries. (Though Square definitely has the "buzz" these days as the new hip and cool payment processing vendor.)
Whoever does your purchase processing will take a cut. It's part of the convenience of not counting $100 bills and checking each one with test-pens and loupes to ensure you're not being taken.
I giggle every time I see a "Verified by McAfee" or "Verified by Verisign" logo on a web site. I don't know what they actually do to "earn" that badge, but in my mind I imagine it mostly starts and stops with a payment of $$$ and periodically checking that the site's SSL certificate hasn't expired. I can't imagine that they actually have a team of hackers looking for weaknesses in websites constantly and they absolutely cannot provide any assurances that the site hasn't been hacked -- unless they also provide hosting. Maybe ask your payment processor if their clients have noticed any sales increase / decrease with the little logos or if there is any actual value to these products. I doubt it, but perhaps someone else has hard numbers.

try spree

In terms of pricing, all payment gateways are more or less the same. The thing you need to worry about more is security. Your customer's confidential information would be vulnerable if you don't use secure payment gateways.
When comparing security, Stripe is the most secure platform. It provides PCI-Compliance and uses high-risk radar and 3D security to prevent malicious attacks. It charges 2.9% + 30¢ per transaction. In the second position, I would place Square, it is a powerful platform and protects customers' information through the machine learning model. Square charges 2.6% + 10¢ per transaction.
This blog regarding the [best WooCommerce payment gateways][1] will help in better comparison against prices and security.

Related

Is the Parse SDK worth it? (cost-effective?) [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I'm creating an iOS app that uses remote databases, sessions (login/registration), server side code, and push notifications.
I found this SDK called Parse that handles all of the server stuff like hosting, the database, cloud code, push notifications, sessions, etc... (so pretty much everything I need to do)
Is Parse SDK worth using (cost-wise) in general?
NOTE - FTR, PARSE HAVE TOTALLY CHANGED THEIR PRICING PLANS (5/2014)
these are the old plans...
With the free version, you get 1 million requests a month (I'm guessing this means requests to the database?), 1 million pushes a month, and the burst limit is 20/second.
The next version up costs $199/month, you get 15 million requests a month, 5 million pushes, and the burst limit is 40/second.
Do you think it will pay for itself if goes over 1 million requests / month, and I have to pay for the $199/month version? What if I plan on making money with my app via ads, will it earn enough?
Let's say every person accesses the database 5 times a day, that's 150 times a month, that means it will take 6,666 people until I have to upgrade. On average, will ads pay for the $199/month if I have that many people viewing the ads a day? (also, take into account that Parse is taking care of security, the cost of the servers, and maintenance)
Another thing to consider is, how difficult/costly is it to create (and maintain):
Server side code
Database management and security
Push notifications
Set up a host
Session management and security
Will the robustness, security, and ease of maintainability when using Parse will help pay for itself?
Thanks!
As someone who has looked into this before, to see if its "worth it" it depends on a few things. And i have a few questions followed by some answers if these are your cases.
Does your app cost?
If not then look at how you are going to make the money, will you cover the expenses? I Imagine even with advertising only on a free app you will be making enough money to cover the expenses. If you start to have "too many" requests.. that's a GOOD thing! it means you have a lot of users or active users which in an advertising sense, is good. Or even in a paid app sense.
Does your app have a bunch of requests operations?
For example, in my app we have a chat system, obviously that's going to be a heavy load on requests. Take that into consideration
Are you in a hurry to develop?
If your in a hurry, obviously go with Parse, they handle a lot of great things for you and is a really amazing product. fast secure and reliable.
So if you're in a hurry, and are expecting users. Then go for it! Even if you don't get users, you can always go with Parse Free and when you reach your limits with Parse Free, you should have enough users to start paying and upgrading your services.
Also, paying for server maintenance is no joke. The only reason we do not use parse, is because of the fact that we like to have control. And even Parse is giving you more and more control each release.
Once Push Notifications have been implemented and are being used, there's really no maintenance after that.
In a nutshell, yes. Parse allows developers with little to no infrastructure to execute on an idea without the need to pre-purchase hardware in anticipation of traffic or scale overnight if an idea goes viral.
Another way to look at it is - Would you rather focus on the app/idea or the backend infrastructure along with maintenance? Personally I almost consider the $199 the cost of doing business so to speak and allowing me to focus on implementing new features.
Ads and donations will help make a dent but it's the ease of upgrade where they are most beneficial. Updating your own personal hosting can be anything but easy if your app gains critical mass overnight.
PS - Check out their docs for some quick ways to implement things such as log in pages: Parse Login and Signup Views
Reference: I've used Parse with some indie projects and in an enterprise setting.

Recurly vs SaaS Kit

From some reading and input from a couple of seasoned developers, it appears that I'm down to a choice between Recurly and RailsKits.com SaaS Kit. I'm hopeful to get some broader experiences from folks in the community here as to the pros and cons perhaps you've experienced.
I'd really like to be sure that I put together an apples-to-apples comparison here.
First, I'm offering a service that has two subscription levels of about $1 and $5 / month recurring. These may be paid in either monthly, yearly or every three years (get some discounts at the longer subscription levels). I obviously need to keep transactional costs as low as possible, but I need to maintain this and be sure that recurring billing is reliable and not problematic.
I'll be building this atop Rails 3.
The bag seems mixed as you get a more robust admin feature set it seems with Recurly, yet I may be able to save enough with a SaaS Kit + (for example) https://merchant-apply.com/tesly to make it worth it.
I have reviewed Chargify vs Recurly and Recurly seems to be the winner for my particular model and so that's why I've kinda eliminated many other options at this point.
If you've faced this before, what has worked for you or do you have some practical input in this regard?
I work at Recurly, so I'll try to not make this a sales pitch :)
As I noted in the comments above, PCI compliance can be tricky, time-consuming, and expensive, so please check each product and see what is required for your business. You can see documentation on Recurly's PCI compliance requirements at http://docs.recurly.com/security/pci-compliance/. SaaS Kit reduces some elements of PCI compliance by storing the payment information with the gateway, but this means you cannot easily switch payment gateways - most gateways will not allow you to take your data with you. If you choose to use Authorize.net's CIM service with SaaS Kit, this will be an additional $20/month gateway fee for the credit card storage.
I also recommend you take a look at the API docs of each product. Depending on your integration complexity with Recurly, some merchants never need to work with the API (instead using hosted checkout pages and the admin virtual console inside Recurly), but other merchants will have a more complex billing scenario that involves use of the API. The docs for each product should give you a good idea of how easy they will be to work with.
I'd be happy to answer any questions you have as you continue to look!

What production-ready SaaS (recurring billing) solutions are available for Rails? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I am working on a software-as-a-service (SaaS) application and I am looking for a billing plugin of some sort that will manage my subscriptions, customers, and recurring billing. There is the RailsKits SaaS kit ($249.00), but I prefer to use open source software. I have also found maccman's saasy, but the phrase "At the moment this is alpha code - use at your own risk" makes me a tad bit nervous.
You could just outsource the whole SaaS side of things.
http://Recurly.com
http://chargify.com
http://spreedly.com
http://cheddargetter.com
http://fusebill.com
http://chargebee.com
There are other providers like SAASY.com, 2Checkout.com who provide a bundled merchant account + payment gateway service along with subscription billing.
Unless your application actually does billing as its CORE FUNCTION, you definitely, definitely, want to get billing OUT of your app!
Get your business to find another solution for that function (or outsource it to e.g. Salesforce.com - most others do). Your development team should be working on the product you sell, not internally reinventing wheels.
I've heard a lot of good things about CheddarGetter for recurring billing. A friend of mine who did web design for a local e-mag said they ended up being the least expensive given the size of his little subscription pool... dunno how big you are but it might be worth checking out. Also, every once in a while I see retweets of them answering questions in my twitter feed... so that's probably a good sign.
EDIT: A quick check shows me it's on rails & open source as well.
Recurly http://recurly.com is also being used by many companies to launch professional subscription billing solutions. No setup fees, no cancellation fees. Easy to deploy.
Check us out.
We use CheddarGetter for a SaaS we're releasing at my office, and although it took a lot of research to get to that point, I'm really glad we're going with them. Their support staff was incredible - they answered our calls right away, and have a good knack of walking you through the whole billing process, which can be really confusing without some help.
Another reason we chose them was because we could opt to use their own gateway, and so didn't have to make customers leave our app to pay, like PayPal Standard would make you do. Plus, they allow for unlimited transactions and customers - which is good for our growing product - and their features cover all our recurring needs (changing subscriptions, multiple cards, billing at the start of the month, etc). They also have a well-documented API and a good wrapper library (even with code for Ruby!), which I'm sure we'll be digging into once we get everything set up.

How to communicate well with the customer [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
I have a challenge I need some input on.
I am currently recruiting programmers for a new development department. I am looking for people that are brilliant at their work – so brilliant that they might “lack” some other things that I normally would require them to have (e.g. speaking Norwegian and (to be honest) – social skills in order to be able to meet the customer (I’ve worked with several of them before :) )).
My issue is in regards to communication between the client (customer) and the development team.
Background: We have a strategy of becoming our customers extended development department over the next two years. E.g. they consider us as their own department just sitting somewhere else. While we are on our way towards this target, we will have to make money on smaller projects. The work is there, so I am not afraid that we will not manage to stay alive.
But – we all know that good communication with the customer is one of the key elements on providing the customer with what they actually want (we are scrumming by the way) instead of something else. How do I manage to do this with people that do not speak the language, or again, does not even have the skills to communicate with the customer (you all know someone very bright that is going into deep technical issues with a customer that hardly knows the difference between Firefox & Opera)?
I have landed on a solution where I will be the interface towards the customer, the customer will join in on planning sessions, etc., and where the team will still do the demo. But in regards to continuous communication (daily) between the dev team and the customer, I will be the one doing the comms.
I know that this is not the optimal solution – being a middle man a lot of information can disappear between the customer, me and the team. Have anyone been in a similar situation?
Create a wiki. Create a page for your customer which contains pictures, business information, things to look out for, etc.
Have everyone contribute to the wiki, including the customer.
As time goes on, this page (or pages if you split the information on numerous pages) will allow
new developers to understand the customer faster
see the possible problems that may arise
your developers would contribute to the wiki since they have a tangible documentation where everyone can see how much they have contributed to the customer.
make the customer feel as if he is part of the development process
since the wiki is, by effect, a collaboration document, a common language will appear between everyone. It might not be the same as speaking your customer's language, but it will be a combination of your customer's and developer's language.
We've had a somewhat similar situation when we did "Beta programs" for select customers. When the customers had questions, they could only turn to the developers at that stage of the project because e.g. the helpdesk was not yet familiar with the new features.
We also used a "middle man" for doingt the communication with the customer and then passing it on to the developers, and this has worked quite well for us. What were the advantages? The customer alsways knew exactly whom to contact, the communication was consistent, some on the simpler questions could be answered without the need to "bug" the development team at all while some more difficult questions could be "boiled down" from a superfluous explanation to the real problem before handing the question over to the developers, both giving the developers more time to concentrate on what they do best.
Of course, if you want this to work, you'll have to make sure you pass on information between development and the customer in a timely manner, but I think it can be worth the effort (and in fact, our developers prefer it that way).
Communication skills are arguably more important than technical skills. A programmer that doesn't communicate well may well cause enough disruption to negate what they bring to the table technically.
Having said that, you still have to realize that not everyone is the best person to be "customer facing". You might designate one or more members of the team as liasons to your customers, and have the communication go through them when possible.
The developers should be shielded from the customers. Developers are usually hardcore technical people who eat C++ templates at breakfast. The customers are often very non-technical. A customer asking a badly formulated question on some trivial issue to the developer usually irritates the developer a lot causing at least a temporary loss of productivity. So it's better to have special paid people that work in between.
Don't underestimate the value of being in the same place. If communication skills are lacking, being able to point and say "look at this" can be far quicker and more effective than trying to explain everything in a meeting or email. But from "they consider us as their own department just sitting somewhere else" this doesn't sound like it is an option for you.
Generally I expect that at least some of your developers will be open to learning proper communication with the customer. Involve those developers with the communication (even if it's painful at first). English is a pretty universal language and your customer will probably be able and willing to speak it.
Shield the developers that DON'T want to communicate or learn to communicate with the customers. They may damage your relationship with the customer and you will damage your relationship with your employee.
Be careful about allowing written contact between the customer and your developers. Written communication often gets interpreted wrong, especially when written by people who do not have much experience writing carefully balanced e-mails, memos or letters.
As you build your relationship with your customer, you'll get to know eachother's personalities, and communication will be smoother.

How to balance zone time against open and active communication within a development team? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
How to balance "zone" time against open and active communication within a development team?
Read "Peopleware"
Offices with doors.
phones you can turn off.
emails
Usable common areas with whiteboards.
There are some phases of development when lots of collaboration is very productive and other times where individual focus is important. Also, people work differently - you don't wantt o interrupt folks who do better when left alone and you don't want to isolate those who need feedback and help. I would avoid rules and just make it clear to t ateam that this is an issue and it is up to each developer to enforce their own desired environment. Management should support it.
USEFUL meetings are great, but open bullpens as work environments for "open communication" is a fantasy dreamed up by beancounters or managers who want to keep an eye on all their staff.
Our office converted recently to the "bullpen" style Tim referred to. Software people were unimpressed, to say the least. To work around this we implemented the following things:
1) Division internal mailing list
2) Dev-team internal mailing lists
3) Every developer is available via Google Talk for discussions without leaving our desks
4) Headphones means "it better be important"
5) If more than 2 people need to talk together, you find a meeting space so you don't disturb your colleagues.
6) We usually only use e-mail for speaking with clients or providing individuals with files through attachments.
The result of these actions is that the Signal-to-Noise ratio in communication is much better, since you are not bombarded with e-mail all day long.
One thing we tried that did not work so well was the "party chat" feature of Google Talk (basically using a Google Talk Contact as a stripped-down IRC chatroom). It could be because many of our developers are young (we have between 3-15 University co-ops year-round) but "party chat" became a very apt name for what it ended up being used for.
Whiteboards are scarce where I work but we sold management on the concept of a room that was to be used for 6 people maximum who could hole up and do intense design and development. It has a couple whiteboards, a DOOR, and all the lights except one can be shut off so it doesn't feel like a fluorescent sun is above your head. This may not be possible in your work environment, but if it is consider it as the room for intense "zone" time.

Resources