Introducing the QuickBooks Payments Beta APIs

Payments is essential to the life of any small business. And increasingly it’s a piece that is becoming less physical and more digital. So when we looked at our platform, it only felt natural to add Payments APIs to enhance your ability to build the best apps behind small business success. So let’s take a look at the new QuickBooks Payments APIs.

What can these APIs do?
We’ve exposed two new endpoints to support payments: tokens and charges.
The tokens endpoint enables you to tokenize sensitive card information to help you stay 100% PCI-compliant. We advise you to use this client-side Javascript file to ensure that no sensitive card information ever touches your servers. More documentation can be found here.
The charges endpoint enables you to process card payments on behalf of a QuickBooks Payments merchant. You can authorize, capture, retrieve, and refund payments with this API. More documentation can be found here.

You can further explore the features and capabilities of this API and how you would implement it by looking through the ecommerce sample app.

Why should you use these APIs?

There are many reasons why you would use the QuickBooks Payments APIs over alternatives. Some of the reasons are:

  • Invisible Accounting
Using QuickBooks Payments APIs makes it easier to provide “invisible accounting” for small business owners. The same oAuth token that you use to call the Accounting APIs can be used to call the Payments APIs. Additionally, by using the Payments APIs, you can handle end-to-end payments reconciliation in QBO. Historically, small businesses have struggled with accepting card payments and having to manually reconcile deposits and fees upon settlement. This is auto-magically solved by referencing payment transaction IDs in the Sales Receipt API. Long, tedious hours of manual reconciliation are eliminated with the QuickBooks Payments APIs.

  • Pricing
Pricing is very competitive at 2.85% + 25¢ per transaction. You can give your end customers a great experience at a good price by using the QuickBooks Payments APIs.

  • Easy and simple merchant onboarding
The success of your app depends largely on your ability to quickly onboard your customers. By building on top of the QuickBooks Online platform, you can easily onboard 700K+ existing QBO users. Many of these users will already have existing merchant accounts that can be linked to your app in seconds using our Connect to QuickBooks button.

  • More features coming
This Beta release of the QuickBooks Payments APIs has card payment capabilities to start, but this is only the beginning of our Payments story. We have more exciting features to come 😉 Stay tuned!

We can’t wait to see what you build with the QuickBooks Payments APIs!

Charles Taira

Product Manager, Payments Platform






3 responses to “Introducing the QuickBooks Payments Beta APIs”

  1. Jonathan Wong Avatar

    Hi, I noticed that the source code and API for the sample app are in Java. I’m currently working on a web application in .NET and was wondering, ill you have a .NET version of the Payments API that would allow the acceptance of credit card payments anytime in the near future?

    1. Pearce Avatar

      Hello Jonathan,

      Thank you for the comment. You are right we currently only have reference implementation/wrappers for the new payments APIs in Java. We have .NET reference implementation/wrapper on our roadmap & we will be definitely providing those in future. However, in the mean time you can always use .NET open source libraries like DevDefined to make the REST calls directly to the payments APIs.

      Thank you,

  2. sohail Avatar

    Hello there,

    I used present version of QuickBooks Payments Beta APIsI in my website,
    my question is that in future QuickBooks Payments Beta APIs upgraded so will it affect my website or i have to upgrade QuickBooks Payments Beta APIs in my website as well.

    Looking forward to hearing from you soon
    Thanks in advance

Leave a Reply

Your email address will not be published. Required fields are marked *