# Tilopay.InitTokenize()

> Starts saving a card without a purchase: the card is validated with a USD 0.10 charge that is reversed immediately.

- kind: sdk-method
- status: stable
- sdk_version: 2.1.1
- last_verified: 2026-10-22
- url: https://tilopay.com/en/developers/sdk/reference/init-tokenize

Starts saving a card **without a purchase**. It uses the same
[form fields](/en/developers/sdk/campos-del-formulario) as `Init()` and is closed with
[`Tilopay.startPayment()`](/en/developers/sdk/reference/startpayment).

> **Note:** Validation charge. To validate the card, Tilopay makes a USD 0.10 charge (or its equivalent
> in the currency) that is reversed immediately; the customer sees it refunded within minutes.

Store the token you receive and associate it with the customer's email to use it later.

## Signature [#firma]

Do not send `orderNumber`: the SDK uses its own session identifier. Tilopay sets the validation amount.

```js
await Tilopay.InitTokenize({ /* parameters */ })
```

## Redirect parameters [#parametros-del-redirect]

Redirect query parameters are `code`, `crd`, `order`, `brand`, `last-digits` and `OrderHash`. `crd` is the card token and only has a value when `code = 1`; store it with the customer email. Tilopay generates `order`, not the merchant.

## Parameters [#parametros]

<Param id="init-tokenize-token" name="token" type="string" required>
SDK token, obtained with `POST /api/v1/loginSdk`.
</Param>

<Param id="init-tokenize-currency" name="currency" type="string" required>
Currency, ISO 4217.
</Param>

<Param id="init-tokenize-language" name="language" type="string" required>
Language: `es` or `en`.
</Param>

<Param id="init-tokenize-billtoemail" name="billToEmail" type="string" required>
Customer email.
</Param>

<Param id="init-tokenize-billtofirstname" name="billToFirstName" type="string">
Customer first name.
</Param>

<Param id="init-tokenize-billtolastname" name="billToLastName" type="string">
Customer last name.
</Param>

<Param id="init-tokenize-billtoaddress" name="billToAddress" type="string">
Customer address line 1.
</Param>

<Param id="init-tokenize-billtoaddress2" name="billToAddress2" type="string">
Customer address line 2.
</Param>

<Param id="init-tokenize-billtocity" name="billToCity" type="string">
City.
</Param>

<Param id="init-tokenize-billtostate" name="billToState" type="string">
State or province.
</Param>

<Param id="init-tokenize-billtozippostcode" name="billToZipPostCode" type="string">
Postal code.
</Param>

<Param id="init-tokenize-billtocountry" name="billToCountry" type="string">
Country, ISO 3166-1 alpha-2.
</Param>

<Param id="init-tokenize-billtotelephone" name="billToTelephone" type="string">
Customer phone.
</Param>

<Param id="init-tokenize-redirect" name="redirect" type="string (URL)">
URL where the SDK renders the final response.
</Param>

## Call [#llamada]

```js
const init = await Tilopay.InitTokenize({
  token: "<token_del_sdk>",
  currency: "USD",
  language: "es",
  billToEmail: "cliente@ejemplo.com",
  billToFirstName: "Ana",
  billToLastName: "Rojas",
  redirect: "https://ejemplo.com/respuesta",
});
```

## Response [#respuesta]

```json
{
  "message": "Success",
  "environment": "PROD",
  "methods": [
    { "id": "<id_del_metodo_tarjeta>", "name": "Tarjeta", "type": "card" }
  ]
}
```

On error:

```json
{
  "message": "<error description>",
  "methods": []
}
```
