Develop advanced custom checkout experiences.
The Checkout API is designed to allow creators to use Tebex's Merchant of Record platform without the need to use a Tebex-powered webstore.
If you haven't already done so, we recommend having a read of our quick start guide before beginning integration.
This means creators can create baskets with custom products (as opposed to pre-created products on our webstore platform), and send customers directly to the checkout flow to proceed with payment.
The Checkout API can be used with Tebex.js for a fully embedded checkout experience without the user ever leaving your own website.
Term | Description |
---|---|
Below is the expected flow your application should follow when implementing the Checkout API. This should be considered a general guideline. For a full list of endpoints available, see the Endpoints page.
You have two options for implementing Checkout API. We include a Checkout request where all data about the customer and their desired packages can be provided in one request.
If your app has existing basket functionality, we recommend using a Checkout request. You can send the details of your customer, basket, and sale information all in one request:
If you do not have existing basket functionality in your app, you can use the Checkout API to fully manage the customer's basket on Tebex:
Create a basket for the customer.
Your app should save the ident
value for reference later, as this is the identifier for this customer's basket.
Add or remove packages from the customer's basket as desired.
Add any desired sales / discounts to the basket
Direct the user to the basket's links.checkout
URL in order to complete payment.
After payment is complete, you may verify payment if you wish by checking the links.payment
URL associated with the customer's basket.
Tebex Checkout supports recurring payments in addition to single, one-time payments. Below are the endpoints you can use for managing a customer's recurring payments.
Tebex Checkout is documented with OpenAPI. To view the schema and available SDKs, see our releases on GitHub.
An importable Postman collection can always be downloaded from Tebex Checkout's repository on GitHub.
The following websites are integrated using the Checkout API.
Basket
To start a transaction, a basket must be created. The basket, similar to a standard eCommerce basket will contain the items that the customer is purchasing
Ident
A string identifier representing the basket
This will remove the given {rows.id}
from the basket {ident}
. The basket must be re-fetched after running to receive updated totals.
The basket identifier.
"1a-55fff4107740a1f40d844ff89607557f45bfafb3"
The id
of the basket.rows
row to remove.
1
Successfully deleted a row from the basket.
The recurring payment reference to fetch.
"tbx-r-55fff4107740a1f40d844ff89607557f45bfafb3"
Successfully fetched recurring payment.
5000
"2022-12-16T16:43:06.000000Z"
"2022-12-16T16:43:06.000000Z"
"2022-12-30T16:43:06"
"88"
1
"P2W"
"2024-07-25 14:01:03"
2
"success"
"Active"
1
7
1.4
"P2W"
"https://checkout.tebex.io/api/payments/tbx-123123aabccd123-bf71ad?type=txn_id"
"https://checkout.tebex.io/api/payments/tbx-123123aabccd123-bf71ad?type=txn_id"
This cancels the recurring payment for the reference provided. Recurring payment references start with tbx-r-
The recurring payment reference to cancel.
"tbx-r-55fff4107740a1f40d844ff89607557f45bfafb3"
Recurring payment cancelled successfully.
5000
"2022-12-16T16:43:06.000000Z"
"2022-12-16T16:43:06.000000Z"
"2022-12-30T16:43:06"
"88"
1
"P2W"
"2024-07-25 14:01:03"
2
"success"
"Active"
1
7
1.4
"P2W"
"https://checkout.tebex.io/api/payments/tbx-123123aabccd123-bf71ad?type=txn_id"
"https://checkout.tebex.io/api/payments/tbx-123123aabccd123-bf71ad?type=txn_id"
The recurring payment reference to update.
"tbx-r-55fff4107740a1f40d844ff89607557f45bfafb3"
Your desired state of the recurring payment. Provide Paused
with paused_until
to pause a recurring payment. Otherwise, provide Active
to resume a recurring payment.
"Paused"
To pause a payment, provide a ISO8601 formatted date on which the payment should be reactivated.
"2025-01-27T16:43:53.000000Z"
Successfully paused or reactivated a payment. The RecurringPayment
is returned.
5000
"2022-12-16T16:43:06.000000Z"
"2022-12-16T16:43:06.000000Z"
"2022-12-30T16:43:06"
"88"
1
"P2W"
"2024-07-25 14:01:03"
2
"success"
"Active"
1
7
1.4
"P2W"
"https://checkout.tebex.io/api/payments/tbx-123123aabccd123-bf71ad?type=txn_id"
"https://checkout.tebex.io/api/payments/tbx-123123aabccd123-bf71ad?type=txn_id"
Gets the basket associated with the provided identifier.
The basket identifier.
"1a-55fff4107740a1f40d844ff89607557f45bfafb3"
Successful response returns the basket.
The links.payment
property is only returned if the basket has been paid for, and a payment exist with the complete/refund/chargeback status.
The links.checkout
property is only returned if the basket has not been paid, and is the URL to send the customer to in order to complete payment.
"1a-55fff4107740a1f40d844ff89607557f45bfafb3"
"2022-10-25 15:15:40"
1.27
The name of the sale (displayed to the customer)
"Test Sale"
The type of discount, either percentage
for deducting a percentage of each item, or amount
to deduct a fixed amount from each item.
"amount"
The amount or percentage to deduct
4.99
Contains recurring amount. Limited to 1 subscription package in the basket at a time.
false
false
173125385
Numeric basket ID
725572301
Package ID associated with this item
Package ID associated with this item
0
2
1.27
false
"1000 Gold"
2.54
1.27
false
false
false
false
true
false
0
false
false
0
false
0
false
""
true
1.27
Browser fingerprint to identify the user
""
The creator code is used to share a percentage of the payment with another party. See more about creator codes at https://docs.tebex.io/creators/tebex-control-panel/engagement/creator-codes
false
"https://tebex.io"
false
The links.payment
property is only returned if the basket has been paid for and a payment exists with the complete
,refund
, or chargeback
status.
"https://checkout.tebex.io/api/payments/tbx-12345"
The links.checkout
property is only returned if the basket has not been paid, and is the URL to send the customer to make payment
"https://checkout.tebex.io/checkout/1a-55fff4107740a1f40d844ff89607557f45bfafb3"
Adds a Sale
to the basket with {ident}
. Sales cannot be applied to baskets with revenue_share
set.
The basket identifier.
"1a-55fff4107740a1f40d844ff89607557f45bfafb3"
Provide a Sale
as an object to apply it to the basket.
The name of the sale (displayed to the customer)
"Test Sale"
The type of discount, either percentage
for deducting a percentage of each item, or amount
to deduct a fixed amount from each item.
"amount"
The amount or percentage to deduct
4.99
Successfully adds sale to basket.
"1a-55fff4107740a1f40d844ff89607557f45bfafb3"
"2022-10-25 15:15:40"
1.27
The name of the sale (displayed to the customer)
"Test Sale"
The type of discount, either percentage
for deducting a percentage of each item, or amount
to deduct a fixed amount from each item.
"amount"
The amount or percentage to deduct
4.99
Contains recurring amount. Limited to 1 subscription package in the basket at a time.
false
false
173125385
Numeric basket ID
725572301
Package ID associated with this item
Package ID associated with this item
0
2
1.27
false
"1000 Gold"
2.54
1.27
false
false
false
false
true
false
0
false
false
0
false
0
false
""
true
1.27
Browser fingerprint to identify the user
""
The creator code is used to share a percentage of the payment with another party. See more about creator codes at https://docs.tebex.io/creators/tebex-control-panel/engagement/creator-codes
false
"https://tebex.io"
false
The links.payment
property is only returned if the basket has been paid for and a payment exists with the complete
,refund
, or chargeback
status.
"https://checkout.tebex.io/api/payments/tbx-12345"
The links.checkout
property is only returned if the basket has not been paid, and is the URL to send the customer to make payment
"https://checkout.tebex.io/checkout/1a-55fff4107740a1f40d844ff89607557f45bfafb3"
If the new subscription amount is higher than the existing amount, a pro-rata charge will be made to cover the cost of the new price up until the next billing date.
This endpoint requires prior approval - please contact your account manager.
The recurring payment reference to fetch.
"tbx-r-55fff4107740a1f40d844ff89607557f45bfafb3"
An array containing the items to be added to the recurring payment. Only 1 item is supported at this time.
The type of payment, either single
for one-time payments or subscription
.
"subscription"
1
The name of the item being purchased. This should be user-friendly as it is shown to the customer on checkout and receipts.
"1000 Gold"
A float (decimal describing the price of the package in your account currency)
1.27
"subscription"
1
The renewal period of this item
"month"
An integer representing the number of expiry_periods
that make up the renewal period.
3
A map of data that is passed back to you via the webhook (for example, a tracking ID)
Successfully updated subscription. The updated RecurringPayment
is returned.
5000
"2022-12-16T16:43:06.000000Z"
"2022-12-16T16:43:06.000000Z"
"2022-12-30T16:43:06"
"88"
1
"P2W"
"2024-07-25 14:01:03"
2
"success"
"Active"
1
7
1.4
"P2W"
"https://checkout.tebex.io/api/payments/tbx-123123aabccd123-bf71ad?type=txn_id"
"https://checkout.tebex.io/api/payments/tbx-123123aabccd123-bf71ad?type=txn_id"
This API call allows the complete checkout flow (create basket, add items, add sale) to be made in a single API call, for when the Seller is managing the basket locally. This endpoint requires prior approval - please contact your account manager.
Provide a Basket
, an array of Packages
to be added to the basket, and an optional Sale
to complete the full checkout flow in one call. Only one subscription item may be in the basket at a time.
An object containing the customer's information, relevant links, and any custom tracking data.
An array of Packages
in the basket.
The name of the item being purchased. This should be user-friendly as it is shown to the customer on checkout and receipts.
"1000 Gold"
A float (decimal describing the price of the package in your account currency)
1.27
"subscription"
1
The renewal period of this item
"month"
An integer representing the number of expiry_periods
that make up the renewal period.
3
A map of data that is passed back to you via the webhook (for example, a tracking ID)
The name of the sale (displayed to the customer)
"Test Sale"
The type of discount, either percentage
for deducting a percentage of each item, or amount
to deduct a fixed amount from each item.
"amount"
The amount or percentage to deduct
4.99
Successfully created basket. The basket will be returned with links
containing the URLs you should direct the customer to in order to complete payment.
"1a-55fff4107740a1f40d844ff89607557f45bfafb3"
"2022-10-25 15:15:40"
1.27
The name of the sale (displayed to the customer)
"Test Sale"
The type of discount, either percentage
for deducting a percentage of each item, or amount
to deduct a fixed amount from each item.
"amount"
The amount or percentage to deduct
4.99
Contains recurring amount. Limited to 1 subscription package in the basket at a time.
false
false
173125385
Numeric basket ID
725572301
Package ID associated with this item
Package ID associated with this item
0
2
1.27
false
"1000 Gold"
2.54
1.27
false
false
false
false
true
false
0
false
false
0
false
0
false
""
true
1.27
Browser fingerprint to identify the user
""
The creator code is used to share a percentage of the payment with another party. See more about creator codes at https://docs.tebex.io/creators/tebex-control-panel/engagement/creator-codes
false
"https://tebex.io"
false
The links.payment
property is only returned if the basket has been paid for and a payment exists with the complete
,refund
, or chargeback
status.
"https://checkout.tebex.io/api/payments/tbx-12345"
The links.checkout
property is only returned if the basket has not been paid, and is the URL to send the customer to make payment
"https://checkout.tebex.io/checkout/1a-55fff4107740a1f40d844ff89607557f45bfafb3"
This adds a package (an object describing the product) to the basket {ident}
. For subscriptions, only one subscription item may be in a basket at a time, and it cannot be included with one-time payment items. This endpoint requires prior approval. Please contact your account manager.
The basket identifier.
"1a-55fff4107740a1f40d844ff89607557f45bfafb3"
The name of the item being purchased. This should be user-friendly as it is shown to the customer on checkout and receipts.
"1000 Gold"
A float (decimal describing the price of the package in your account currency)
1.27
"subscription"
1
The renewal period of this item
"month"
An integer representing the number of expiry_periods
that make up the renewal period.
3
A map of data that is passed back to you via the webhook (for example, a tracking ID)
The quantity of package
in this basket. This is not the total quantity of overall items in the basket.
2
The type of payment, either single
for one-time payments or subscription
.
"single"
An array of payment destination objects describing how the purchase should be split between multiple wallets. Only available with pre-agreement from Tebex.
"centralised_404244_127"
A float (decimal) value representing the amount of this payment in your account currency that is credited to the wallet_ref
0.5
A float (decimal) value representing the percentage of the gateway fee that should be dedicated from this wallet’s revenue share. This optional value can be anywhere between 0 - 100.
50
Package is successfully added to the basket, and basket is returned.
"1a-55fff4107740a1f40d844ff89607557f45bfafb3"
"2022-10-25 15:15:40"
1.27
The name of the sale (displayed to the customer)
"Test Sale"
The type of discount, either percentage
for deducting a percentage of each item, or amount
to deduct a fixed amount from each item.
"amount"
The amount or percentage to deduct
4.99
Contains recurring amount. Limited to 1 subscription package in the basket at a time.
false
false
173125385
Numeric basket ID
725572301
Package ID associated with this item
Package ID associated with this item
0
2
1.27
false
"1000 Gold"
2.54
1.27
false
false
false
false
true
false
0
false
false
0
false
0
false
""
true
1.27
Browser fingerprint to identify the user
""
The creator code is used to share a percentage of the payment with another party. See more about creator codes at https://docs.tebex.io/creators/tebex-control-panel/engagement/creator-codes
false
"https://tebex.io"
false
The links.payment
property is only returned if the basket has been paid for and a payment exists with the complete
,refund
, or chargeback
status.
"https://checkout.tebex.io/api/payments/tbx-12345"
The links.checkout
property is only returned if the basket has not been paid, and is the URL to send the customer to make payment
"https://checkout.tebex.io/checkout/1a-55fff4107740a1f40d844ff89607557f45bfafb3"
This will create and return a Basket
that can be paid for by redirecting the user to links.checkout
Create a basket, returning the full basket object and payment link.
The URL a customer can return to without completing checkout
"https://example.tebex.io/"
URL the customer can return to after completing payment
"https://example.tebex.io/complete"
Any custom data to be passed through the request. This will be returned in a post-completion webhook.
The first name of the customer
"Neil"
The last name of the customer
"McNeil"
The email address of the customer
"example@tebex.io"
An ISO8601 formatted date. After this date the basket cannot be used to checkout.
"2025-01-27T18:09:51Z"
Automatically redirect to the complete_url provided
true
An ISO 3166-1 alpha-2 character code representing the customer's country.
"US"
The creator code is used to share a percentage of the payment with another party. See more about creator codes at https://docs.tebex.io/creators/tebex-control-panel/engagement/creator-codes
The IP address of the customer using this basket. Provide the IP if creating a basket on your server backend.
"1.2.3.4"
Basket created successfully
"1a-55fff4107740a1f40d844ff89607557f45bfafb3"
"2022-10-25 15:15:40"
1.27
The name of the sale (displayed to the customer)
"Test Sale"
The type of discount, either percentage
for deducting a percentage of each item, or amount
to deduct a fixed amount from each item.
"amount"
The amount or percentage to deduct
4.99
Contains recurring amount. Limited to 1 subscription package in the basket at a time.
false
false
173125385
Numeric basket ID
725572301
Package ID associated with this item
Package ID associated with this item
0
2
1.27
false
"1000 Gold"
2.54
1.27
false
false
false
false
true
false
0
false
false
0
false
0
false
""
true
1.27
Browser fingerprint to identify the user
""
The creator code is used to share a percentage of the payment with another party. See more about creator codes at https://docs.tebex.io/creators/tebex-control-panel/engagement/creator-codes
false
"https://tebex.io"
false
The links.payment
property is only returned if the basket has been paid for and a payment exists with the complete
,refund
, or chargeback
status.
"https://checkout.tebex.io/api/payments/tbx-12345"
The links.checkout
property is only returned if the basket has not been paid, and is the URL to send the customer to make payment
"https://checkout.tebex.io/checkout/1a-55fff4107740a1f40d844ff89607557f45bfafb3"