Overview
Develop advanced custom checkout experiences.
Last updated
Was this helpful?
Develop advanced custom checkout experiences.
Last updated
Was this helpful?
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.
Using the Checkout API requires prior approval from our compliance teams. Please note that the Checkout API is not available to some UGC creators, such as those on FiveM or RedM.
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
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.
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.
/checkout
An array of Packages
in the basket.
An object containing the customer's information, relevant links, and any custom tracking data.
{"first_name":"Neil","last_name":"McNeil","email":"example@tebex.io","return_url":"https://tebex.io","complete_url":"https://tebex.io","custom":{"foo":"bar","trackingId":127,"list":["1","2","3"]}}
This will create and return a Basket
that can be paid for by redirecting the user to links.checkout
/baskets
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
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
Any custom data to be passed through the request. This will be returned in a post-completion webhook.
{"foo":"bar"}
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.
/baskets/{ident}/packages
The basket identifier.
1a-55fff4107740a1f40d844ff89607557f45bfafb3
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
single
, subscription
An array of payment destination objects describing how the purchase should be split between multiple wallets. Only available with pre-agreement from Tebex.
This will remove the given {rows.id}
from the basket {ident}
. The basket must be re-fetched after running to receive updated totals.
/baskets/{ident}/packages/{rows.id}
The basket identifier.
1a-55fff4107740a1f40d844ff89607557f45bfafb3
The id
of the basket.rows
row to remove.
1
No body
Adds a Sale
to the basket with {ident}
. Sales cannot be applied to baskets with revenue_share
set.
/baskets/{ident}/sales
The basket identifier.
1a-55fff4107740a1f40d844ff89607557f45bfafb3
The name of the sale (displayed to the customer)
Test Sale
The amount or percentage to deduct
4.99
The type of discount, either percentage
for deducting a percentage of each item, or amount
to deduct a fixed amount from each item.
amount
percentage
, amount
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.
/recurring-payments/{reference}
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.
This cancels the recurring payment for the reference provided. Recurring payment references start with tbx-r-
/recurring-payments/{reference}
The recurring payment reference to cancel.
tbx-r-55fff4107740a1f40d844ff89607557f45bfafb3
/recurring-payments/{reference}/status
The recurring payment reference to update.
tbx-r-55fff4107740a1f40d844ff89607557f45bfafb3
To pause a payment, provide a ISO8601 formatted date on which the payment should be reactivated.
2025-01-27T16:43:53.000000Z
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
Paused
, Active