@validapay/tokenize 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/readme.md +30 -45
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@validapay/tokenize",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Tokenização de cartão e identificação do dispositivo para antifraude ValidaPay",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/readme.md CHANGED
@@ -1,83 +1,68 @@
1
1
  # @validapay/tokenize
2
2
 
3
- Salva o cartão do comprador na ValidaPay e identifica o dispositivo para a análise antifraude.
3
+ Salva o cartão do comprador na ValidaPay e identifica o dispositivo para a análise antifraude. Roda no navegador, na sua página de pagamento: o cartão vai direto para a ValidaPay, sem passar pelo seu servidor.
4
4
 
5
5
  ```bash
6
6
  npm install @validapay/tokenize
7
7
  ```
8
8
 
9
- Funciona de dois jeitos, conforme onde o cartão é recebido.
9
+ O `publicId` é o identificador público da sua conta, no painel em **Gerenciamento > Minha Conta > Id Público**. Ele pode ficar no código da página.
10
10
 
11
- ## No servidor, com `clientId` e `clientSecret`
11
+ ## 1. Identificar o dispositivo
12
+
13
+ Chame assim que a página de pagamento abrir, uma vez por pedido: a identificação precisa desse tempo antes do pagamento.
12
14
 
13
15
  ```js
14
- import { tokenize } from "@validapay/tokenize";
16
+ import { collectDevice } from "@validapay/tokenize/browser";
15
17
 
16
- const paymentMethod = await tokenize({
17
- clientId: process.env.VALIDAPAY_CLIENT_ID,
18
- clientSecret: process.env.VALIDAPAY_CLIENT_SECRET,
19
- card: { number: "4111111111111111", holderName: "MARIA SILVA", cvv: "123", expiration: "12/2030" },
20
- customer: { name: "Maria Silva", document: "12345678901", email: "maria@exemplo.com" },
21
- });
18
+ const { deviceId } = await collectDevice({ publicId: "3f1c2a8e-8a4b-4c1e-9d3a-2b7e6f5a4c10" });
22
19
  ```
23
20
 
24
- - Devolve o cartão salvo com o `cardToken`, que vale 5 minutos. Integrações que já usavam o `paymentMethodId` continuam recebendo o campo; as novas recebem só o `cardToken`.
25
- - `dev: true` usa o ambiente de desenvolvimento.
26
- - `card.cardHolderName` continua aceito no lugar de `card.holderName`.
27
- - O `clientSecret` nunca deve ir para o navegador.
21
+ - Não coleta dados pessoais nem dados do cartão.
22
+ - Guarde o `deviceId`: ele vai junto na cobrança.
28
23
 
29
- ## No navegador, com `publicId`
24
+ ## 2. Tokenizar o cartão
30
25
 
31
26
  ```js
32
27
  import { tokenize } from "@validapay/tokenize/browser";
33
28
 
34
- const { cardToken, cardBrand, cardLastFour } = await tokenize({
29
+ const { cardToken, cardTokenExpiresAt, cardBrand, cardLastFour } = await tokenize({
35
30
  publicId: "3f1c2a8e-8a4b-4c1e-9d3a-2b7e6f5a4c10",
36
- card,
37
- customer,
31
+ card: { number: "4111111111111111", holderName: "MARIA SILVA", cvv: "123", expiration: "12/2030" },
32
+ customer: { name: "Maria Silva", document: "12345678901", email: "maria@exemplo.com" },
38
33
  });
39
34
  ```
40
35
 
41
- - O cartão vai do navegador direto para a ValidaPay, sem passar pelo seu servidor.
42
- - Devolve `cardToken`, `cardTokenExpiresAt`, `cardBrand` e `cardLastFour`.
36
+ - Devolve `cardToken`, `cardTokenExpiresAt`, `cardBrand` e `cardLastFour`.
37
+ - O `cardToken` vale **5 minutos** e só funciona na conta que o gerou.
43
38
  - `environment`: `production` (padrão), `sandbox` ou `development`.
44
39
 
45
- ## Identificação do dispositivo (antifraude)
46
-
47
- Roda no navegador. Chame assim que a página de checkout abrir, uma vez por pedido: a identificação precisa desse tempo antes do pagamento.
48
-
49
- ```js
50
- import { collectDevice } from "@validapay/tokenize/browser";
51
-
52
- const { deviceId } = await collectDevice({ publicId: "3f1c2a8e-8a4b-4c1e-9d3a-2b7e6f5a4c10" });
53
- ```
54
-
55
- - `deviceId` é `null` quando a conta não usa análise antifraude. Pode chamar sempre.
56
- - Não coleta dados pessoais nem dados do cartão.
57
- - Vale para as duas formas de tokenizar: se o cartão vai para o seu servidor, envie o `deviceId` junto.
58
-
59
40
  ## Com autenticação do portador
60
41
 
61
- Se usar `@validapay/3ds`, passe o resultado em `authentication`. Vale para as duas formas:
42
+ Se usar [`@validapay/3ds`](https://www.npmjs.com/package/@validapay/3ds), passe o resultado em `authentication`:
62
43
 
63
44
  ```js
64
- const paymentMethod = await tokenize({ ..., authentication });
45
+ const { cardToken } = await tokenize({ publicId, card, customer, authentication });
65
46
  ```
66
47
 
67
- ## Cobrança
48
+ ## 3. Cobrar
68
49
 
69
- Seu servidor cria a cobrança com o `cardToken` em até 5 minutos:
50
+ Envie `cardToken`, `deviceId` e, se usou 3DS, `authentication` ao seu servidor. Ele cria a cobrança dentro dos 5 minutos:
70
51
 
71
52
  ```http
72
53
  POST /v1/charges
73
- { "paymentMethod": "creditcard", "amount": 149.9, "cardToken": "ctk_…", "customer": { … } }
54
+ {
55
+ "paymentMethod": "creditcard",
56
+ "amount": 149.9,
57
+ "cardToken": "ctk_…",
58
+ "deviceId": "…",
59
+ "authentication": { … },
60
+ "customer": { … }
61
+ }
74
62
  ```
75
63
 
76
- Inclua também `deviceId` e, se usar `@validapay/3ds`, `authentication` no mesmo corpo:
64
+ Depois de 5 minutos o `cardToken` vence e a cobrança responde `CARD_TOKEN_EXPIRED`: tokenize o cartão de novo.
77
65
 
78
- ```http
79
- POST /v1/charges
80
- { "paymentMethod": "creditcard", "amount": 149.9, "cardToken": "ctk_…", "deviceId": "…", "authentication": { … }, "customer": { … } }
81
- ```
66
+ ## Documentação
82
67
 
83
- - Depois de 5 minutos o `cardToken` vence e a cobrança responde `CARD_TOKEN_EXPIRED`: tokenize o cartão de novo.
68
+ https://docs.validapay.com.br/sdks/tokenizacao