# 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>

{% hint style="info" %}
In case of willing to implement this sort of integration, PCI AOC Certificate is **not** needed.
{% endhint %}

### 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
}
```


---

# Agent Instructions: 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:

```
GET https://apidocs.onekeypayments.com/knowledge-base/deposits-with-cards-sdk/without-user-interface.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
