QuickBooks Payment Gateway



Getting Started

To get started, you will first need to login to QuickBooks developer center using your QuickBooks login account. Or signup if you don't have an account yet.


[up to contents]

Obtain API Credentials

To obtain your API Credentials, you first need to create new app.

  1. Click on My Apps from the top right menu.

  2. Click Create new app.

  3. Click Select APIs.
  4. Check Payments API and click Create app (It's preferred to create a different app and select Accounting API if you are planing to use QuickBooks Accounting extension).
  5. After creating the API app. You will be redirected to the app dashboard (To use the app on live environment you have to verify email, complete account profile and provide TOS links in settings tab where you can also update app name).

  6. Click on the Keys tab - We will use the development ones (This tab lists development keys first, then production ones if you completed your profile and provided TOS links).
  7. In this tab we will copy the Client ID and the Client Secret and use them in RazorCart QuickBooks Payment Gateway settings. We will later come back to this page to add the redirect url.

[up to contents]

Payment Gateway Configuration

To configure your Payment Gateway in RazorCart see the following article:


  1. After Installing RazorCart QuickBooks Payment Gateway. Go to RazorCart Admin Console -> Store Setup -> Payment -> Add new Payment Method.
  2. Copy redirect url and add into Quickbooks redirect urls and save
  3. Now click Connect  to open QuickBooks authorization popup. then select the company you want to connect to and connect.
  4. Once you are connected successfully. The popup will close and reloads payment page. We store company id, access & refresh tokens in payment settings which are used to connect to QuickBooks API and used with Client ID and Secret.
    • Company ID: the company id for which the API processes payments.
    • Access Token (Hidden from screen): used to call the API (1 hour expiration).
    • Refresh Token: used to generate new Access token (100 days expiration - if no payment API calls were processed within 100 days. You will need to manually connect again).

If you're using the Test environment, enable Test Mode by checking the Test Mode checkbox:

If you want to only authorize the payment without capturing it (you will have to manually capture it). Check authorize only

Save the settings

[up to contents]

Add Feedback