---
title: Checkout Object
slug: checkout-object
docTags: 
createdAt: 2021-01-13T05:44:07.000Z
---

This step is done internally by the octifi-websdk.js

:::hint{type="success"}
## Are you using octifi-websdk.js?

If you are using octifi-websdk.js you can safely skip this page.
:::

## What is a checkout object?

Once the customer decides to pay with octifi, the hosted-checkout (octifi-websdk.js) calls the backend to create a checkout object and return a checkout\_token to the merchant via callback.

Checkout Api returns a checkout\_token

- **/checkout/create:&#x20;**&#x46;or details see checkout apis in the [Api reference](https://docs.sg.latitudepay.com/apis)
- This api uses a Public API key and normally used in the frontend.
- **Authorization: Api-Key public\_api\_key&#x20;**
- Checkout only authorise the payment

## What is the difference between checkout and charge?

**In a nutshell:**

1. Customer Checkout is step 1
2. Charge/create is the step 2
3. Charge/capture is step 3

Notes:

- Charge api takes checkout\_token as a parameter
- Charge capture api should be called from the backend (server side) and requires a private key.
- More details about charge are here: [[https://docs.sg.latitudepay.com](https://docs.sg.latitudepay.com/)/charges](https://docs.sg.latitudepay.com/charges)
- **Api:** **/charge/create/&#x7B;checkout\_token}/**
  - For details see charge apis in the [Api reference](https://docs.sg.latitudepay.com/apis)

****

