¿Cómo Utilizarlo?
En las APIs de Netpay encontraras que dentro de las integraciones es necesario que se agregue este paso de seguridad utilizando la siguiente estructura dentro del objeto JSON
Importante
Para poder simular una transacción que pasa por 3DS es necesario en el campo de email enviar el correo: [email protected] y dentro de redirect3dsUri enviar la ruta en donde haremos la redirección una vez se realice el paso de 3DS, en este ejemplo enviamos https://netpay.mx
{
"description": "Cargo de prueba",
"source": "token_PovvKRyhNISspvuRXhKobReCcizMDoswDXhbCZrI",
"paymentMethod": "card",
"amount":300,
"currency": "MXN",
"billing": {
"firstName": "Hector",
"lastName": "Temich",
"email": "[email protected]",
"phone": "1234567890",
"address": {
"city": "Monterrey",
"country": "MX",
"postalCode": "93994",
"state": "Nuevo Leon",
"street1": "Calle",
"street2": "Centro"
},
"merchantReferenceCode": "14500056"
},
"redirect3dsUri": "https://netpay.mx"
}
Response
La respuesta de ejecutar este cargo con el correo de [email protected] es la siguiente:
{
"client": null,
"source": "token_gGozdaVHDfQmJYIlcTIlAvCzCCcGIGZMrokagQKe",
"amount": 300.0,
"description": "Cargo de prueba",
"status": "review",
"transactionTokenId": "5b503957-d5b5-459a-94c0-3e1996d27dda",
"redirect3dsUri": "https://netpay.mx",
"returnUrl": "https://ecommerce.netpay.com.mx/gateway-ecommerce/v1/three-d-secure/paymenth-auth-enroll/5b503957-d5b5-459a-94c0-3e1996d27dda?webHook=https://netpay.mx",
"paymentMethod": "card",
"currency": "MXN",
"createdAt": "2020-12-30T23:40:26.577+0000",
"error": null,
"installments": null,
"ship": null,
"paymentSource": {
"cardDefault": false,
"card": {
"token": "token_gGozdaVHDfQmJYIlcTIlAvCzCCcGIGZMrokagQKe",
"expYear": "21",
"expMonth": "08",
"lastFourDigits": "0002",
"cardHolderName": "John Doe",
"brand": "visa",
"deviceFingerPrint": "hdyAWr63jfvf0nnfvyen",
"ipAddress": "254.254.254.1",
"bank": "Test bank",
"type": "debit",
"country": "unknown",
"scheme": "unknown",
"cardPrefix": "400000"
},
"source": "token_gGozdaVHDfQmJYIlcTIlAvCzCCcGIGZMrokagQKe",
"type": "card"
},
"billing": {
"firstName": "Hector",
"lastName": "Temich",
"email": "[email protected]",
"phone": "1234567890",
"ipAddress": "254.254.254.1",
"merchantReferenceCode": "14500056",
"address": {
"city": "Monterrey",
"country": "MX",
"postalCode": "93994",
"state": "Nuevo Leon",
"street1": "Calle",
"street2": "Centro"
}
}
}
Redireccion
Es necesario cargar la url que viene en la sección returnUrl la cual nos mandara a la pantalla de validación bancaria y así ejecutar este paso de seguridad, en este caso la url es: https://ecommerce.netpay.com.mx/gateway-ecommerce/v1/three-d-secure/paymenth-auth-enroll/5b503957-d5b5-459a-94c0-3e1996d27dda?webHook=https://netpay.mx
Como pueden ver en la sección del webHook viene la dirección que nosotros indicamos en la petición a donde mandara la respuesta de este paso del 3DS, al entrar al esta URL debera verse asi:
Al poner de forma exitosa, errónea o no ingresar la clave en esta pantalla necesitaremos consultar el estatus de la transacción para poder saber cual es su status ejecutando nuestro endpoint de status https://ecommerce.netpay.com.mx/gateway-ecommerce/v3/transactions/{{transactionTokenId}} donde mandaremos el transactionTokenId como parámetro en la URL y dentro de las posibles respuestas se encuentran
Aceptado
Esto nos indica que la transacción puede ser cobrada ya que paso el 3DS de forma exitosa
Importante
Esto no indica que la el cargo ya se realizo para poder realizar el cargo es necesario ejecutar en endpoint https://ecommerce.netpay.com.mx/gateway-ecommerce/v3/charges/{{transactionTokenId}}/confirm con el cual se realizara el cobro de la transacción con toda seguridad.
"status": "CHARGEABLE"
Rechazado
Esta respuesta ocurre cuando al momento de poner la contraseña se ingresa de forma incorrecta
Importante
Para poder simular este rechazo aparte de utilizar el correo [email protected] es necesario que la tarjeta tokenizada en la transacción sea: 4000000000000010 ya que esta esta preparada para simular este paso en las pruebas.
"status": "FAILED"
En espera
Se presenta cuando el cliente al momento de entrar a la pantalla de 3DS abandona la pantalla o nunca ingresa algún código de validación.
"status": "WAIT_THREEDS"
Al validar estos posibles casos y la ejecución de los mismos estén implementados en el sistema puedes tener la seguridad de contar con esta excelente herramienta anti fraude.
Updated almost 4 years ago