generated from ecomplus/application-starter
-
Notifications
You must be signed in to change notification settings - Fork 3
/
onload-expression.js
30 lines (30 loc) · 1.02 KB
/
onload-expression.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
;(function () {
window._pagarmeHash = function (card) {
return new Promise(function (resolve, reject) {
// https://github.com/pagarme/pagarme-js#using-encryption-key
const usedCard = {
card: {
card_number: card.number,
card_holder_name: card.name,
card_expiration_date: card.month.toString() + card.year.toString(),
card_cvv: card.cvc
}
}
const validateObject = window.pagarme.validate(usedCard)
const objectCardValidated = validateObject && validateObject.card
for (let key in objectCardValidated) {
if (Object.hasOwnProperty.call(objectCardValidated, key)) {
if (!objectCardValidated[key]) {
return reject(new Error(`Invalid card: ${key}`))
}
}
}
window.pagarme.client.connect({ encryption_key: window._pagarmeKey })
.then(function (client) {
return client.security.encrypt(usedCard.card)
})
.then(resolve)
.catch(reject)
})
}
}())