adunar
The Kyocera Rally is another 3G candy bar feature phone with more of a budget price ($20 from Amazon but locked to T-Mobile).
Show HN: Telerivet – Build SMS services in any country with JavaScript
4 Ways Online Services Can Prepare for the Next Heartbleed
Telerivet helps African entrepreneurs power their businesses through SMS
I worked at a non-profit fiscally sponsored by the Trust for Conservation Innovation (http://trustforconservationinnovation.org/), which is focused on environmental projects and takes 8% of project revenue.
I definitely recommend non-profit startups consider starting with a fiscal sponsor instead of trying to register as an independent 501(c)(3). You can always spin off later if necessary.
Telerivet Raises $1M To Provide A SMS Platform For The Developing World
Using an Android app as an SMS gateway is convenient for personal texting, but it's even more valuable for organizations working in developing countries -- where SMS is even more important, but services like Twilio don't provide local phone numbers and getting a shortcode can cost thousands of dollars.
My start-up (http://telerivet.com) works with a bunch of organizations that pay us for a more advanced version of essentially the same basic concept. (For example, Kiva.org uses our system to communicate with their borrowers in Kenya via an Android SMS gateway.)
Our manual review process usually consists of looking at:
- When the customer first registers, we ask them an open-ended question, "How do you plan on using Telerivet?". Did they provide an answer that would indicate that they are a legitimate customer?
- Does the customer's verified email address look suspicious (e.g. a disposable email account, or something that seems randomly generated)? Actually now we automatically block accounts from known disposable email providers from registering for Telerivet in the first place, but that's a whole different story.
- Does the customer's name look suspicious (e.g. random letters/numbers)?
- Does the customer's use of our service so far look suspicious?
Potentially we may also follow up with the customer over email. People who seem suspicious typically don't respond.
- Credit cards that fail the address, zip, or CVC check. Stripe tells you whether these checks fail, but will still process the payment anyway.
- Unusually large payments. For some reason we often see suspicious credit card payments of exactly $100. Maybe they're just testing if a stolen credit card works?
- Payments for very new customers, or for customers that aren't actively using our service yet. Our service has a free plan for testing, so most real customers don't pay immediately.
- Same credit card used on multiple accounts. We store Stripe's card fingerprint for each account so we can easily search our database for duplicates.
- Multiple payments in a short amount of time.
When someone tries to submit a payment, we create a "customer" record on Stripe and test their credit card first without charging it. If the customer looks suspicious, our servers send us an email and save a record for the pending charge in our database. Then we can investigate further and either process the charge on Stripe or delete it. If the customer is legitimate after all, we'll mark their account as trusted so any future payments will be processed automatically.
One thing Stripe doesn't really mention up front is that it's actually your responsibility to make sure that your customers aren't using stolen credit cards. (I assume this is the same for other payment processors, not just Stripe.)
We received a few payments that seemed suspicious (probably stolen credit cards), which resulted in a couple of chargebacks ($15 fee each) that showed up 3 months later. Since refunding suspicious payments to avoid chargebacks still incurs Stripe's transaction fees, we ended up developing our own heuristics to require manual approval of suspicious payments before sending them to Stripe.
What we did when all the other SMS tools didn't work (in Tanzania)
Even with PHP 5.4, I find it more useful for development than the built-in cli-server, since it gives me more flexibility to simulate the various directives in my nginx configuration files (e.g. gzip_static).