> For the complete documentation index, see [llms.txt](https://apidocs.onekeypayments.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.onekeypayments.com/knowledge-base/deposits-with-cards-sdk/without-user-interface.md).

# Without User Interface

{% hint style="info" %}
**Requirements:**

* Integrate the [PCI Deposit Creation Endpoint](/api-documentation/deposits-api/endpoints/pci-deposit-creation-endpoint.md).
* Install the [Cards SDK](/deposits-tools/cards-sdk.md).
* Create your own frontend components for retrieving the card details.
  {% endhint %}

<figure><img src="https://docs.d24.com/~gitbook/image?url=https%3A%2F%2F773174111-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-M792I7hN0PzC-Sx95CP-887967055%252Fuploads%252F1oXKtubkCiK6GeJjHL9R%252FCard%2520Tokenizator%2520SDK%2520Illustration%2520%281%29.jpg%3Falt%3Dmedia%26token%3Da912567d-df07-42cf-ab8c-ef2d8315ca1c&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=959bce35571ba1c31328cc69922c88517c2c41ee4635b2b29bbae1ef1491dff8" alt=""><figcaption><p>Illustration of how a checkout can natively be displayed, with the tools and endpoints involved.</p></figcaption></figure>

### 1. Generation of the card token <a href="#id-1.-generation-of-the-card-token" id="id-1.-generation-of-the-card-token"></a>

Putting it simple; our Cards SDK Without User Interface receives card details as input, and returns a `card_token` as an output.

Please make sure of:

* saving that `card_token` for further usage in the following step.
* **not** storing any card details on your backend.

**This is key for remaining the deposit creation PCI Compliant. Just let the SDK handle the card details in the frontend.**

{% hint style="success" %}
The `token` created can be used within **10 minutes**. After that, it is no longer valid.
{% endhint %}

### 2. Create the transaction <a href="#id-2.-create-the-transaction" id="id-2.-create-the-transaction"></a>

In order to create the transaction you should send the `card_token` generated with all the transaction details. Make sure of sending the generated token, as `card_token`.

#### Example request <a href="#example-request" id="example-request"></a>

```javascript
{
    "invoice_id": "800000001",
    "amount": 1000,
    "country": "BR",
    "currency": "BRL",
    "payer": {
        "id": "11111",
        "document": "84932568207",
        "document_type": "CPF",
        "email": "johnSmith12@hotmail.com",
        "first_name": "John",
        "last_name": "Smith",
        "phone": "+233852662222",
        "birth_date": "19880910",
        "address": {
            "street": "Calle 13",
            "city": "bahia",
            "state": "SP",
            "zip_code": "12345-678"
        }
    },
    "card_token":"C4RD_T0K3N_G3N3R4T3D_W1TH_TH3_SDK",
    "description": "Test transaction",
    "client_ip": "123.123.123.123",
    "device_id": "knakvuejffkiebyab",
    "fee_on_payer": false
}
```
