Quick start

Esta guía muestra el proceso de autenticación sin fricciones, utilizando la interfaz de servicio web REST del 3DS Server de Software Express.

Que necesitarás#

  • Registro activo en el entorno de aprobación del 3DS Server (obtenido de nuestro equipo de soporte)
  • Una herramienta capaz de realizar llamadas HTTP, como Postman, REST Client o cURL

Creando la transacción#

Haz clic aquí para ver el archivo completo de Open-API ("Swagger") para 3DS.

Tipo de solicitud : POST

URL: https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication

Headers:

  • Content-Type: application/json
  • merchant_id: {su código de la tienda}
  • merchant_key: {clave de su tienda}

Solicitud:

{
"cardholder":{
"acct":{
"number":"1234123412341234"
}
},
"brand_id":"2"
}
curl
--request POST "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"cardholder":{
"acct":{
"number":"1234123412341234"
}
},
"brand_id":"2"
}
--verbose

Respuesta:

{
"three_ds_method_url": "https://www.example.com",
"three_ds_server": {
"trans_id": "12341234-1234-1234-1234-123412341234",
"status": "NEW"
},
"acs": {
"protocol_version": {
"start": "2.1.0",
"end": "2.2.0"
}
},
"device_channel": "02",
"ds": {
"protocol_version": {
"start": "2.1.0",
"end": "2.2.0"
}
},
"message_version": "2.2.0"
}

Obtenga más información sobre este servicio.

Autenticar#

Haz clic aquí para ver el archivo completo de Open-API ("Swagger") para 3DS.

Tipo de solicitud: PUT

URL: https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication/**{ID da transação 3DS Server}**

Headers:

  • Content-Type: application/json
  • merchant_id: {tu código de tienda}
  • merchant_key: {la clave de tu tienda}

Solicitud:

{
"three_ds_comp_ind":"Y",
"pay_token_ind":"false",
"notification_url":"https://www.requestor.com/notification",
"decoupled_notification_url":"https://www.requestor.com/decoupled_notification",
"trans_type":"01",
"three_ds_requestor":{
"authentication_ind":"01",
"decoupled_max_time":"10",
"id":"id",
"name":"Loja de Testes",
"url":"https://www.requestor.com"
},
"acquirer":{
"bin":"2",
"merchant_id":"00000000"
},
"browser":{
"accept_header":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"ip":"10.20.30.40",
"javascript_enabled":"true",
"java_enabled":"false",
"language":"pt-BR",
"color_depth":"24",
"screen_height":"864",
"screen_width":"1536",
"tz":"180",
"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
},
"cardholder":{
"card_expiry_date":"2212",
"name":"Joaquim",
"acct":{
"type":"02",
"number":"1234123412341234"
}
},
"merchant":{
"mcc":"1234",
"country_code":"BRA",
"name":"Loja de Teste",
},
"message":{
"category":"01"
},
"purchase":{
"amount":"10000",
"currency":"986",
"exponent":"2",
"date":"date"
}
}
curl
--request PUT "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication/12341234-1234-1234-1234-123412341234"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"three_ds_comp_ind":"Y",
"pay_token_ind":"false",
"notification_url":"https://www.requestor.com/notification",
"decoupled_notification_url":"https://www.requestor.com/decoupled_notification",
"trans_type":"01",
"three_ds_requestor":{
"authentication_ind":"01",
"decoupled_max_time":"10",
"id":"id",
"name":"Loja de Testes",
"url":"https://www.requestor.com"
},
"acquirer":{
"bin":"2",
"merchant_id":"00000000"
},
"browser":{
"accept_header":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"ip":"10.20.30.40",
"javascript_enabled":"true",
"java_enabled":"false",
"language":"pt-BR",
"color_depth":"24",
"screen_height":"864",
"screen_width":"1536",
"tz":"180",
"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
},
"cardholder":{
"card_expiry_date":"2212",
"name":"Joaquim",
"acct":{
"type":"02",
"number":"1234123412341234"
}
},
"merchant":{
"mcc":"1234",
"country_code":"BRA",
"name":"Loja de Teste",
},
"message":{
"category":"01"
},
"purchase":{
"amount":"10000",
"currency":"986",
"exponent":"2",
"date":"date"
}
}
--verbose

Resposta:

{
"three_ds_server": {
"trans_id": "12341234-1234-1234-1234-123412341234",
"status": "AUY"
},
"acs": {
"operator_id": "acsOperatorID",
"reference_number": "acsReferenceNumber",
"trans_id": "43214321-4321-4321-4321-432143214321"
},
"eci": "05",
"device_channel": "02",
"authentication": {
"value": "1234567890123456789012345678"
},
"broad_info": "broadInfo",
"ds": {
"reference_number": "dsReferenceNumber",
"trans_id": "56785678-5678-5678-5678-567856875678"
},
"transaction": {
"status": "Y"
},
"message_version": "2.2.0"
}

Más información sobre el servicio.

Atención - Sobre la nueva versión "/3ds-server/v3" (en desarrollo):

Pronto, Fiserv lanzará una nueva versión de las APIs (/3ds-server/v3) para el uso de 3DS, incorporando el modelo HMAC (Código de Autenticación de Mensaje Basado en Hash) para la autenticación, autorización y garantía de integridad de las solicitudes. La firma HMAC (hash generado) debe enviarse a través del encabezado HTTP "Authorization" y el encabezado HTTP "Auth-Token-Type" debe añadirse con HMAC como su valor.. La especificación técnica sobre cómo generar la firma HMAC está disponible en el enlace: Generación de HMAC.

Además, en esta nueva versión de las APIs (/3ds-server/v3), será necesario incluir el encabezado HTTP "Client-Request-Id", que contiene un UUID v4 (Identificador Único Universal versión 4), generado aleatoriamente de acuerdo con la especificación RFC 4122, para la identificación única de la solicitud. Para saber más sobre el UUID v4, ver: https://www.rfc-editor.org/rfc/rfc4122.

Comparação entre versões:

Para /3ds-server/v2

Content-Type: application/json

merchant_id: {su código de la tienda}

merchant_key: {clave de su tienda}

Para /3ds-server/v3

Content-Type: application/json

Client-Request-Id: {UUID versión 4}

Authorization: {HMAC signature}

Auth-Token-Type: HMAC

merchant_id: {su código de la tienda}

merchant_key: {your merchant key}