> For the complete documentation index, see [llms.txt](https://docs.coda.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coda.co/codapay/archived-tokenization-api-2.0.md).

# Archived - Tokenization API 2.0

Tokenization is a way for you to gather customer authorization and enable future payments through one-click or subscriptions via the supported payment channels offered by Codapay. As such, Codapay will provide all the necessary methods for you to be able to save a user’s payment method and conveniently charge users whenever necessary.

## <mark style="color:purple;">How does tokenization work?</mark>

For each payment channel supporting tokenization, Codapay provides four core functions:

1. Save a user payment information
2. Charge a user
3. Check a charge status
4. One Click or Initiate a recurring charge (subscription)

## <mark style="color:purple;">What is new in the docs?</mark>

<table><thead><tr><th width="197">Document Version</th><th width="159">Updated Date</th><th>Comments</th></tr></thead><tbody><tr><td>2.0</td><td>28.07.2023</td><td><ul><li>Initial API Documentation</li></ul></td></tr><tr><td>2.1</td><td>28.11.2023</td><td><ul><li>Added Mada</li><li>Webhook Security Request Headers</li><li>Add Charge Shopper Action</li></ul></td></tr><tr><td>2.2</td><td>28.02.2024</td><td><ul><li>Added DANA Wallet</li><li>Changed email validation shopper</li><li>Added Account Unbinding Process</li></ul></td></tr></tbody></table>

## <mark style="color:purple;">Definitions and Concepts</mark>

<details>

<summary><mark style="color:purple;">Shopper</mark></summary>

Shopper ID is a unique identifier to be assigned to a customer. You can generate a shopper by calling the shopper endpoint. A shopper can be identified by the following information:

* Shopper ID (Coda will generate)
* Partner Shopper ID (corresponding to your own Customer Identifier)
* Email address
* Phone number
* Status Code (Active/Inactive)

</details>

<details>

<summary><mark style="color:purple;">Payment Method</mark></summary>

Payment Method ID is a unique identifier to link a shopper and a payment method. You can refer to the list of available payment methods [here](broken://pages/KsVmXJ6sl0KjG4TZX52I#payment-methods). A payment method can be identified by the following information:

* Payment Method ID (Coda will generate)
* Shopper ID (that you initially generated with Coda)
* Type (corresponding to the name of the payment method, eg. Go-Pay, card)
* Specific Payment Method details (Refer to [Payment Method Details ](broken://pages/i57yMqIMZkCGPftFWtuA)Chapter)

</details>

<details>

<summary><mark style="color:purple;">Token</mark></summary>

Token ID is a unique identifier to link a payment method and a token. A token can be identified by the following information:

* Token ID (Coda will generate)
* Payment Method ID (that you initially generated with Coda)
* Token status (active or expired)

</details>

<details>

<summary><mark style="color:purple;">Charge</mark></summary>

Charge ID is a unique identifier to identify charge transactions. A charge can be identified by the following information:

* Charge ID (Coda will generate)
* Token ID (that you initially generated with Coda)
* Product details (Item name)
* Amount to be charged
* Status (If the charge has succeeded or not)

</details>

<details>

<summary><mark style="color:purple;">Subscription Plan</mark></summary>

Subscription Plan can be identified by the following information:

* Subscription Plan ID (Coda will generate)
* Recurring Amount to be charged
* Recurrence (Every x weeks/months/quarters/years)

</details>

<details>

<summary><mark style="color:purple;">Subscription</mark></summary>

Subscription can be identified by the following information:

* Subscription Plan ID
* Token ID

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coda.co/codapay/archived-tokenization-api-2.0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
