SDK 3DS
Inicialize o SDK 3DS da My Gateway: endpoint de inicialização, scripts de produção e homologação e exemplo de uso no navegador.
Nesta página
O SDK 3DS roda no navegador do comprador e gera o code3DS usado na criação do pagamento no cartão. Antes de usá-lo, o seu backend busca a configuração do SDK na API.
Inicializar o SDK#
/antifraud/v1/sdk/3ds/initializeDevolve a configuração opaca que o SDK usa no navegador.
Cabeçalhos
AuthorizationstringobrigatórioValor de
authenticationTokenretornado na autenticação, sem o prefixoBearer.x-api-keystringobrigatórioChave do API Gateway do ambiente.
Content-TypestringobrigatórioSempre
application/json.
Corpo da requisição
locationstringobrigatórioOrigem HTTPS autorizada onde o SDK vai rodar, normalmente
window.location.origin.fingerprintSessionIdstringobrigatórioID único da sessão. Deve ser igual a
creditCard.antifraud.fingerprint.sessionId.
Requisição
curl --request POST \
--url 'https://api.mygateway.com.br/antifraud/v1/sdk/3ds/initialize' \
--header 'Authorization: TOKEN_DE_AUTENTICACAO' \
--header 'x-api-key: SUA_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"location":"https://loja.exemplo.com","fingerprintSessionId":"32c37c71-2b34-45e2-b678-d6627d0f9001"}'const response = await fetch("https://api.mygateway.com.br/antifraud/v1/sdk/3ds/initialize", {
method: "POST",
headers: {
Authorization: token,
"x-api-key": process.env.MYGATEWAY_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
location: "https://loja.exemplo.com",
fingerprintSessionId: "32c37c71-2b34-45e2-b678-d6627d0f9001"
}),
});
const result = await response.json();<?php
$ch = curl_init('https://api.mygateway.com.br/antifraud/v1/sdk/3ds/initialize');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: ' . $token,
'x-api-key: ' . getenv('MYGATEWAY_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'location' => 'https://loja.exemplo.com',
'fingerprintSessionId' => '32c37c71-2b34-45e2-b678-d6627d0f9001',
]),
CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);import os
import requests
response = requests.post(
"https://api.mygateway.com.br/antifraud/v1/sdk/3ds/initialize",
headers={
"Authorization": token,
"x-api-key": os.environ["MYGATEWAY_API_KEY"],
},
json={
"location": "https://loja.exemplo.com",
"fingerprintSessionId": "32c37c71-2b34-45e2-b678-d6627d0f9001",
},
)
result = response.json()Respostas
Configuração do SDK.
JSON
{
"crypt": "CONFIGURACAO_CRIPTOGRAFADA_DO_SDK",
"seed": "SEMENTE_TEMPORAL_DO_SDK"
}Payload inválido.
ValidationError
{
"notificationErrors": {
"error": {
"erros": [
{
"propertyName": "items.value",
"propertyErrors": [
"O valor informado é inválido."
]
}
]
}
},
"errorTypeDescription": "ValidationError",
"errorType": 1
}Atributos da resposta
cryptstringobrigatórioConfiguração opaca usada para inicializar o SDK.
seedstringobrigatórioValor temporal opaco usado pelo SDK.
Carregar o SDK no navegador#
Script do SDK
<script src="https://unpkg.com/@mygateway/mygateway-three-ds-sdk-frontend@latest/MyGateway3DS.min.js"></script><script src="https://unpkg.com/@mygateway/mygateway-three-ds-sdk-frontend@latest/MyGateway3DS-hml.min.js"></script>Usar o SDK#
Exemplo conceitual no frontend. A função seuBackendInicializar3DS representa a chamada ao seu backend, que por sua vez chama o endpoint de inicialização e devolve só crypt e seed.
Exemplo conceitual (navegador)
const sessionId = crypto.randomUUID();
const options = await seuBackendInicializar3DS(window.location.origin, sessionId);
const threeDs = new MyGateway3DS(
"cardNumberInput",
callbackDoDesafio,
1,
sessionId,
options
);
await threeDs.Authorization3ds();
const code3DS = threeDs.GetThreeDsCode();Com o code3DS em mãos, siga para a criação do pagamento no cartão. O callbackDoDesafio é usado quando o pagamento pede desafio 3DS.
Última atualização em