It's just an invoicing program. There are lots of those. Intuit's is widely used. Oracle is also in that business. There's "Anytime Collect", "Zencash", "Esker", "Celtrino". and many others.
The more advanced players support electronic data interchange (EDI), where your accounts receivable system connects to the buyer's accounts payable system. Many large companies require EDI for suppliers who generate a lot of invoices, so they aren't re-entering invoice data into their own systems.[1] Any new system should have EDI interchange with at least all Fortune 1000 companies.
There are "gateway" companies which handle talking to large numbers of other companies.[2] Once you get this all working, your invoice goes out to the gateway, the gateway formats it and sends it to the paying company, the paying company's systems validate the bill, and they do a funds transfer to your bank account, which is matched to another EDI transaction indicating payment. For most routine transactions, there's no human intervention.
Make that all work for small/medium businesses, and you have a unique product.
The API is "dead simple" because it doesn't handle any of the hard cases.
Like "We ordered 1000 but 200 didn't arrive. We're paying for only 800".
"Paid is a simple API" and you are comparing to Oracle?
"Paid is a simple API" but yet you "Many large companies require EDI"?
"It's just an invoicing program." aka "Instagram is just a photo sharing app". Btw invoicing programs aren't trivial (speaking of experience). Even when looking at basic features it is still about actual money.
"Any new system should have EDI interchange with at least all Fortune 1000 companies."
See Freshbooks. They also started as a dead-simple invoicing system. I think without EDI. And I believe they still don't have EDI. They've grown very nicely over the years.
I really like the clean API docs, well done! Did you build it on your own or is that some REST doc framework?
The only thing I was missing from the API (maybe those are there but left out in the docs, which would be totally fine) are links between your resources (to make it a bit more actual REST). You already more promimently documented the usecase ("create an invoice") instead of listing URL endpoints, but with links between the resources, the API becomes even more discoverable for new developers.
Oh, one more minor thing: "Paid uses UTC unix timestamps for all dates and times." -- I was under the impression that unix timestamps are always UTC anyway (i.e. it's defined as "seconds since 1970-01-01 UTC")? If I'm wrong, please correct me :)
Roy says[1] that to be truly RESTful, your resources (documents) need to be linked between each other, just like HTML pages. There are no definite standards yet (that I'm aware of), but JSON HAL[1] seems to be on the IETF standards track to be the one solution we settle on (just like we "settled on" <a href> in HTML). See also [3] for a broader overview on links in JSON and [4] for more information on resource linking and stuff in general.
This is pretty cool. So, I am using Stripe, which is great, but has a few drawbacks right now. I'm also using churnbuster, which is nice (does your "chase" feature do what they do?)
Here's my problems:
1. Some of my customers pay by check
2. Sometimes my customers have an out of date credit card, or haven't given it to me yet, and Stripe won't let me change their subscription to one that charges them.
3. I occasionally do both charges, credits and invoiceitems for in Stripe
4. I have written a lot of Stripe specific code, and would prefer to gradually try out your solution (it might not work, no offense) Can I try it out without moving completely over?
1. Many of our customers get paid by checks. We receive checks for some of them, and our goal is to make as easy as possible to reconcile those payments.
2. If your customer's card is out of date, we prompt the customer to update their card and store it back to Stripe for you.
3. You aren't alone. Some customers use us for pieces of their transaction volume (i.e. only the invoiced customers or only customer paying via ACH)
4. A la #3, you can send us a portion or all. We're also happy to help you get started. It's free to get set up, so you can try it out. We also provide a test environment so you can play around with it as much as you want.
Feel free to always shoot us an email at hello@paidapi.com.!
There's no About page or any context to the team and qualifications for running a high-responsibility service, so this is the only information available about the quality of the platform.
We (nomadbits.com) have been using it and everything has been great so far.
We help companies with APIs improve their developer onboarding process, which means we invoice both monthly services (like creating and maintaining high quality API libraries), as well as one-off consulting (like updating documentation and creating "Getting Started" guides), and Paid has been great for both use cases.
Do you have any specific questions?
Full Disclosure - Paid is a customer of ours as well, so we may be slightly biased :D
I'm curious, on the technical side, what stack/technologies have you used? Also, did you scaffold the typical crud endpoints or manually wrote them, for each resource?
I'm trying to gain experience in building APIs and yours seems like a good model for doing so :)
We use whatever payment processor you us. So, for example, you'd connect your Stripe account and we process all credit cards using that account. Our pricing is at www.paidapi.com/pricing and based of the revenue tracked/invoiced.
Does the laptop in the splash photo bother anyone else? It looks like they photoshopped the keyboard to be much shorter. Look how tall the screen is, then imagine you folded that down to meet the keyboard. That's no laptop I've ever seen!
The whole image is being stretched vertically in CSS ("background-size: 104% 160%;"). You can see the same distortion on the man's arm, the phone, and the pencil holder.
Definitely a "once seen, can't unsee" type of thing but I'll admit I didn't notice it initially. :)
The more advanced players support electronic data interchange (EDI), where your accounts receivable system connects to the buyer's accounts payable system. Many large companies require EDI for suppliers who generate a lot of invoices, so they aren't re-entering invoice data into their own systems.[1] Any new system should have EDI interchange with at least all Fortune 1000 companies.
There are "gateway" companies which handle talking to large numbers of other companies.[2] Once you get this all working, your invoice goes out to the gateway, the gateway formats it and sends it to the paying company, the paying company's systems validate the bill, and they do a funds transfer to your bank account, which is matched to another EDI transaction indicating payment. For most routine transactions, there's no human intervention.
Make that all work for small/medium businesses, and you have a unique product.
The API is "dead simple" because it doesn't handle any of the hard cases. Like "We ordered 1000 but 200 didn't arrive. We're paying for only 800".
[1] http://www.aepedi.com/apay.htm [2] http://www.b2bgateway.net/