Skip to content
× FreshBooks App Logo
Official App
Free - Google Play
Get it
You're currently on our US site. Select your regional site here:

Receive Online Payments with Checkout API

Did you know FreshBooks now offers Checkout Links? Now it’s even easier to receive payments from your customers. 


Checkout Links allow you to create unique payment links to collect online payments without needing to make an Invoice first. Post Checkout Links on your website, social media, or anywhere online to let your customers click and pay for items or services at a fixed price with their credit card or bank account. Most importantly, our Checkout Links are PCI-DSS compliant! 


Typical Use Cases

  •      You have a website and want to receive payments directly from a webpage, without the hassle of sending an Invoice to each of your customers
  •      You have a client who isn’t great at keeping on top of outstanding invoices. Instead of re-sending them, you can simply text your client a checkout link!
  •      You have a social media page where you want to accept payments, but you can’t add every customer as a Client. No problem! Include a Checkout Link in your bio

You Can Create Checkout Links in Five Easy Steps

  1. Get Authenticated
  2. Create an Item or a Service
  3. Call the Checkout Link Endpoint
  4. Enable a Payment Processor on the Checkout Link
  5. Render the Checkout Link on your website or preferred media

Before you begin, you’ll need:

  1. Access to our Postman Collection
  2. To authenticate all your requests by following this simple guide
  3. To enable FreshBooks Payments or Stripe Payments (Refer to Enabling Online Payments On An Invoice for a walkthrough on how to do this)
  4. Somewhere to place your Checkout Link (like a webpage or social media account)

Let’s get started!

Step 1: Get Authenticated! 

Not sure how to authenticate your requests? No problem, simply refer to the tutorial on Authenticating With 0Auth 2.0.

Already authenticated? Great. Note the Bearer token; you’ll need it in Steps 2 & 3
Step 2: Create an Item or a Service

This is the item/service being paid for by your clients. These items/services can be tangible or intangible. Note the item_id from the Create Item Response, you’ll need it when creating the Checkout Link. 

You can check out the full API specification on how to create an item here.


Step 3: Invoke the Checkout Link API

Send an authenticated POST request to the endpoint, passing in the item_id from Step 2. 

You can check out the API specification of how to create a Checkout Link here.






Step 4: Enable a Payment Processor on the Checkout Link

Now we’ll enable our preferred Payment Processor on the Checkout Link by making a POST to the payment options endpoint.

Pass the id from step 3 as entity_id 

To determine the value for gateway_name, reference this tutorial to learn how to check which Payment Processor is available to you. It’s typically either fbpay or stripe.

Check out the API specification for this step here




Step 5: Concatenate the Checkout Link id to a base URL and share on any medium

Concatenate the id from Step 3 or entity_id from Step 4 (7d9a75ffa8414638ab646ee1acd7f033)  to the base URL: to get the full Checkout Link URL. 

Example Checkout Link URL:

Now you’re ready to add the Checkout Link to your website, a social media platform or collect payments in an app with webview. 



Here’s what my Checkout Link looks like after following the five steps and rendering it on my browser:

Step 6: Start Receiving Payments on Your Website!

Still have questions? Something isn’t working right? Don’t hesitate to reach out to

We’ll respond to your request as quickly as we can!