openapi: 3.0.0 info: title: API VCAS description: 'Regresa el método de contacto del cliente y del envío del OTP para finalizar el proceso de compra en un comercio.' version: "1.0" servers: - url: https://api-sandbox.banorte.com/api/esb description: Servidor de Calidad. security: - oAuth2ClientCredentials: - update paths: /stepup: post: tags: - VCAS Authentication summary: Este mensaje se utiliza cuando se requiere la autenticación Stepup en función de RiskRequest y Response. description: 'La plataforma VCAS comunica la solicitud de intensificación al socio, y el socio responde con los parámetros necesarios para que VCAS realice el desafío de intensificación.' parameters: - name: Authorization in: header required: false schema: type: string description: "El Bearer es el Token de autenticación, es una cadena genera por el servidor en respuesta a una solicitud de autenticación al ejecutar el recurso de oauth 2.0." example: "Bearer token" requestBody: description: Stepup Request Object required: true content: application/json: schema: $ref: '#/components/schemas/StepupRequest' responses: '200': description: Successful Request content: application/json: schema: $ref: '#/components/schemas/StepupResponse' '400': description: Petición incorrecta content: application/json: schema: $ref: '#/components/schemas/badParameterRequest' '401': description: Autorización incorrecta. content: application/json: schema: $ref: '#/components/schemas/badAuthorization' '405': description: Método no permitido. content: application/json: schema: $ref: '#/components/schemas/badRequest' '406': description: Encabezado de aceptación no válido. content: application/json: schema: $ref: '#/components/schemas/badRequest' example: status: 406 codigoRespuesta: 0 codigoError: ERRSEG007 mensaje: Encabezado de aceptación no válido, por favor revisa el contenido enviado. folio: 08API1650913805053API05 detalles: enlace: https://developers.banorte.com/es/api/23 propiedad: La petición tiene un valor incorrecto en el encabezado de aceptación. '500': description: Servicio no disponible content: application/json: schema: $ref: '#/components/schemas/serverErrorResponse' example: ProcessorId: 5a9d74a40063ac36a4b689c9 IssuerId: 5a9d74a40063ac36a4b689cb TransactionId: JVE3JYdwOxaVDau8ObdiEipWmcu1 StepupRequestId: c69f43c-2dce-400a-8ec8-2d0ef9f76519 Language: es-MX Status: ERROR Reason: ReasonCode: ERRSER002 ReasonDescription: Servicio no disponible, favor de intentar más tarde. Error: ReferenceNumber: 08API1650913805053API05 Description: Servicio no disponible, favor de intentar más tarde. Message: Servicio no disponible, favor de intentar más tarde. '504': description: Tiempo de espera agotado. content: application/json: schema: $ref: '#/components/schemas/serverErrorResponse' example: ProcessorId: 5a9d74a40063ac36a4b689c9 IssuerId: 5a9d74a40063ac36a4b689cb TransactionId: JVE3JYdwOxaVDau8ObdiEipWmcu1 StepupRequestId: c69f43c-2dce-400a-8ec8-2d0ef9f76519 Language: es-MX Status: ERROR Reason: ReasonCode: ERRSER001 ReasonDescription: Tiempo de espera agotado, volver a intentar. Error: ReferenceNumber: 08API1650913805053API05 Description: Tiempo de espera agotado, volver a intentar. Message: Tiempo de espera agotado, volver a intentar. '503': description: Error en la conexión del servidor. content: application/json: schema: $ref: '#/components/schemas/serverErrorResponse' example: ProcessorId: 5a9d74a40063ac36a4b689c9 IssuerId: 5a9d74a40063ac36a4b689cb TransactionId: JVE3JYdwOxaVDau8ObdiEipWmcu1 StepupRequestId: c69f43c-2dce-400a-8ec8-2d0ef9f76519 Language: es-MX Status: ERROR Reason: ReasonCode: ERRSER001 ReasonDescription: Error con la conexión del servidor, favor de intentar más tarde. Error: ReferenceNumber: 08API1650913805053API05 Description: Error con la conexión del servidor, favor de intentar más tarde. Message: Error con la conexión del servidor, favor de intentar más tarde. /initiateaction: post: tags: - VCAS Authentication summary: Este mensaje se usa para decirle al socio que inicie una acción. description: 'La solicitud InitiateAction se usa para señalar al socio que tome acción en un elemento.' operationId: initiateaction parameters: - name: Authorization in: header required: false schema: type: string description: "El Bearer es el Token de autenticación, es una cadena genera por el servidor en respuesta a una solicitud de autenticación al ejecutar el recurso de oauth 2.0." example: "Bearer token" requestBody: description: InitiateAction Request Object required: true content: application/json: schema: $ref: '#/components/schemas/InitiateActionRequest' responses: '200': description: Successful Request content: application/json: schema: $ref: '#/components/schemas/InitiateActionResponse' '400': description: Petición incorrecta. content: application/json: schema: $ref: '#/components/schemas/badParameterRequest' '401': description: Autorización incorrecta. content: application/json: schema: $ref: '#/components/schemas/badAuthorization' '405': description: Método no permitido. content: application/json: schema: $ref: '#/components/schemas/badRequest' '406': description: Encabezado de aceptación no válido. content: application/json: schema: $ref: '#/components/schemas/badRequest' example: status: 406 codigoRespuesta: 0 codigoError: ERRSEG007 mensaje: Encabezado de aceptación no válido, por favor revisa el contenido enviado. folio: 08API1650913805053API05 detalles: enlace: https://developers.banorte.com/es/api/23 propiedad: La petición tiene un valor incorrecto en el encabezado de aceptación. '500': description: Servicio no disponible. content: application/json: schema: $ref: '#/components/schemas/serverErrorResponse' example: ProcessorId: 5a9d74a40063ac36a4b689c9 IssuerId: 5a9d74a40063ac36a4b689cb TransactionId: JVE3JYdwOxaVDau8ObdiEipWmcu1 StepupRequestId: c69f43c-2dce-400a-8ec8-2d0ef9f76519 Language: es-MX Status: ERROR Reason: ReasonCode: ERRSER002 ReasonDescription: Servicio no disponible, favor de intentar más tarde. Error: ReferenceNumber: 08API1650913805053API05 Description: Servicio no disponible, favor de intentar más tarde. Message: Servicio no disponible, favor de intentar más tarde. '504': description: Tiempo de espera agotado content: application/json: schema: $ref: '#/components/schemas/serverErrorResponse' example: ProcessorId: 5a9d74a40063ac36a4b689c9 IssuerId: 5a9d74a40063ac36a4b689cb TransactionId: JVE3JYdwOxaVDau8ObdiEipWmcu1 StepupRequestId: c69f43c-2dce-400a-8ec8-2d0ef9f76519 Language: es-MX Status: ERROR Reason: ReasonCode: ERRSER001 ReasonDescription: Tiempo de espera agotado, volver a intentar. Error: ReferenceNumber: 08API1650913805053API05 Description: Tiempo de espera agotado, volver a intentar. Message: Tiempo de espera agotado, volver a intentar. '503': description: Error en la conexión del servidor. content: application/json: schema: $ref: '#/components/schemas/serverErrorResponse' example: ProcessorId: 5a9d74a40063ac36a4b689c9 IssuerId: 5a9d74a40063ac36a4b689cb TransactionId: JVE3JYdwOxaVDau8ObdiEipWmcu1 StepupRequestId: c69f43c-2dce-400a-8ec8-2d0ef9f76519 Language: es-MX Status: ERROR Reason: ReasonCode: ERRSER001 ReasonDescription: Error con la conexión del servidor, favor de intentar más tarde. Error: ReferenceNumber: 08API1650913805053API05 Description: Error con la conexión del servidor, favor de intentar más tarde. Message: Error con la conexión del servidor, favor de intentar más tarde. components: securitySchemes: oAuth2ClientCredentials: type: oauth2 description: | La API debe requerir un encabezado de autorización en la solicitud http un token web JSON (JWT) emitido por el servidor de autorización Oauth2 aprobado por la empresa para la autenticación del servicio. flows: clientCredentials: tokenUrl: "https://api-sandbox.banorte.com/api/esb/ValidaCredenciales/accesstoken" scopes: update: Permisos para consultar la API. schemas: MerchantInfo: type: object required: - MerchantURL - AcquirerId - AcquirerCountryCode - MerchantId - MerchantName - MerchantCategoryCode - MerchantCountryCode properties: AcquirerId: type: string description: AcquirerId del comerciante que realiza la solicitud de compra. Longitud - hasta 11 caracteres. AcquirerCountryCode: type: string description: 'Código de país del Adquiriente. Formato numérico ISO 3166-1. Los emisores deben conocer el código del país adquirente cuando el país adquirente difiere del país comerciante y el adquirente se encuentra en el EEE (esto podría significar que la transacción está cubierta por PSD2). Nota: actualmente solo está disponible en transacciones Mastercard EMV 3DS donde hay datos de extensión presentes. Estará disponible en futuras versiones de EMV.' maxLength: 3 example: '840' MerchantId: type: string description: MerchantId del comerciante que realiza la solicitud de compra. maxLength: 35 MerchantName: type: string description: Nombre del comerciante que realiza la solicitud de compra. Longitud - hasta 40 caracteres. MerchantURL: type: string description: URL o nombre de la aplicación para el sitio web o la aplicación del comerciante. Longitud - hasta 2048 caracteres. MerchantCategoryCode: type: string description: >- Código utilizado para describir el tipo de producto comercial del comerciante o servicio. maxLength: 4 MerchantCountryCode: type: string description: >- Código de país del comerciante. Para transacciones 3DS1, este valor tiene formato alfa-2, p. A NOSOTROS. Para transacciones 3DS2, este valor tiene formato numérico-3, p. 840. maxLength: 3 PaymentInfo: type: object required: - CardNumber - CardExpiryMonth - CardExpiryYear - CardType - CardHolderName properties: CardNumber: type: string description: Número de tarjeta de pago utilizada en la transacción. Longitud - entre 13 y 19 caracteres. CardExpiryMonth: type: string description: Mes de expiración. minLength: 2 maxLength: 2 CardExpiryYear: type: string description: "Año de caducidad. Para transacciones 3DS1, este valor es de 4 dígitos, p. 2019. Para transacciones 3DS2, este valor es de 2 dígitos, p. 19." maxLength: 4 CardType: type: string description: Tipo de tarjeta o cuenta, ej. Débito o crédito. enum: - Credit - Debit - NotApplicable CardHolderName: type: string description: Nombre del titular de la tarjeta. Longitud - hasta 45 caracteres. Address: type: object required: - FirstName - LastName properties: FirstName: type: string description: Nombre para el componente de dirección. maxLength: 64 MiddleName: type: string description: Segundo nombre para el componente de dirección. maxLength: 64 LastName: type: string description: Apellido para el componente de dirección. maxLength: 64 Address1: type: string description: Dirección 1. maxLength: 128 Address2: type: string description: Dirección 2. maxLength: 128 Address3: type: string description: Dirección 3. maxLength: 128 Locality: type: string description: 'City, Town, etc.' maxLength: 128 Region: type: string description: Estado, Provincia, Territorio, etc.' maxLength: 64 PostalCode: type: string description: Código Postal. maxLength: 32 CountryCode: type: string description: El formato del código de país será [ISO 3166-1 numérico de tres dígitos] 3 caracteres. maxLength: 3 CartItem: properties: Name: type: string description: Nombre del artículo en el carrito de compras. Longitud - hasta 50 caracteres. SKU: type: string description: SKU del producto. Longitud - hasta 50 caracteres. Price: type: string description: Precio del artículo. Longitud - hasta 48 caracteres. Quantity: type: string description: Cantidad de artículos en este carrito. Longitud - 2 caracteres. ConsumerContact: properties: EmailAddress: type: string description: Dirección de correo electrónico del consumidor. Longitud - hasta 254 caracteres. format: email maxLength: 254 PhoneNumber: type: string description: Número de teléfono del consumidor. Longitud - hasta 15 caracteres. maxLength: 15 MobileNumber: type: string description: Número de móvil del consumidor. Longitud - hasta 15 caracteres. maxLength: 15 WorkNumber: type: string description: Número de teléfono del trabajo del titular de la tarjeta. Longitud - hasta 15 caracteres. maxLength: 15 WalletInfo: properties: Provider: type: string description: Nombre del proveedor de la billetera. Longitud - hasta 100 caracteres. WalletAge: type: integer format: int64 description: Número de días en que se creó la billetera. minimum: 0 maximum: 10000 maxLength: 10000 PaymentCardAge: type: integer format: int64 description: Número de Días que la tarjeta ha estado en la billetera. minimum: 0 maximum: 10000 maxLength: 10000 MerchantAdditionalData: type: object properties: ShippingIndicator: type: string description: Indica el método de envío elegido para la transacción. enum: - ShipToBillingAddress - ShipToVerifiedAddress - ShipToOtherAddress - ShipToStore - DigitalGoods - TravelOrEventTickets - Other DeliveryTimeFrame: type: string description: Plazo de entrega. enum: - ElectronicDelivery - SameDayShipping - OvernightShipping - TwoOrMoreDaysShipping DeliveryEmailAddress: type: string description: Dirección de correo electrónico donde se entregó la mercancía. Longitud - hasta 254 caracteres. ReorderItemsIndicator: type: string description: Indica si el titular de la tarjeta ordenó previamente. enum: - FirstTime - Reordered PreorderPurchaseIndicator: type: string description: Indica compra con disponibilidad futura. enum: - MerchandiseAvailable - FutureAvailability PreorderDate: type: string description: Fecha prevista en que la mercancía está disponible. Formato - AAAAMMDD. Longitud - 8 caracteres. GiftCardAmount: type: number description: Para una tarjeta de regalo, este es el monto de la compra (representado en el monto bruto, por ejemplo, 1000 por $10,00). Longitud - hasta 15 caracteres. GiftCardCurrency: type: string description: 'ISO 4217 estándar numérico de 3 dígitos. [ISO 4217 Link] https://en.wikipedia.org/wiki/ISO_4217 Longitud - 3 caracteres.' GiftCardCount: type: number description: Recuento total de tarjetas/códigos prepagos o de regalo individuales comprados. Longitud - 2 caracteres. Device: properties: UserAgent: type: string description: Agente de usuario para navegador o Identificador de dispositivo para compra InApp. Longitud - hasta 2048 caracteres. IP: type: string description: Dirección IP del dispositivo. Longitud - hasta 45 caracteres. Latitude: type: string description: Latitud del dispositivo según geolocalización o dirección IP. Longitud - hasta 50 caracteres. Longitude: type: string description: Longitud del dispositivo según geolocalización o dirección IP. Longitud - hasta 50 caracteres. BrowserAcceptHeader: type: string description: Encabezado de aceptación HTTP sin formato del navegador. Longitud - hasta 2048 caracteres. maxLength: 2048 BrowserJavaEnabled: type: string description: 'Indica si el navegador puede ejecutar Java. Ejemplo, true. Longitud - hasta 5 caracteres.' BrowserJavascriptEnabled: type: string description: 'Indica si el navegador puede ejecutar Javascript. Ejemplo, true. Longitud - hasta 5 caracteres.' BrowserLanguage: type: string description: Idioma del navegador devuelto por la propiedad navigator.language. Longitud - hasta 8 caracteres. maxLength: 8 BrowserColorDepth: type: string description: Valor que representa la profundidad de bits de la paleta de colores. Longitud - hasta 2 caracteres. BrowserScreenHeight: type: string description: Altura de la pantalla del titular de la tarjeta en píxeles. Longitud - hasta 6 caracteres. maxLength: 6 BrowserWidth: type: string description: Ancho de la pantalla del titular de la tarjeta en píxeles. Longitud - hasta 6 caracteres. maxLength: 6 BrowserTimeZone: type: string description: >- Diferencia horaria entre la hora UTC y la local del navegador del titular de la tarjeta tiempo, en minutos. Del método Date.getTimezoneOffset(). Longitud - hasta 5 caracteres. maxLength: 5 Platform: type: string description: 'Plataforma del dispositivo. Ejemplo, Android, iOS. Longitud - hasta 30 caracteres.' DeviceModel: type: string description: Fabricación y modelo de dispositivo móvil. Longitud - hasta 100 caracteres. OperatingSystemName: type: string description: Longitud - hasta 50 caracteres. OperatingSystemVersion: type: string description: Longitud - hasta 25 caracteres. Locale: type: string description: Configuración regional del dispositivo desde el encabezado del navegador o desde la configuración de idioma de la aplicación. Este valor puede ser un único valor de configuración regional o varios concatenados mediante comas. En 3DS1, este valor será directamente del encabezado "Aceptar idioma" del navegador. Sin embargo, en 3DS2 esto no está disponible debido a los nuevos flujos, por lo que será un valor de idioma único siguiendo el formato BCP 47, p. en-US o en,es-PE;q=0.9,es;q=0.8 maxLength: 2048 AdvertisingId: type: string description: Identificación única disponible para publicidad y detección de fraude. Longitud - hasta 128 caracteres. ScreenResolution: type: string description: 'Ancho y alto de píxel. Ejemplo, 1080x1920. Longitud - hasta 15 caracteres.' DeviceName: type: string description: Nombre del dispositivo asignado por el usuario. Longitud - hasta 50 caracteres. SDKAppId: type: string description: ID único universal creado en todas las instalaciones y actualizaciones de la aplicación 3DS Requestor en un dispositivo de consumidor. Longitud - hasta 36 caracteres. DeviceExtendedData: type: string description: Objeto JSON codificado en Base64url. Información del dispositivo recopilada por 3DS SDK desde un dispositivo de consumidor. Longitud - hasta 64000' RiskProvider: properties: Name: type: string description: Proveedor de perfiles de dispositivos y motor de riesgos. enum: - TM - Payfone - Cardinal ProviderId: type: string description: Id. de referencia de la transacción del proveedor de riesgos. Longitud - hasta 100 caracteres. DeviceId: type: string description: Identificador del dispositivo del Proveedor de Riesgos o huella dactilar. Longitud - hasta 100 caracteres. TransactionInfo: properties: TransactionTimeStamp: type: string description: Marca de tiempo de la transacción en UTC según ISO 8601 UTC. Longitud - 24 caracteres. por ejemplo, 2019-03-21T20:55:49.000Z format: date-time TransactionAmount: type: number description: Monto de la transacción (monto bruto, ejemplo 1000 por $10,00). Longitud - hasta 48 caracteres. El campo es obligatorio para 02-NPA si el indicador de autenticación del solicitante de 3DS = 02 o 03; de lo contrario el campo es opcional. format: float TransactionCurrency: type: string description: >- Estándar numérico ISO 4217 de 3 dígitos. [Enlace ISO 4217] https://en.wikipedia.org/wiki/ISO_4217 Longitud - 3 caracteres. El campo es obligatorio para 02-NPA si el indicador de autenticación del solicitante de 3DS = 02 o 03; de lo contrario el campo es opcional. TransactionExponent: type: integer description: Exponente para formatear el código ISO 4217 de la moneda dada. Longitud - 1 carácter MandatedRegion: type: string description: 'Un valor que describe la región en la que se pueden aplicar los mandatos a la transacción actual. Agregado para admitir las nuevas transacciones PSD2 en el EEE. Un valor de EEA indicará que la transacción está sujeta a los mandatos de PSD2; de lo contrario, el valor será nulo. Nota: debe tener en cuenta los nuevos valores que se agregan a este campo a lo largo del tiempo debido a las nuevas regulaciones que se implementan en otras regiones.' enum: - EEA - NONE - UNKNOWN TransactionType: type: string description: Tipo de transacción. enum: - Purchase - CardAdd PurchaseType: type: string description: Tipo de compra. enum: - GoodsOrService - CheckAcceptance - AccountFunding - QuasiCash - PrepaidActivation Channel: type: string description: Canal en el que se produce la transacción. enum: - WEB - APP - MWEB - THREERI PaymentInfo: $ref: '#/components/schemas/PaymentInfo' MerchantAdditionalData: $ref: '#/components/schemas/MerchantAdditionalData' AddressMatch: type: string description: La dirección de envío coincide con la dirección de facturación. Y = las direcciones de envío y facturación son las mismas, N = las direcciones de envío y facturación son diferentes. Longitud - 1 carácter. BillingAddress: $ref: '#/components/schemas/Address' ShippingAddress: $ref: '#/components/schemas/Address' ShoppingCart: type: array items: $ref: '#/components/schemas/CartItem' ConsumerInfo: $ref: '#/components/schemas/ConsumerContact' ConsumerWalletInfo: $ref: '#/components/schemas/WalletInfo' DeviceInfo: $ref: '#/components/schemas/Device' RiskProviderInfo: $ref: '#/components/schemas/RiskProvider' BasicTransactionInfo: required: - TransactionTimeStamp - TransactionAmount - TransactionCurrency - TransactionExponent - MandatedRegion properties: TransactionTimeStamp: type: string description: Marca de tiempo de la transacción en UTC según ISO 8601 UTC. Longitud - 24 caracteres. por ejemplo, 2019-03-21T20:55:49.000Z format: date-time TransactionAmount: type: number description: 'Importe de la transacción (importe bruto, ejemplo 1000 por $10,00). Longitud - hasta 48 caracteres. Requerido para 02-NPA si el indicador de autenticación del solicitante 3DS = 02 o 03.' format: float TransactionCurrency: type: string description: >- Estándar numérico ISO 4217 de 3 dígitos. [Enlace ISO 4217] https://en.wikipedia.org/wiki/ISO_4217 Longitud - 3 caracteres. Requerido para 02-NPA si el indicador de autenticación del solicitante 3DS = 02 o 03. TransactionExponent: type: integer description: Exponente para formatear el código ISO 4217 de la moneda dada. Longitud - 1 carácter. TransactionType: type: string description: Tipo de la transacción. enum: - Purchase - CardAdd MandatedRegion: type: string description: 'Un valor que describe la región en la que se pueden aplicar los mandatos a la transacción actual. Agregado para admitir las nuevas transacciones PSD2 en el EEE. Un valor de EEA indicará que la transacción está sujeta a los mandatos de PSD2; de lo contrario, el valor será nulo. Nota: debe tener en cuenta los nuevos valores que se agregan a este campo a lo largo del tiempo debido a las nuevas regulaciones que se implementan en otras regiones.' enum: - EEA - NONE - UNKNOWN Channel: type: string description: Canal en el que se produce la transacción. enum: - WEB - APP - MWEB - THREERI Credential: required: - Id - Type - Text properties: Id: type: string description: Identificador de la credencial solicitada, se pasará en la solicitud InitiateAction así como en ValidateRequest. La longitud *debe* ser de 36 caracteres. El Id debe ser único por objeto de credencial devuelto. El Id se utiliza para distinguir el tipo de autenticación específico en las llamadas InitiateAction y ValidateRequest anteriores. Type: type: string description: Tipo de Credencial utilizada para el paso a paso, estos son metadatos y no se utilizarán en ninguna lógica de negocios. enum: - OTPEMAIL - OTPSMS - OTPIVR - KBASINGLE - KBAMULTI - BIOMETRIC - OUTOFBANDOTHER Text: type: string description: 'Datos dinámicos que se mostrarán al titular de la tarjeta, es decir, número de teléfono o dirección de correo electrónico enmascarados. Nota: ciertas plantillas de pantalla del navegador solo podrán mostrar una cierta cantidad de caracteres antes de mostrar puntos suspensivos (...). Hasta 35 caracteres. Nota: en los flujos de SDK de EMV, el espacio de texto es limitado. Hasta 40 caracteres.' CredentialValidate: properties: Id: type: string description: Valor de identificación de StepupResponse -> Credencial. La longitud será de 36 caracteres.. Type: type: string description: Tipo de Credencial utilizada para el paso a paso, estos son metadatos y no se utilizarán en ninguna lógica de negocios. enum: - OTPEMAIL - OTPSMS - OTPIVR - KBASINGLE - KBAMULTI (Puede ser compatible con futuras versiones de VCAS) - BIOMETRIC - OUTOFBANDOTHER Value: type: string description: Valor proporcionado por el titular de la tarjeta. ExemptionInfo: description: 'Objeto que contiene información relacionada con las exenciones de EMV en relación con las regulaciones EEE PSD2.' properties: MerchantFraudRate: type: string description: 'Tasa de fraude comercial en el EEE calculada según PSD2 RTS. Nota: Solo transacciones de Mastercard EMV 3DS donde hay datos de extensión presentes. Nota: Mastercard no calculará ni validará la puntuación de fraude comercial.' maxLength: 2 example: '1' SecureCorporatePayment: type: string description: 'Indica que se usaron procesos y procedimientos de pago dedicados, se aplica una posible exención de pago corporativo seguro. Lógicamente, este campo solo debe establecerse en sí si el campo de exención del adquirente está en blanco. Un comerciante no puede reclamar tanto la exención del adquirente como el pago seguro. Sin embargo, el DS no validará las condiciones en la prórroga. DS transmitirá los datos tal como se presentan. Valores posibles: "Y" o "N". Nota: Solo transacciones Mastercard EMV 3DS donde hay datos de extensión presentes.' maxLength: 1 example: 'Y' WhitelistStatus: type: string description: 'Indica el estado actual de la lista blanca según lo indicado por el servidor 3DS y el DS en la solicitud de autenticación. Nota: solo transacción EMV 3DS.' enum: - Y - N - E - P - R - U WhitelistStatusSource: type: string description: 'Indica dónde está la fuente para la solicitud de lista blanca. Este será el valor inicial enviado a VCAS en la solicitud de autenticación. Nota: solo transacción EMV 3DS.' enum: - Merchant - DS ExemptionResponse: description: 'Objeto que contiene cualquier información relacionada con la evaluación de ExemptionInfo en RiskRequest.' properties: WhitelistStatus: type: string description: 'Indica si se aceptó o no la exención de la lista blanca. Debe usarse junto con RiskResponse.Status. El valor puede dejarse nulo si se acepta o si no se aplica a la transacción.' enum: - Y - N - E - P - R - U MerchantAuthInfo: description: 'Objeto que contiene información relacionada con cualquier información de Autenticación de comerciante en solicitudes de EMV.' properties: DecoupledRequestIndicator: type: string description: 'Indica si el solicitante de 3DS solicita al ACS que utilice la autenticación desacoplada y acepta utilizar la autenticación desacoplada si el ACS confirma su uso. Nota: Solo EMV 3DS 2.2 - ***Estará disponible en una fecha posterior***' enum: - DecoupledPreferred - NoDecoupledPreferred DecoupledMaxTime: type: string description: 'Indica la cantidad máxima de tiempo que el solicitante de 3DS esperará a que un ACS proporcione los resultados de la transacción de autenticación desacoplada (en minutos). Se aceptan valores numéricos entre 1 y 10080. Nota: Solo EMV 3DS 2.2 - ***Estará disponible en una fecha posterior***' maxLength: 5 CardholderSelectionInfo: description: 'Objeto que define la selección de consumidores durante el flujo OTP de Selección de Tarjetahabientes. Esta función solo se completa y habilita para los emisores que admiten este flujo.' properties: Type: type: string description: 'Escriba que describa la selección del titular de la tarjeta, p. Tarjetahabiente primario (P) o secundario (S).' enum: - P - S Name: type: string description: 'El nombre del titular de la tarjeta seleccionado. Solo es necesario si se selecciona que debe de coincidir con el titular de la tarjeta secundario.' maxLength: 45 Reason: properties: ReasonCode: type: string description: Utilizado por el emisor con fines informativos. Longitud - hasta 32 caracteres. ReasonDescription: type: string description: Utilizado por el emisor con fines informativos. Longitud - hasta 256 caracteres. WhyInfo: description: 'Objeto que define valores de texto dinámicos que se pueden mostrar al consumidor durante el flujo de desafío. Estos campos se asignarán directamente tanto a las plantillas del navegador como a los campos de información del SDK. Nota: este campo también se puede configurar para las pantallas SDK hoy a través de nuestra configuración de plantilla. Si este valor se pasa en RDX, anulará el valor configurable actual.' properties: Label: type: string description: 'Etiqueta que se mostrará al titular de la tarjeta para la sección de información "why".' maxLength: 45 Text: type: string description: 'Texto proporcionado por el emisor que se mostrará al titular de la tarjeta para explicar por qué se le pide al titular de la tarjeta que realice la tarea de autenticación. Nota: El retorno de carro es compatible con este elemento de datos y se representa con un "\n".' maxLength: 256 ErrorMessage: type: object properties: ReferenceNumber: type: string description: Número de referencia del sistema para el mensaje de error. Longitud - hasta 15 caracteres. Description: type: string description: Una descripción del error. Longitud - hasta 50 caracteres. Message: type: string description: Un mensaje que se mostrará al cliente en la pantalla de error. Longitud - hasta 100 caracteres. StepupRequest: type: object required: - ProcessorId - IssuerId - TransactionId - StepupRequestId - MessageVersion - StepupCounter properties: ProcessorId: type: string description: Cardinal proporcionó un identificador para el socio. Longitud - hasta 24 caracteres. IssuerId: type: string description: Cardinal que proporciona un identificador para el socio. Longitud - hasta 24 caracteres. TransactionId: type: string description: 'Id. de referencia de transacción generada por VCAS. Longitud - hasta 36 caracteres. 3DS 1.0.2: 28 caracteres alfanuméricos. EMV 3DS - GUID de 36 caracteres.' DSTransactionId: type: string description: 'Id. de referencia de transacción generada por Directory Server (DS). Formato GUID. Nota: Solo transacciones EMV 3DS.' maxLength: 36 StepupRequestId: type: string description: Identificador único para identificar la solicitud particular de Stepup. La longitud será de 36 caracteres. StepupCounter: type: integer description: 'Contador para rastrear el número de Stepups. Cada incremento puede ir desde Stepup -> InitiateAction -> Validate. Si el usuario solicita un "reenvío" a través de las plantillas del navegador, iniciará otra solicitud de Stepup.' DeviceLocale: type: string description: 'Configuración regional del dispositivo desde el encabezado del navegador o desde la configuración de idioma de la aplicación. Este valor puede ser un único valor de configuración regional o varios concatenados mediante comas. En 3DS1, este valor será directamente del encabezado "Aceptar idioma" del navegador. Sin embargo, en 3DS2 esto no está disponible debido a los nuevos flujos, por lo que será un valor de idioma único siguiendo el formato BCP 47, p. en-US o en,es-PE;q=0.9,es;q=0.8' maxLength: 2048 DeviceUserAgent: type: string description: " Agente de usuario del dispositivo desde el encabezado del navegador o el identificador del dispositivo de la aplicación. Longitud - hasta 2048 caracteres." MessageVersion: type: string description: Versión del mensaje basada en la especificación 3DS. Ejemplos - 1.0.2, 2.1.0, 2.2.0 maxLength: 8 RDXMessageVersion: type: string description: 'Versión del protocolo RDX que se está utilizando. Esto se usará para habilitar nuevas funciones sin interrumpir las integraciones actuales. Ejemplo: 2.2.0 y 2.2.1' maxLength: 8 StepupReason: type: string description: Se utiliza para identificar el motivo por el que se inició la solicitud Stepup. Solo disponible para reenvío del titular de la tarjeta, se pueden agregar valores y escenarios futuros. enum: - CARDHOLDER_RESEND MerchantInfo: $ref: '#/components/schemas/MerchantInfo' PaymentInfo: $ref: '#/components/schemas/PaymentInfo' TransactionInfo: $ref: '#/components/schemas/BasicTransactionInfo' CardholderSelectionInfo: $ref: '#/components/schemas/CardholderSelectionInfo' StepupResponse: type: object required: - ProcessorId - IssuerId - TransactionId - StepupRequestId - Credentials - Status properties: ProcessorId: type: string description: Repetición de la solicitud. Longitud - hasta 24 caracteres. IssuerId: type: string description: Repetición de la solicitud. Longitud - hasta 24 caracteres. TransactionId: type: string description: Repetición de la solicitud. Longitud - hasta 36 caracteres. StepupRequestId: type: string description: Repetición de la solicitud. Longitud - hasta 36 caracteres. StepupType: type: string description: Se utiliza para identificar el tipo de stepup. enum: - CHOICE - OTP - KBA - BIOMETRIC - OUTOFBAND - OTP_AND_KBA - OTP_CHOICE_AND_KBA Language: type: string description: Idioma para mostrar las instrucciones y aviso al titular de la tarjeta. Este valor decidirá qué plantilla se carga, siempre que esté disponible el idioma de plantilla correcto. Si no se proporciona, el idioma se selecciona según la configuración del emisor y la preferencia del navegador, p. es-US. Longitud - hasta 8 caracteres. Status: type: string description: Se devuelve ERROR en cualquier problema interno/técnico. Los INTENTOS solo se admiten para transacciones 1.0.2. REJECTED solo se admite para transacciones 2.x.x. AUTENTICADO devolverá una Y al comerciante. enum: - SUCCESS - ERROR - BLOCKED - FAILURE - FAILWITHFEEDBACK - ATTEMPTS - AUTHENTICATED - REJECTED RiskIndicator: type: string description: | Si se devuelve, este valor se usará en la creación de ciertos valores de autenticación (AV) para EMV 3DS. El valor pasado debe ajustarse al valor AV actual que utiliza el emisor. Esto también puede depender de la marca de la tarjeta de la transacción. Por ejemplo, CAVV e IAV aceptan valores diferentes. En las respuestas de Desafío (Stepup, Initiate, Validate), este valor se ignora actualmente para los usos de CAVV a favor de la asignación al "Tipo de credencial". Para el uso de IAV SPA2 mejorado, si se pasa, este valor anulará la asignación al "Tipo de credencial". Nota: Este campo solo está disponible para transacciones EMV 3DS y no está disponible en transacciones 3DS 1. Nota: El valor aquí se convertirá al equivalente hexadecimal. Consulte el documento "VCAS Enhanced AV" para obtener más detalles sobre los AV actuales disponibles y los valores correspondientes. maxLength: 3 Credentials: type: array items: $ref: '#/components/schemas/Credential' minimum: 1 Reason: $ref: '#/components/schemas/Reason' Error: $ref: '#/components/schemas/ErrorMessage' WhyInfo: $ref: '#/components/schemas/WhyInfo' InitiateActionRequest: type: object required: - ProcessorId - IssuerId - TransactionId - DSTransactionId - StepupRequestId - StepupType - OtpReferenceCode - VerificationToken - Credentials - MessageVersion - MerchantInfo - RDXMessageVersion - TransactionInfo - PaymentInfo - StepupCounter properties: ProcessorId: type: string description: Cardinalidad que proporciona un identificador para el socio. Longitud - hasta 24 caracteres. IssuerId: type: string description: Cardinalidad que proporciona un identificador para el socio. Longitud - hasta 24 caracteres. TransactionId: type: string description: 'Id. de referencia de transacción generada por VCAS. Longitud - hasta 36 caracteres. 3DS 1.0.2: 28 caracteres alfanuméricos. EMV 3DS - GUID de 36 caracteres.' DSTransactionId: type: string description: 'Id. de referencia de transacción generada por Directory Server (DS). Formato GUID. Nota: Solo transacciones EMV 3DS.' maxLength: 36 StepupRequestId: type: string description: Identificador único para identificar la solicitud particular de Stepup. Longitud - 36 caracteres. StepupType: type: string description: Se utiliza para identificar qué tipo de stepup. enum: - CHOICE - OTP - KBA - BIOMETRIC - OUTOFBAND - OTP_AND_KBA - OTP_CHOICE_AND_KBA StepupCounter: type: integer description: 'Contador para rastrear el número de Stepups. Cada incremento puede ir desde Stepup -> InitiateAction -> Validate. Si el usuario solicita un "reenvío" a través de las plantillas del navegador, iniciará otra solicitud de Stepup.' OtpReferenceCode: type: string description: 'Este es un valor único generado con cada nuevo valor OTP o "VerificationToken". En el caso en que el consumidor pueda recibir múltiples OTP para la misma transacción, esto se puede aprovechar para mostrarle al consumidor qué OTP espera ingresar en el sistema. Este valor debe enviarse en el SMS o correo electrónico junto con el VerificationToken y luego mostrarse en la pantalla del consumidor.' VerificationToken: type: string description: Token a enviar al titular de la tarjeta. maxLength: 18 MessageVersion: type: string description: Versión del mensaje basada en la especificación 3DS. Ejemplos - 1.0.2, 2.1.0, 2.2.0 maxLength: 8 RDXMessageVersion: type: string description: 'Versión del protocolo RDX que se está utilizando. Esto se usará para habilitar nuevas funciones sin interrumpir las integraciones actuales. Ejemplo: 2.2.0 y 2.2.1' maxLength: 8 Credentials: type: array items: $ref: '#/components/schemas/Credential' minimum: 1 MerchantInfo: $ref: '#/components/schemas/MerchantInfo' PaymentInfo: $ref: '#/components/schemas/PaymentInfo' TransactionInfo: $ref: '#/components/schemas/BasicTransactionInfo' InitiateActionResponse: type: object required: - ProcessorId - IssuerId - TransactionId - StepupRequestId - Credentials - Status properties: ProcessorId: type: string description: Repetición de la solicitud. Longitud - hasta 24 caracteres. IssuerId: type: string description: Repetición de la solicitud. Longitud - hasta 24 caracteres. TransactionId: type: string description: Repetición de la solicitud. Longitud - hasta 36 caracteres. StepupRequestId: type: string description: Repetición de la solicitud. Longitud - hasta 36 caracteres. Language: type: string description: Idioma para mostrar las instrucciones y aviso al titular de la tarjeta. Este valor decidirá qué plantilla se carga, siempre que esté disponible el idioma de plantilla correcto. Si no se proporciona, el idioma se selecciona según la configuración del emisor y la preferencia del navegador, p. es-US. Longitud - hasta 8 caracteres. Status: type: string description: Se devuelve ERROR en cualquier problema interno/técnico. Los INTENTOS solo se admiten para transacciones 1.0.2. REJECTED solo se admite para transacciones 2.x.x. AUTENTICADO devolverá una Y al comerciante. enum: - SUCCESS - ERROR - BLOCKED - FAILURE - ATTEMPTS - AUTHENTICATED - FAILWITHFEEDBACK - STEPUP - REJECTED RiskIndicator: type: string description: | Si se devuelve, este valor se usará en la creación de ciertos valores de autenticación (AV) para EMV 3DS. El valor pasado debe ajustarse al valor AV actual que utiliza el emisor. Esto también puede depender de la marca de la tarjeta de la transacción. Por ejemplo, CAVV e IAV aceptan valores diferentes. En las respuestas de Desafío (Stepup, Initiate, Validate), este valor se ignora actualmente para los usos de CAVV a favor de la asignación al "Tipo de credencial". Para el uso de IAV SPA2 mejorado, si se pasa, este valor anulará la asignación al "Tipo de credencial". Nota: Este campo solo está disponible para transacciones EMV 3DS y no está disponible en transacciones 3DS 1. Nota: El valor aquí se convertirá al equivalente hexadecimal. Consulte el documento "VCAS Enhanced AV" para obtener más detalles sobre los AV actuales disponibles y los valores correspondientes. maxLength: 3 Credentials: type: array items: $ref: '#/components/schemas/Credential' minimum: 1 Reason: $ref: '#/components/schemas/Reason' Error: $ref: '#/components/schemas/ErrorMessage' WhyInfo: $ref: '#/components/schemas/WhyInfo' badParameterRequest: type: object properties: status: type: number description: Código de estatus de la respuesta. example: 400 codigoRespuesta: type: number description: Código de la respuesta. example: 0 codigoError: type: string description: Código del error. example: ERRESQ001 mensaje: type: string description: Mensaje indicando el error en la petición. example: Datos de entrada incorrectos, por favor revisa el contenido enviado. folio: type: string description: Folio correspondiente a la operación. example: 08API1650913805053API05 detalles: type: object properties: enlace: type: string description: Enlace con información relacionada al error. example: https://developers.banorte.com/es/api/23 propiedad: type: string description: Detalle del error. example: La petición contiene un campo vacío o nulo. valorIncorrecto: type: string description: Campo que produjo el error. example: IssuerId badRequest: type: object properties: status: type: number description: Código de estatus de la respuesta. example: 405 codigoRespuesta: type: number description: Código de la respuesta. example: 0 codigoError: type: string description: Código del error. example: ERRSEG006 mensaje: type: string description: Método no permitido, por favor revisa el contenido enviado. example: Datos de entrada incorrectos, por favor revisa el contenido enviado. folio: type: string description: Folio correspondiente a la operación. example: 08API1650913805053API05 detalles: type: object properties: enlace: type: string description: Enlace con información relacionada al error. example: https://developers.banorte.com/es/api/23 propiedad: type: string description: Detalle del error. example: El metodo no es permitido. badAuthorization: type: object properties: ProcessorId: type: string description: Se toma de la entrada. example: "" IssuerId: type: string description: Se toma de la entrada. example: "" TransactionId: type: string description: Se toma de la entrada. example: "" StepupRequestId: type: string description: Se toma de la entrada. example: "" StepupType: type: string description: "Valor fijo : OTP" example: "OTP" Language: type: string description: "Valor fijo : es-MX " example: "es-MX" Status: type: string description: "Valor fijo : ERROR" example: "ERROR" Reason: type: object description: "Objeto de respuesta en el cual se incluyen los mensajes de error." properties: ReasonCode: type: string description: "(valores fijos posibles) ERRSEG010 - token no autorizado, ERRSEG001 - token invalido, ERRSEG011 - token expirado, ERRSEG004 - scope no valido" example: "ERRSEG010" ReasonDescription: type: string description: "Valor fijo : Error en el proceso de autenticación en el servidor, favor de intentar más tarde." example: "Error en el proceso de autenticación en el servidor, favor de intentar más tarde." Error: type: object description: "Objeto de respuesta en el cual se incluyen los mensajes de error." properties: ReferenceNumber: type: string description: "Folio aleatorio." example: "08API1664860007913API05" Description: type: string description: "Valor fijo: Error en el proceso de autenticación en el servidor, favor de intentar más tarde." example: "Error en el proceso de autenticación en el servidor, favor de intentar más tarde." Message: type: string description: "Valor fijo: Error en el proceso del servidor, favor de intentar más tarde." example: "Error en el proceso del servidor, favor de intentar más tarde." serverErrorResponse: type: object properties: ProcessorId: type: string example: 5a9d74a40063ac36a4b689c9 IssuerId: type: string example: 5a9d74a40063ac36a4b689cb TransactionId: type: string example: JVE3JYdwOxaVDau8ObdiEipWmcu1 StepupRequestId: type: string example: c69f43c-2dce-400a-8ec8-2d0ef9f76519 Language: type: string example: es-MX Status: type: string example: ERROR Reason: type: object properties: ReasonCode: type: string example: ERRSER003 ReasonDescription: type: string example: Error con la conexión del servidor, favor de intentar más tarde. Error: type: object properties: ReferenceNumber: type: string example: 08API1650913805053API05 Description: type: string example: Error con la conexión del servidor, favor de intentar más tarde. Message: type: string example: Error con la conexión del servidor, favor de intentar más tarde.