Orders Overview
ClickFunnels orders enable customers to purchase products and subscriptions through funnels, manual orders and the public API.
There are different types of orders that are determined by the payment processor that was set up to make that order:
- Payments AI - An advanced clever way to get payments for your business leveraging AI.
- External Order - The order was paid outside of ClickFunnels.
A ClickFunnels customer can set up Payments AI as their payment processor. Then, orders can be paid by their users through funnels and manual order checkouts.
Alternatively, the customer can skip the registration of a payment gateway and perform payments on their own platform or payment page but still ingest the orders separately via the API. Even more so, a ClickFunnels customer can connect to an external payment provider via OAuth who will manage payments and create orders on their behalf.
In the following sections, we will explore the different order payment types, their differentiations and gotchas, as well as delve deeper into running your automations with external orders.
General Concepts
Order Invoices are the invoices issued against each Order.
Usually, an order of order_type
"one-time-order" has one payment transaction on one invoice that will make the order paid. Note that if an order has a subscription product as part of one of the line items, this order will be considered an order_type
"subscription-order". Subscription orders can have multiple invoices.
The order's line items reflect all the items that are part of the order, which can be a mix between
subscriptions and one-time products.
You can get insights into and fully manage the subscriptions' and products' lifecycles via the
respective Products::Price
and Products::Variant
endpoints.
You will notice that Orders::Invoice
also includes line items. Invoice line items are different
because invoices are a snapshot of an order, but orders can be updated to, for example, upgrade and
downgradessubscriptions. The updates will affect future invoices but not past invoices. Also, invoice line items show information about their fulfillment status and can be fulfilled via the UI or Fulfillment API.
The different types of payment processors are described below.
Payments AI Orders
Payments AI orders and invoices are distinguished by the payment_processor
property set to "payments_ai"
Payments AI orders and invoices may have varying statuses, webhook events and types. Please refer to the API reference to learn more details.
Payments AI statuses are stable and most likely not to change in the near future.
One-time orders state transitions
The flow:
- A customer requests one or more one-time sales items in an order. The one-time sales items are assigned the
pending
status. - The customer does one of the following:
- The customer pays the invoice that includes the one-time sales items. One-time sales items are assigned the
completed
status. - The customer cancels the purchase before paying. One-time sales items are assigned the
canceled
status.
- The customer pays the invoice that includes the one-time sales items. One-time sales items are assigned the
External Orders (BETA🛠️)
External orders in ClickFunnels can be created via the API. This is for you if you want to leverage ClickFunnel's superpowers (funnels, automations, CRM, courses, communities) but have payments for products happen on your platform, an external third-party platform or anywhere else that you process payments (i.e., externally to ClickFunnels).
External orders are distinguished by the payment_processor
property set to "external"
.
External orders and invoices have a simple restricted set of statuses and types, please refer to the API reference to learn more about the different properties.
🛠️ External orders have recently been launched in BETA and are under active development. New statuses, types and properties can be added, but are not expected to introduce breaking changes. Please follow the changelog to learn more about the most recent API changes for external orders. Also, let us know if you are interested in using it via the ClickFunnels support detailing your use case.
Prerequisites
- External orders are not attached to any of the existing payment systems, so you don't need to have a payment gateway set up with Payments AI. You will need an API key as described in the Getting Started guide.
- You will need to architect a solution for state transitions of your orders and invoices, most state transitions like many other fields are up to the API client to enforce and maintain, there is little automation on the API side (please refer to the API reference to learn about those).
Automating your business with external orders
Here is some common ClickFunnels functionality that you might want to use together with external orders. You will need to create and/or update related ClickFunnels API resource records, like Order and Invoice, to make use of some of the functionality.
funnels
You can still use funnels to get and squeeze leads to guide them through the purchasing process and get them click a link that will redirect them to the external payment page. Once paid, the user can be redirected back to ClickFunnels. In the meantime, the API client can create an Order
, and optionally an Orders::Invoice
record inside of ClickFunnels. Then, depending on your configurations and ClickFunnels workspace setup, you can enable the features below.
course, community and asset access
For one-time orders, to grant access to a Course, Community or Asset, you will need to create an Orders::Invoice
that has a Products::Variant
record linked to a Course, Community or Asset inside of the Order#line_items
with the status paid
, or update an existing external invoice to the status paid
.
So, one way to set this up would be:
- Create a course, community or asset in ClickFunnels.
- Link it to a ClickFunnels product in the course settings or the other way around in the product settings.
- When creating an order, add the
Products::Variant#id
to the line item following the Create Orders API reference. - For one-time orders, create its
Orders::Invoice#status
equal to"paid"
or, if you already created the invoice with a different status before, flip it to"paid"
.
fulfillments
triggering confirmation emails
For one-time orders, whenever you create an invoice with the status "paid"
or update the invoice to the "paid"
status, the order's contact will receive a confirmation email.
When canceling an order, the order's contact will also receive an email.
triggering ClickFunnels automation workflows
For one-time orders, whenever you create an invoice with the status "paid"
or update the invoice to the "paid"
status, the Contact
that is subject to the Order
will receive a confirmation email.
triggering webhook events
ClickFunnels webhook events are triggered whenever the state of an Order
or Orders::Invoice
resource is changed. For example, if your workspace has a Webhooks::Outgoing::Endpoint
created and listening for the event type orders/invoice.paid
, you can trigger this event each time you flip an Orders::Invoice
record's status
property to "paid"
.
Please refer to the Webhooks::Outgoing::Endpoint
API reference to see which events are available for external orders.
Updated about 8 hours ago