payment-token-efi 1.1.3
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.
- package/LICENSE +21 -0
- package/README.md +222 -0
- package/assets/css/bootstrap.min.css +6 -0
- package/assets/css/bootstrap.min.css.map +1 -0
- package/assets/css/custom.css +35 -0
- package/assets/img/favicon.png +0 -0
- package/assets/img/logo-ef.svg +1 -0
- package/dist/payment-token-efi.min.js +1 -0
- package/index.html +395 -0
- package/package.json +24 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 efipay
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Script payment_token cartão de crédito | Efí
|
|
2
|
+
|
|
3
|
+
Este módulo JavaScript permite a criptografia dos dados do cartão diretamente no navegador do cliente, gerando o payment_token, identificando a bandeira do cartão e obtendo informações de parcelamento.
|
|
4
|
+
|
|
5
|
+
Com essa biblioteca é possível implementar uma solução segura e eficiente para manipulação de dados de cartão de crédito em seus projetos. Além disso, a criptografia dos dados diretamente no navegador do cliente aumenta a segurança da transação e protege as informações do cartão contra interceptações maliciosas.
|
|
6
|
+
|
|
7
|
+
Ir para:
|
|
8
|
+
- [Script payment\_token cartão de crédito | Efí](#script-payment_token-cartão-de-crédito--efí)
|
|
9
|
+
- [**Exemplo**](#exemplo)
|
|
10
|
+
- [**Instalação**](#instalação)
|
|
11
|
+
- [**Utilização**](#utilização)
|
|
12
|
+
- [**Documentação Adicional**](#documentação-adicional)
|
|
13
|
+
- [**Comunidade e suporte**](#comunidade-e-suporte)
|
|
14
|
+
- [**Licença**](#licença)
|
|
15
|
+
|
|
16
|
+
___
|
|
17
|
+
|
|
18
|
+
## **Exemplo**
|
|
19
|
+
Para ilustrar a utilização deste módulo em um contexto prático, você pode conferir um exemplo no seguinte link: <a href='https://efipay.github.io/js-payment-token-efi/' target ='_blank'>Clique aqui</a>.
|
|
20
|
+
|
|
21
|
+
___
|
|
22
|
+
|
|
23
|
+
## **Instalação**
|
|
24
|
+
Realize o <a href='https://raw.githubusercontent.com/efipay/js-payment-token-efi/main/dist/payment-token-efi.min.js' target ='_blank'>download da biblioca</a> localizada em `/dist/payment-token-efi.min.js`, ou importação através do link do CDN.
|
|
25
|
+
|
|
26
|
+
**Importação local**
|
|
27
|
+
```javascript
|
|
28
|
+
<script src="./dist/payment-token-efi.min"></script>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Importação por CDN**
|
|
32
|
+
```javascript
|
|
33
|
+
<script src="https://cdn.jsdelivr.net/gh/efipay/js-payment-token-efi/dist/payment-token-efi.min.js"></script>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
___
|
|
37
|
+
|
|
38
|
+
## **Utilização**
|
|
39
|
+
|
|
40
|
+
Este script oferece três funções para manipulação de dados de cartão de crédito. A primeira função permite <ins>**identificar a bandeira**</ins> do cartão a partir do seu número. A segunda função <ins>**busca informações de parcelamento**</ins> de acordo com as configurações de recebimento em sua conta. Por fim, a terceira função <ins>**gera o token de pagamento (payment_token) e a máscara do cartão (card_mask)**</ins> com base nos dados do cartão.
|
|
41
|
+
|
|
42
|
+
Para utilizar esse script, é necessário passar o código Identificador de Conta (payee_code) como parâmetro para gerar o payment_token dos dados do cartão de crédito. Você pode obter essa informação em sua conta digital, no menu `API > Introdução > Identificador de Conta`. <a href='https://s3.amazonaws.com/gerencianet-pub-prod-1/printscreen/2023/03/08/matheus.rodrigues/24fa15-dda30019-a643-409e-8813-c7cc68adcc40.png' target='_blank'>Veja onde encontrá-la</a>. Certifique-se de ter essa informação disponível ao utilizar as funções do script.
|
|
43
|
+
|
|
44
|
+
<br>
|
|
45
|
+
|
|
46
|
+
* ### **Identificar a bandeira**
|
|
47
|
+
* **Dados de entrada:**
|
|
48
|
+
|
|
49
|
+
| Parâmetro/Método | Descrição | Tipo | Obrigatório |
|
|
50
|
+
|-------------------|--------------------------------------|----------|-------------|
|
|
51
|
+
| setCardNumber | Número do cartão de crédito | string | Sim |
|
|
52
|
+
| debugger | Depurador de código | boolean | Não |
|
|
53
|
+
|
|
54
|
+
```html
|
|
55
|
+
<script>
|
|
56
|
+
try {
|
|
57
|
+
EfiJs.CreditCard
|
|
58
|
+
.debugger(false)
|
|
59
|
+
.setCardNumber('4485785674290087')
|
|
60
|
+
.verifyCardBrand()
|
|
61
|
+
.then(brand => {
|
|
62
|
+
console.log('Bandeira: ', brand);
|
|
63
|
+
if (brand !== 'undefined') {
|
|
64
|
+
// Exemplo: executar a função para gerar o payment_token com a bandeira identificada
|
|
65
|
+
}
|
|
66
|
+
}).catch(err => {
|
|
67
|
+
console.log('Código: ', err.code);
|
|
68
|
+
console.log('Nome: ', err.error);
|
|
69
|
+
console.log('Mensagem: ', err.error_description);
|
|
70
|
+
});
|
|
71
|
+
} catch (error) {
|
|
72
|
+
console.log('Código: ', error.code);
|
|
73
|
+
console.log('Nome: ', error.error);
|
|
74
|
+
console.log('Mensagem: ', error.error_description);
|
|
75
|
+
}
|
|
76
|
+
</script>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
* **Dados de saída:**
|
|
80
|
+
|
|
81
|
+
| Parâmetro | Descrição | Tipo |
|
|
82
|
+
|------------|-----------------------------------|----------|
|
|
83
|
+
| brand | Brandeira do cartão. `"undefined"`, `"unsupported"`, `"visa"`, `"mastercard"`, `"amex"`, `"elo"`, `"hipercard"` | string |
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
<br>
|
|
88
|
+
|
|
89
|
+
* ### **Buscar as informações de parcelamento**
|
|
90
|
+
|
|
91
|
+
* **Dados de entrada:**
|
|
92
|
+
|
|
93
|
+
| Parâmetro/Método | Descrição | Tipo | Obrigatório |
|
|
94
|
+
|---------------|---------------------------------------------|----------|-------------|
|
|
95
|
+
| setAccount | Identificador de conta | string | Sim |
|
|
96
|
+
| setEnvironment | Ambiente. `"production"` ou `"homologation"` | string | Sim |
|
|
97
|
+
| setBrand | Bandeira do cartão `"visa"`, `"mastercard"`, `"amex"`, `"elo"`, `"hipercard"` | string | Sim |
|
|
98
|
+
| setTotal | Valor total | Integer | Sim |
|
|
99
|
+
| debugger | Depurador de código | boolean | Não |
|
|
100
|
+
|
|
101
|
+
```html
|
|
102
|
+
<script>
|
|
103
|
+
try {
|
|
104
|
+
EfiJs.CreditCard
|
|
105
|
+
.debugger(false)
|
|
106
|
+
.setAccount('Identificador_de_conta_aqui')
|
|
107
|
+
.setEnvironment('production') // 'production' or 'homologation'
|
|
108
|
+
.setBrand('visa')
|
|
109
|
+
.setTotal(28990)
|
|
110
|
+
.getInstallments()
|
|
111
|
+
.then(installments => {
|
|
112
|
+
console.log('Parcelas', installments);
|
|
113
|
+
}).catch(err => {
|
|
114
|
+
console.log('Código: ', err.code);
|
|
115
|
+
console.log('Nome: ', err.error);
|
|
116
|
+
console.log('Mensagem: ', err.error_description);
|
|
117
|
+
});
|
|
118
|
+
} catch (error) {
|
|
119
|
+
console.log('Código: ', error.code);
|
|
120
|
+
console.log('Nome: ', error.error);
|
|
121
|
+
console.log('Mensagem: ', error.error_description);
|
|
122
|
+
}
|
|
123
|
+
</script>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
* **Dados de saída:**
|
|
127
|
+
|
|
128
|
+
| Parâmetro | Descrição | Tipo |
|
|
129
|
+
|------------|-----------------------------------|----------|
|
|
130
|
+
| installments | Array com as parcelas. `{"rate": 0,"name": "brand","installments": [{"installment": 1,"has_interest": false,"value": 500,"currency": "5,00","interest_percentage": 0}]}` | object |
|
|
131
|
+
|
|
132
|
+
<br>
|
|
133
|
+
|
|
134
|
+
* ### **Gerar o payment_token e card_mask**
|
|
135
|
+
|
|
136
|
+
* **Dados de entrada:**
|
|
137
|
+
|
|
138
|
+
| Parâmetro/Método | Descrição | Tipo | Obrigatório |
|
|
139
|
+
|-------------------|------------------------------------------------|----------|-------------|
|
|
140
|
+
| setAccount | Identificador de conta | string | Sim |
|
|
141
|
+
| setEnvironment | Ambiente. `"production"` ou `"homologation"` | string | Sim |
|
|
142
|
+
| setCreditCardData | Dados do cartão de crédito | object | Sim |
|
|
143
|
+
| - | brand | string | Sim |
|
|
144
|
+
| - | number | string | Sim |
|
|
145
|
+
| - | cvv | string | Sim |
|
|
146
|
+
| - | expirationMonth 'MM' | string | Sim |
|
|
147
|
+
| - | expirationYear 'YYYY' | string | Sim |
|
|
148
|
+
| - | reuse | boolean | Não |
|
|
149
|
+
| debugger | Depurador de código | boolean | Não |
|
|
150
|
+
|
|
151
|
+
```html
|
|
152
|
+
<script>
|
|
153
|
+
try {
|
|
154
|
+
EfiJs.CreditCard
|
|
155
|
+
.debugger(false)
|
|
156
|
+
.setAccount('Identificador_de_conta_aqui')
|
|
157
|
+
.setEnvironment('production') // 'production' or 'homologation'
|
|
158
|
+
.setCreditCardData({
|
|
159
|
+
brand: 'visa',
|
|
160
|
+
number: '4485785674290087',
|
|
161
|
+
cvv: '123',
|
|
162
|
+
expirationMonth: '05',
|
|
163
|
+
expirationYear: '2029',
|
|
164
|
+
reuse: false
|
|
165
|
+
})
|
|
166
|
+
.getPaymentToken()
|
|
167
|
+
.then(data => {
|
|
168
|
+
const payment_token = data.payment_token;
|
|
169
|
+
const card_mask = data.card_mask;
|
|
170
|
+
console.log('payment_token', payment_token);
|
|
171
|
+
console.log('card_mask', card_mask);
|
|
172
|
+
}).catch(err => {
|
|
173
|
+
console.log('Código: ', err.code);
|
|
174
|
+
console.log('Nome: ', err.error);
|
|
175
|
+
console.log('Mensagem: ', err.error_description);
|
|
176
|
+
});
|
|
177
|
+
} catch (error) {
|
|
178
|
+
console.log('Código: ', error.code);
|
|
179
|
+
console.log('Nome: ', error.error);
|
|
180
|
+
console.log('Mensagem: ', error.error_description);
|
|
181
|
+
}
|
|
182
|
+
</script>
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
* **Dados de saída:**
|
|
186
|
+
|
|
187
|
+
| Parâmetro | Descrição | Tipo |
|
|
188
|
+
|----------------|--------------------------------------------------------------|----------|
|
|
189
|
+
| payment_token | Token de pagamento que representa o cartão utilizado | string |
|
|
190
|
+
| card_mask | Máscara do cartão utilizado | string |
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
- #### **Dados de saída em caso de falha**
|
|
195
|
+
Em caso de erro, será retornado o objeto com os parâmetros descritos abaixo.
|
|
196
|
+
|
|
197
|
+
| Parâmetro | Descrição | Tipo |
|
|
198
|
+
|-----------|---------------------------------------------------|----------|
|
|
199
|
+
| code | Código de erro para identificação. | string |
|
|
200
|
+
| error | Nome do erro. | string |
|
|
201
|
+
| error_description | Mensagem detalhando o erro ocorrido. | string |
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
<br>
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## **Documentação Adicional**
|
|
209
|
+
|
|
210
|
+
<a href='https://sejaefi.com.br/api/' target='_blank'>Acesse nossa documentação técnica</a> para ver todas as informações da geração do payment_token e mais detalhes das APIs.
|
|
211
|
+
|
|
212
|
+
Se você ainda não tem uma conta digital da Efí, <a href='https://sejaefi.com.br/' target='_blank'>abra a sua agora</a>!
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## **Comunidade e suporte**
|
|
217
|
+
Conecte-se a milhares de desenvolvedores, participe de discussões, tire dúvidas e integre suas operações às APIs Efí (API Pix, API Boletos e muito mais) com a ajuda da maior comunidade de integradores do Brasil. <a href='https://comunidade.sejaefi.com.br/' target='_blank'>Faça parte da comunidade Efí.
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## **Licença**
|
|
222
|
+
[MIT](LICENSE)
|