-
Notifications
You must be signed in to change notification settings - Fork 1
/
psnLoadTransparent.js
48 lines (41 loc) · 1.52 KB
/
psnLoadTransparent.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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function psnLoadTrasnp(callback, sessionId, isSandbox) {
var scriptId = 'sounoob-pagseguro-transparent-' + (isSandbox === true ? "sandbox" : "prod");
if(!document.getElementById(scriptId))
{
var filePath = "https://stc." + (isSandbox === true ? "sandbox." : "") + "pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js";
var scriptTag = document.createElement("script");
scriptTag.type = "text/javascript";
scriptTag.id = scriptId;
scriptTag.src = filePath + "?bust=" + new Date().getTime();
scriptTag.onload = function() {
psnLoadTrasnpIsLoaded(callback, sessionId);
}
document.getElementsByTagName("head")[0].appendChild(scriptTag);
}else{
psnLoadTrasnpIsLoaded(callback, sessionId);
}
}
function psnLoadTrasnpIsLoaded(callback, sessionId) {
PagSeguroDirectPayment.onSenderHashReady(function(response){
if(response.status == 'error') {
console.log(response.message);
return false;
}
if(sessionId) {
PagSeguroDirectPayment.setSessionId(sessionId);
}
var senderHash = response.senderHash;
callback(senderHash);
});
}
//Usage
//Carrega em ambiente de produção
psnLoadTrasnp(function(senderHash) {
alert(senderHash);
//Chame aqui os outros métodos da biblioteca que vá precisar.
}, false);
//Carrega em ambiente de sandbox
psnLoadTrasnp(function(senderHash) {
alert(senderHash);
//Chame aqui os outros métodos da biblioteca que vá precisar.
}, true);