Antes de criar uma cobrança com 3DS2 Malga, é necessário criar uma sessão (/3ds/setup). Ela serve para começar o fluxo de 3DS2 Malga, junto ao provedor responsável.

Exemplo de requisição 1

curl --location --request POST 'https://api.malga.io/v1/3ds/setup' \
--header 'X-Client-Id: <YOUR_CLIENT_ID>' \
--header 'X-Api-Key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
   "sourceType":"card",
   "cardId":"c4e33e39-0f39-4ad9-891c-31b621ec2206"
}'

Exemplo de requisição 2

curl --location --request POST 'https://api.malga.io/v1/3ds/setup' \
--header 'X-Client-Id: <YOUR_CLIENT_ID>' \
--header 'X-Api-Key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
   "sourceType":"token",
   "tokenId":"c4e33e39-0f39-4ad9-891c-31b621ec2206"
}'

Exemplo de resposta

{
    "id": "1b04367a-2386-4161-8c90-eac82267ee89",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI0MzljZGU0NC05M2RkLTQ2ZWEtYWU0OC0zNTMwMzg3NGFjMmQiLCJpYXQiOjE3Mjc3MTU5NDksImlzcyI6IjVkZDgzYmYwMGU0MjNkMTQ5OGRjYmFjYSIsImV4cCI6MTcyNzcxOTU0OSwiT3JnVW5pdElkIjoiNjU0NDUzNzkzZDJmNTM1NWE3YjljN2IxIiwiUmVmZXJlbmNlSWQiOiJhNjNhZTI0NS0zNzJkLTQ1ODktODVlYS1iMDBmM2VmNjA0NGYifQ.o4IKYrNnFbr3xn-qSm_9qL-Sn-WvCpKOUMxZna7SiYE",
    "collectUrl": "https://centinelapistag.cardinalcommerce.com/V1/Cruise/Collect",
    "providerType": "CYBERSOURCE",
    "error": null
}

Examinando o objeto authData

  • O atributo id é o id do setup, esse id será usado na etapa de criação de cobrança 3DS2 Malga.
  • O atributo token token utilizado na etapa de coleta de dados feita no navegador do cliente.
  • O atributo collectUrl será utilizado na coleta de dados.
  • O atributo providerType descreve qual provedor de 3DS2 será utilizado.
  • O atributo error descreve o erro, caso ocorra.