Full Code of ssheduardo/sermepa for AI

master fafaa6c2a7bc cached
33 files
340.7 KB
103.1k tokens
192 symbols
1 requests
Download .txt
Showing preview only (357K chars total). Download the full file or copy to clipboard to get everything.
Repository: ssheduardo/sermepa
Branch: master
Commit: fafaa6c2a7bc
Files: 33
Total size: 340.7 KB

Directory structure:
gitextract_diydpycr/

├── .github/
│   └── workflows/
│       └── ci.yml
├── .gitignore
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── composer.json
├── doc/
│   ├── Códigos de Respuesta.md
│   ├── Parámetros de entrada.html
│   ├── Tabla DS_MERCHANT_CONSUMERLANGUAGE.md
│   ├── Tabla DS_MERCHANT_CURRENCY.md
│   ├── Tabla DS_MERCHANT_PAYMETHODS.md
│   ├── Tabla DS_MERCHANT_TRANSACTIONTYPE.md
│   └── Tabla Ds_ProcessedPayMethod.md
├── phpunit.xml.dist
├── src/
│   ├── Redsys/
│   │   └── Merchant/
│   │       ├── MerchantCofTypes.php
│   │       ├── MerchantConsumerLanguages.php
│   │       ├── MerchantCurrencies.php
│   │       ├── MerchantEnvironment.php
│   │       ├── MerchantInsiteError.php
│   │       ├── MerchantInsiteLanguage.php
│   │       ├── MerchantInsiteStyle.php
│   │       ├── MerchantPaymethods.php
│   │       └── MerchantTransactionTypes.php
│   └── Sermepa/
│       └── Tpv/
│           ├── Tpv.php
│           └── TpvException.php
└── tests/
    ├── MerchantCofTypesTest.php
    ├── MerchantConsumerLanguagesTest.php
    ├── MerchantCurrenciesTest.php
    ├── MerchantEnvironmentTest.php
    ├── MerchantPaymethodsTest.php
    ├── MerchantTransactionTypesTest.php
    ├── TpvResponseTest.php
    └── TpvTest.php

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/workflows/ci.yml
================================================
name: Run Tests
on:
    push:
        branches:
            - master
            - develop
    workflow_dispatch:

jobs:
    package-tests:
        runs-on: ubuntu-latest

        strategy:
            matrix:
                php-versions: ["8.5", "8.4", "8.3", "8.2"]
                dependency-stability: ["prefer-stable"]

        name: PHP ${{ matrix.php-versions }} - ${{ matrix.dependency-stability }}

        steps:
            - uses: actions/checkout@v4

            - name: Get Composer Cache Directory
              id: composer-cache
              run: |
                echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

            - name: Cache Composer Dependencies
              uses: actions/cache@v4
              with:
                path: ${{ steps.composer-cache.outputs.dir }}
                key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
                restore-keys: ${{ runner.os }}-composer-

            - name: Install PHP
              uses: shivammathur/setup-php@v2
              with:
                  php-version: ${{ matrix.php-versions }}

            - name: Install Dependencies
              run: composer update --no-interaction --prefer-dist

            - name: PHP Version
              run: php --version

            - name: Execute tests via PHPUnit
              run: vendor/bin/phpunit --testdox


================================================
FILE: .gitignore
================================================
# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

.idea

# PHPUnit
/.phpunit.cache
.phpunit.result.cache

phpunit.xml
vendor
docker
docker-compose.yml
.env

# Development scripts
AGENTS.md
test-docker.sh

================================================
FILE: CHANGELOG.md
================================================
# Changelog

All Notable changes to `Redsys` will be documented in this file

## Version 1.6.0 (2026-03-08)

### Added

- Added InSite integration - embedded payment form via iframe (complete implementation)
- Added new environments: `insiteSandbox`, `insiteLive`, `insiteRestSandbox`, `insiteRestLive`
- Added `createInSiteForm()` method with full parameter support:
  - Container ID customization
  - CSS styles for button, body, box, and inputs
  - Button text (HTML encoded)
  - Language selection (SIS codes and ISO 639-1)
  - Logo visibility toggle
  - Reduced style option
  - InSite style modes: 'inline' or 'twoRows'
- Added `createInSiteFormJSON()` method - JSON-based configuration (recommended)
- Added `sendInSite()` method - executes payment with operation ID
- Added `setInSite()` method - enables/disables InSite mode
- Added `getInSiteMode()` method - gets InSite mode status
- Added `getInSiteJsUrl()` method - gets InSite JavaScript URL
- Added InSite constants in `MerchantEnvironment`:
  - `INSITE_SANDBOX`, `INSITE_LIVE`, `INSITE_REST_SANDBOX`, `INSITE_REST_LIVE`
  - `INSITE_JS_SANDBOX`, `INSITE_JS_LIVE`
- Added `MerchantInsiteLanguage` class - language codes for InSite forms
- Added `MerchantInsiteError` class - error codes and descriptions for InSite validation
- Added `MerchantInsiteStyle` class - style constants (inline, twoRows)
- Added comprehensive InSite documentation with examples

### Changed

- Updated `setEnvironment()` to support InSite environments
- Updated `createInSiteForm()` to require terminal parameter (as per Redsys docs)
- Updated README with complete InSite documentation per official Redsys documentation

### Fixed

- None

## Version 1.5.3 (2026-02-22)

### Added

- Added support for PHP 8.3, 8.4 and 8.5
- Added support for PHPUnit 10

### Changed

- Updated CI workflow to use GitHub Actions with PHP 8.2-8.5
- Improved README with better documentation, tables and examples
- Migrated phpunit.xml.dist to PHPUnit 10 schema
- Updated composer.json with PHP 8.3-8.5 and PHPUnit 10 support

### Fixed

- Fixed test assertions for PHPUnit 10 compatibility
- Removed deprecated ReflectionMethod::setAccessible() call (PHP 8.5 compatibility)

### Added

- Added a new method to create an order number (createOrderNumber) to generates a Redsys order number following the recommended format.

### Changed

- None

### Fixed

- None

## Version 1.5.1 (2025-01-23)

### Added

- Added a new test to handle successful or error responses from the Redsys payment gateway.
- Updated README with additional information about errorCode verification and the usage of the MIT parameter.

### Changed

- None

### Fixed

- None

## Version 1.5.0 (2025-01-16)

### Added

- None

### Changed

- Updated isEmpty method to properly handle non-string values

### Fixed

- Fixed deprecated warning in isEmpty method when passing null values to trim().
- Fixed incorrect validation of boolean values in isEmpty method

## Version 1.4.9 (2025-01-11)

### Added

- None

### Changed

- None

### Fixed

- I have just fixed an error in the setMerchantCofIni method. It always returns the value 'S'.

## Version 1.4.8 (2024-03-05)

### Added

- Implementation of the `xpay` method within the `setMethod` functionality to support GooglePay and ApplePay.

- TDD (Test Driven Development) implementation for enhanced code reliability and maintainability.

### Changed

- Possible internal changes were made to integrate the `xpay` method and accommodate the TDD implementation, ensuring code consistency.

### Fixed

- None

## Version 1.4.7 (2024-02-24)

### Added

- Static validation methods for convenience and reusability.

- Tests for the new methods and functionalities, ensuring code quality and stability.

### Changed

- Possible internal changes were made to implement the new features.

### Fixed

- None

## Version 1.4.6 (2023-10-28)

### Added

- Test for method getPathJs

- I just added a second optional parameter, $version, was added to the getJsPath() method to allow users to specify the version of the Redsys JavaScript file they want to use. The default version is 2 for compatibility reasons, but users can specify 3 to get the latest Redsys JavaScript file.

### Changed

- None

### Fixed

- None

## Version 1.4.5 (2023-09-26)

### Added

- Tag 1.4.5

### Changed

- Method `check` updated in `Tpv.php` to enhance security and improve validation of signatures. The change involved replacing strict comparison (`===`) with `hash_equals()` for signature validation.

### Fixed

- None

## Version 1.4.4 (2023-08-07)

### Added

- Merge pull request from diegomarty.
- Changed value by default in setMethod: T to C.
- Added validation for this parameters: 'T', 'C', 'R', 'D', 'z', 'p', 'N'
- Added new test for setMethod

### Fixed

- Nothing

## Version 1.4.3 (2023-02-16)

### Added

- Testing with PHP 8.2.
- Added new method getJsPath for inSite.

### Fixed

- Nothing

## Version 1.4.2 (2022-11-10)

### Added

- New environment iniciaPeticionREST to Rest Api.

### Fixed

- Nothing

## Version 1.4.1 (2022-03-07)

### Added

- Nothing

### Fixed

- Updated README, example rest.

## Version 1.4.0 (2022-02-22)

### Added

- Added new method: send using rest.

### Fixed

- setOrder, Allows you to add numbers and letters in the first 4.

## Version 1.3.0 (2020-12-05)

### Added

- Added new method: setParameters

### Deprecated

- Nothing

### Fixed

- Nothing

## Version 1.2.9 (2019-05-18)

### Added

- Added new methods for recurring payment:
  - setSumtotal
  - setChargeExpiryDate
  - setDateFrecuency

### Deprecated

- Nothing

### Fixed

- Nothing

## Version 1.2.8 (2018-10-11)

### Added

- Added travis_ci

### Deprecated

- Nothing

### Fixed

- Fixed errors when uses php5.6 (travis_ci)

## Version 1.2.7 (2018-09-03)

### Added

- Added test.
- Added method getNameForm.

### Deprecated

- Nothing

### Fixed

- Changed property and methods private to protected

## Version 1.2.6 (2018-08-02)

### Added

- Add support to chain methods

### Deprecated

- Nothing

### Fixed

- Nothing

## Version 1.2.5 (2018-04-04)

### Added

- Nothing

### Deprecated

- Nothing

### Fixed

- Changed validation for setCurrency, not limit to 978, 840, 826, 392

## Version 1.2.4.1 (2018-03-22)

### Added

- Nothing

### Deprecated

- Nothing

### Fixed

- Changed information text about of parameter by default for setMethod.

## Version 1.2.4 (2017-12-11)

### Added

- Merge pull request (Minor cosmetic fixes).
- Added setEnvironment.

### Deprecated

- Method setEnviroment.

### Fixed

- Nothing

## Version 1.2.3 (2017-11-23)

### Added

- Throwing custom exceptions TpvException

### Deprecated

- Nothing

### Fixed

- Nothing

## Version 1.2.2 (2017-06-14)

### Added

- Method setPan, Set card number.
- Method setExpiryDate, Set expiry date of card number.
- Method setCVV2, Set CVV2 of card number.

### Deprecated

- Nothing

### Fixed

- Nothing

## Version 1.2.1 (2017-05-20)

### Added

- Nothing

### Deprecated

- Nothing

### Fixed

- The method setOrder, now verified that the first 4 digits must be numeric and maximum 12 characters.

## Version 1.2 (2017-01-27)

### Added

- Nothing

### Deprecated

- Nothing

### Fixed

- Changed the function mcrypt_encrypt to openssl_encrypt, with the new updated of PHP 7.1 the function mcrypt_encrypt is deprecated.

## Version 1.1.6 (2016-10-19)

### Added

- Method setIdentifier, This parameter is used to handle the associated reference data card. It is an alphanumeric field of up to 40 positions whose value is generated by the Virtual TPV.
- Method setMerchantDirectPayment, This parameter is optional, functions as a flag indicating whether to display additional screens (DCC, Fractionation and Authentication) default values are "true" or "false". If you used with the value "true", not additional screens (DCC, Fractionation and Authentication) are displayed during payment and should be used in conjunction with the parameter Ds_Merchant_Identifier containing a valid reference.

### Deprecated

- Nothing

### Fixed

- setAmount, Now amount maybe 0, it is for uses setIdentifier.

## Version 1.1.5 (2016-06-17)

### Added

- Method getVersion, return version example: HMAC_SHA256_V1
- Method getMerchantSignature, return merchant signature example: Cia90trhTPGxtJDmK6WDhqXzU+98LbuKZKAKYHMjtMs=

### Deprecated

- Nothing

### Fixed

- Nothing


================================================
FILE: LICENSE.md
================================================
# The MIT License (MIT)

Copyright (c) 2015 Eduardo

> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
> in the Software without restriction, including without limitation the rights
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> copies of the Software, and to permit persons to whom the Software is
> furnished to do so, subject to the following conditions:
>
> The above copyright notice and this permission notice shall be included in
> all copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> THE SOFTWARE.


================================================
FILE: README.md
================================================
# Redsys - Biblioteca PHP para Pasarela de Pagos

[![Latest Version on Packagist][ico-version]][link-packagist]
[![Software License][ico-license]](LICENSE.md)
[![Total Downloads][ico-downloads]][link-downloads]
[![Run Tests](https://github.com/ssheduardo/sermepa/actions/workflows/ci.yml/badge.svg)][link-workflows]

Biblioteca PHP para integrar la pasarela de pagos Redsys/Sermepa (Santander, Sabadell, LaCaixa, BBVA, etc.)

## Requisitos

- PHP 7.1.3+ a 8.2
- ext-curl
- ext-openssl
- ext-json

## Instalación

```bash
composer require sermepa/sermepa
```

## Inicio Rápido

```php
use Sermepa\Tpv\Tpv;

$redsys = new Tpv();
$redsys->setAmount(2500)           // 25.00€
    ->setOrder('1234AB')
    ->setMerchantcode('999008881')
    ->setCurrency('978')           // Euros
    ->setTransactiontype('0')       // Autorización
    ->setTerminal('1')
    ->setMethod('C')                // Solo tarjeta
    ->setNotification('https://tusitio.com/notificacion')
    ->setUrlOk('https://tusitio.com/ok')
    ->setUrlKo('https://tusitio.com/ko')
    ->setEnvironment('test');       // Entorno de pruebas

$signature = $redsys->generateMerchantSignature('TU_CLAVE_SECRETA');
$redsys->setMerchantSignature($signature);

echo $redsys->createForm();
```

## Entornos Disponibles

| Entorno | Descripción |
|---------|-------------|
| `test` | Pruebas (SIS Sandbox) |
| `live` | Producción |
| `restTest` | API REST Pruebas |
| `restLive` | API REST Producción |
| `insiteSandbox` | InSite Pruebas (JS + REST) |
| `insiteLive` | InSite Producción (JS + REST) |
| `insiteRestSandbox` | InSite REST Pruebas (solo pago) |
| `insiteRestLive` | InSite REST Producción (solo pago) |

## Métodos de Pago

| Código | Descripción |
|--------|-------------|
| `C` o `T` | Tarjeta |
| `R` | Transferencia |
| `D` | Domiciliación |
| `z` | Bizum |
| `p` | PayPal |
| `N` | Masterpass |
| `xpay` | GooglePay / ApplePay |

## Tipos de Transacción

| Código | Descripción |
|--------|-------------|
| `0` | Autorización |
| `1` | Preautorización |
| `2` | Confirmación de preautorización |
| `3` | Anulación de preautorización |
| `4` | Devolución |
| `5` | Cancelación |
| `7` | Preautorización extendida |
| `8` | Confirmación preautorización extendida |
| `9` | Baja de preautorización extendida |

## Códigos de Respuesta

El banco devuelve un código en `Ds_Response`. Los principales:

| Código | Significado |
|--------|-------------|
| `0000` a `0099` | Pago aprobado |
| `0100` a `0199` | Operatoria OK, verificación CVV obligatoria |
| `0200` | Error de formato |
| `0201` | Error de firma |
| `0204` | Error de datos |
| `0209` | Error de tajeta |
| `0214` | Fecha de caducidad errónea |
| `0215` | Error en importe mínimo (no usado) |
| `0290` | Tarjeta no autorizada |
| `0401` | Error en posición de tarjeta |
| `0404` | Error de configuración de comercio |
| `0501` | Operaciones pendientes |
| `0904` | Comercio no operativo |
| `0912` | Emisor no disponible |
| `9912` | Emisor no disponible |
| `9913` | Error en comunicación |
| `9914` | Fallo al conectar con CA |
| `9919` | Error de cryptograma |
| `9929` | Error de deslinde |
| `9932` | Error de bin |
| `9933` | Error de BS. Cambio de dinámico a estático |
| `9934` | Error de BS. Cambio de estático a dinámico |
| `9951` | Operación de ingreso OK |
| `9952` | Operación de ingreso NO OK |
| `9953` | Devolución OK |
| `9954` | Devolución NO OK |
| `9955` | Anulación OK |
| `9956` | Anulación NO OK |
| `9957` | Ajuste OK |
| `9958` | Ajuste NO OK |
| `9961` | Error en cierre batch |
| `9962` | Error en apertura batch |
| `9963` | Error de operativa |
| `9992` | Petición cancelada |
| `9993` | Operatoria abandonada por el usuario |
| `9995` | Operatoria abandonada - tiempo excedido |
| `9996` | Error de conexión |
| `9997` | Error de timeout |
| `9998` | Error de validación |
| `9999` | Error general |

> **Nota:** Para pagos exitosos, el código debe estar entre `0000` y `0099`. Convertir a entero para comparar: `$DsResponse = (int) $parameters['Ds_Response'];`

## Validar Respuesta del Banco

En tu URL de notificación (`setNotification`), debes validar la respuesta del banco:

```php
use Sermepa\Tpv\Tpv;
use Sermepa\Tpv\TpvException;

try {
    $redsys = new Tpv();
    $key = 'TU_CLAVE_SECRETA';

    // Decodificar parámetros recibidos
    $parameters = $redsys->getMerchantParameters($_POST['Ds_MerchantParameters']);
    $DsResponse = (int) $parameters['Ds_Response'];

    // Validar firma y respuesta
    if ($redsys->check($key, $_POST) && $DsResponse <= 99) {
        // Pago correcto -Ds_Response = 0000 a 0099
        // Aquí: actualizar pedido, enviar email, etc.
    } else {
        // Pago fallido
    }
} catch (TpvException $e) {
    error_log('Error TPV: ' . $e->getMessage());
}
```

## Pago con Tarjeta Guardada (Token)

Guardar la tarjeta del cliente para pagos futuros:

```php
// 1. Crear referencia (primer pago)
$redsys->setIdentifier();  // Sin parámetros - indica "REQUIRED"

// Respuesta del banco contendrá:
// $parameters['Ds_Merchant_Identifier']
// $parameters['Ds_ExpiryDate']
```

```php
// 2. Usar referencia (pagos recurrentes)
$redsys->setIdentifier('IDENTIFICADOR_GUARDADO');
$redsys->setMerchantDirectPayment(true);  // Pago directo sin autenticación 3D Secure
```

## Enviar Datos de Tarjeta Directamente

Puedes enviar los datos de la tarjeta para que el usuario no tenga que introducirlos en la pasarela:

```php
$redsys->setPan('4548812049400004');     // Número de tarjeta
$redsys->setExpiryDate('1228');          // Caducidad (AAMM)
$redsys->setCVV2('123');                 // CVV2
```

> **Nota:** Esta opción requiere que tu comercio tenga autorización del banco para enviar datos de tarjeta directamente.

## API REST (Cobros sin formulario)

Para cobros directos sin redirección del usuario:

```php
use Sermepa\Tpv\Tpv;
use Sermepa\Tpv\TpvException;

try {
    $key = 'TU_CLAVE_SECRETA';

    $redsys = new Tpv();
    $redsys->setAmount(2500)
        ->setOrder('1234AB')
        ->setMerchantcode('999008881')
        ->setCurrency('978')
        ->setTransactiontype('0')
        ->setTerminal('1')
        ->setIdentifier('IDENTIFICADOR_GUARDADO')
        ->setMerchantDirectPayment(true)
        ->setVersion('HMAC_SHA256_V1')
        ->setEnvironment('restTest')
        ->setMerchantCofIni('N');

    $signature = $redsys->generateMerchantSignature($key);
    $redsys->setMerchantSignature($signature);

    $response = json_decode($redsys->send(), true);

    // Verificar error en respuesta
    if (isset($response['errorCode'])) {
        throw new Exception("Error: " . $response['errorCode']);
    }

    // Decodificar respuesta
    $parameters = $redsys->getMerchantParameters($response['Ds_MerchantParameters']);
    $DsResponse = (int) $parameters['Ds_Response'];

    if ($redsys->check($key, $response) && $DsResponse <= 99) {
        // Cobro correcto
    }
} catch (TpvException $e) {
    echo 'Error TPV: ' . $e->getMessage();
}
```

## InSite (Pago Embebido)

InSite permite incrustar el formulario de pago directamente en tu página web mediante un **iframe**, sin redirigir al usuario a la pasarela de Redsys. Los datos de tarjeta nunca pasan por tu servidor (cumplimiento PCI DSS).

> **Nota:** Tu dominio debe estar registrado en Redsys para usar InSite. Configura los dominios permitidos en el Portal de Administración del TPV Virtual. Contacta con tu banco o soporte de Redsys.

### Flujo de Integración

1. **Generar formulario InSite** - Renderiza el iframe en tu página
2. **Usuario completa pago** - Introduce datos en el iframe de Redsys
3. **Obtener ID de operación** - Redsys retorna un `idOper` (válido por 30 minutos)
4. **Ejecutar pago** - Envía el `idOper` mediante REST API

### Paso 1: Generar Formulario InSite (Modo Unificado)

El modo unificado genera un iframe completo con todos los campos de pago:

```php
use Sermepa\Tpv\Tpv;
use Redsys\Merchant\MerchantInsiteLanguage;

$redsys = new Tpv();
$redsys->setEnvironment('insiteSandbox')  // o 'insiteLive' para producción
    ->setOrder('1234AB')
    ->setMerchantcode('999008881')        // Tu código de comercio (FUC)
    ->setTerminal('1');

// Generar HTML del formulario InSite
$htmlForm = $redsys->createInSiteForm(
    'card-form',              // ID del contenedor
    'background: #007bff;',   // Estilo del botón
    'color: white;',          // Estilo del cuerpo
    'padding: 10px;',         // Estilo de la caja de datos
    'font-size: 14px;',       // Estilo de los inputs
    'Pagar',                  // Texto del botón (HTML encoded: 'Bot&#243;n' para Botón)
    MerchantInsiteLanguage::ISO_ES, // Idioma: 'ES', '1', etc.
    true,                     // Mostrar logo de entidad
    false,                    // Estilo reducido
    'inline'                  // Estilo InSite: 'inline' o 'twoRows'
);

echo $htmlForm;
```

### Modo JSON (Recomendado)

Para mayor flexibilidad, usa el método JSON:

```php
$htmlForm = $redsys->createInSiteFormJSON([
    'id' => 'card-form',
    'fuc' => '999008881',
    'terminal' => '1',
    'order' => '1234AB',
    'styleButton' => 'background: #007bff; color: white;',
    'styleBody' => 'font-family: Arial;',
    'styleBox' => 'padding: 10px;',
    'buttonValue' => 'Pagar ahora',
    'idiomaInsite' => 'ES',
    'mostrarLogoInsite' => true,
    'estiloReducidoInsite' => false,
    'estiloInsite' => 'inline'  // o 'twoRows'
]);
```

### Parámetros del Formulario

| Parámetro | Obligatorio | Descripción |
|-----------|-------------|-------------|
| `id` / `$containerId` | Sí | ID del contenedor div |
| `fuc` / merchantCode | Sí | Código de comercio (FUC) |
| `terminal` | Sí | Número de terminal |
| `order` | Sí | Número de pedido (4-12 caracteres) |
| `styleButton` | No | CSS para el botón de pago |
| `styleBody` | No | CSS para el cuerpo del formulario |
| `styleBox` | No | CSS para la caja de datos |
| `styleBoxText` | No | CSS para el texto de los inputs |
| `buttonValue` | No | Texto del botón (HTML encoded) |
| `idiomaInsite` | No | Código de idioma (ver tabla) |
| `mostrarLogoInsite` | No | Mostrar logo de entidad (default: true) |
| `estiloReducidoInsite` | No | Usar estilo reducido (default: false) |
| `estiloInsite` | No | 'inline' o 'twoRows' (default: 'inline') |

### Catálogo de Idiomas InSite

| Idioma | Código SIS | ISO 639-1 |
|--------|------------|-----------|
| Español | 1 | ES |
| Inglés | 2 | EN |
| Catalán | 3 | CA |
| Francés | 4 | FR |
| Alemán | 5 | DE |
| Italiano | 7 | IT |
| Portugués | 9 | PT |
| ... | ... | ... |

Usa las constantes de `MerchantInsiteLanguage`:

```php
use Redsys\Merchant\MerchantInsiteLanguage;

$redsys->createInSiteForm(..., MerchantInsiteLanguage::SPANISH, ...);
// o
$redsys->createInSiteForm(..., MerchantInsiteLanguage::ISO_ES, ...);
```

### Paso 2: Recibir ID de Operación

El formulario incluye automáticamente un listener que almacena el `idOper` en un campo hidden:

```html
<input type="hidden" id="token" name="token" value="">
<input type="hidden" id="errorCode" name="errorCode" value="">
```

Puedes personalizar la validación:

```javascript
function merchantValidation() {
    // Tu validación personalizada
    return true;  // true para continuar, false para cancelar
}

window.addEventListener("message", function receiveMessage(event) {
    storeIdOper(event, "token", "errorCode", merchantValidation);
});
```

### Códigos de Error InSite

| Código | Descripción |
|--------|-------------|
| msg1 | Ha de rellenar los datos de la tarjeta |
| msg2 | La tarjeta es obligatoria |
| msg3 | La tarjeta ha de ser numérica |
| msg15 | La longitud de la tarjeta no es correcta |
| msg16 | Debe introducir un número de tarjeta válido |
| msg17 | Validación incorrecta por parte del comercio |
| msg18 | Error de inicialización de dominio |

Usa `MerchantInsiteError` para obtener descripciones:

```php
use Redsys\Merchant\MerchantInsiteError;

$errorDescription = MerchantInsiteError::getDescription('msg1');
```

### Paso 3: Ejecutar Pago con ID de Operación

```php
use Sermepa\Tpv\Tpv;
use Sermepa\Tpv\TpvException;

try {
    $key = 'TU_CLAVE_SECRETA';
    $idOper = $_POST['token'];    // ID recibido del iframe
    $order = '1234AB';             // Mismo pedido usado en el formulario

    $redsys = new Tpv();
    $redsys->setEnvironment('insiteRestLive')  // o 'insiteRestSandbox'
        ->setAmount(2500)
        ->setOrder($order)          // DEBE ser el mismo que en createInSiteForm
        ->setMerchantcode('999008881')
        ->setCurrency('978')
        ->setTransactiontype('0')
        ->setTerminal('1');

    // Ejecutar pago con el ID de operación
    $response = json_decode($redsys->sendInSite($idOper, $key), true);

    // Decodificar respuesta
    $parameters = $redsys->getMerchantParameters($response['Ds_MerchantParameters']);
    $DsResponse = (int) $parameters['Ds_Response'];

    if ($DsResponse >= 0 && $DsResponse <= 99) {
        // Pago aprobado
    } else {
        // Pago denegado
    }
    }

} catch (TpvException $e) {
    echo 'Error TPV: ' . $e->getMessage();
}
```

### Métodos InSite

| Método | Descripción |
|--------|-------------|
| `setInSite(bool)` | Habilitar/deshabilitar modo InSite |
| `getInSiteMode()` | Obtener estado del modo InSite |
| `getInSiteJsUrl()` | Obtener URL del JavaScript de InSite |
| `createInSiteForm(string $containerId, string $buttonStyle, string $bodyStyle)` | Generar HTML del formulario embebido |
| `sendInSite(string $idOper, string $key)` | Ejecutar pago con ID de operación |

### Personalización del Formulario

```php
// Generar formulario con estilos personalizados
$html = $redsys->createInSiteForm(
    'card-form',                                    // ID del contenedor
    'background-color: #28a745; color: white; padding: 15px; border: none; border-radius: 5px;',  // Estilo botón
    'font-family: Arial, sans-serif;'               // Estilo cuerpo
);
```

## Redirección Automática

Para redirección automática sin mostrar el botón:

```php
$redsys->executeRedirection();
// Opcional: obtener HTML
$html = $redsys->executeRedirection(true);
```

## Integración con JavaScript de Redsys

La biblioteca incluye un método estático para obtener la ruta del JavaScript de Redsys:

```php
use Sermepa\Tpv\Tpv;

// Obtener URL del script
$jsUrl = Tpv::getJsPath('test', '3');  // Entorno test, versión 3
// https://sis-t.redsys.es:25443/sis/NC/sandbox/redsysV3.js
```

| Versión | Descripción |
|---------|-------------|
| `2` | Redsys Classic |
| `3` | Redsys API (soporte NFC, Apple Pay, Google Pay) |

## Constantes Disponibles

Usa las constantes predefinidas para evitar errores de transcripción:

```php
use Redsys\Merchant\MerchantCurrencies;
use Redsys\Merchant\MerchantTransactionTypes;
use Redsys\Merchant\MerchantConsumerLanguages;
use Redsys\Merchant\MerchantPaymethods;

// Monedas
$redsys->setCurrency(MerchantCurrencies::EUR);      // 978
$redsys->setCurrency(MerchantCurrencies::USD);      // 840
$redsys->setCurrency(MerchantCurrencies::GBP);     // 826

// Tipos de transacción
$redsys->setTransactiontype(MerchantTransactionTypes::AUTHORIZATION);  // 0
$redsys->setTransactiontype(MerchantTransactionTypes::PREAUTHORIZATION);  // 1

// Idiomas
$redsys->setLanguage(MerchantConsumerLanguages::SPANISH);   // 001
$redsys->setLanguage(MerchantConsumerLanguages::ENGLISH);   // 002
$redsys->setLanguage(MerchantConsumerLanguages::CATALAN);    // 003

// Métodos de pago
$redsys->setMethod(MerchantPaymethods::CARD);    // C
$redsys->setMethod(MerchantPaymethods::BIZUM);   // z
```

### Códigos de Moneda

Los códigos ISO 4217. Los más comunes:

- `978` - Euro (EUR)
- `840` - Dólar estadounidense (USD)
- `826` - Libra esterlina (GBP)
- `392` - Yen japonés (JPY)

### Códigos de Idioma

| Código | Idioma |
|--------|--------|
| 001 | Castellano |
| 002 | Inglés |
| 003 | Catalán |
| 004 | Francés |
| 005 | Alemán |
| 006 | Holandés |
| 007 | Italiano |
| 008 | Sueco |
| 009 | Portugués |
| 010 | Valenciano |
| 011 | Polaco |
| 012 | Gallego |
| 013 | Euskera |

## API Reference

### Métodos de Configuración

| Método | Descripción | Requerido |
|--------|-------------|-----------|
| `setAmount(float)` | Importe (se convierte a céntimos) | Sí |
| `setOrder(string)` | Número de pedido (4-12 caracteres, primeros 4 numéricos) | Sí |
| `setMerchantcode(string)` | Código de comercio (FUC) | Sí |
| `setCurrency(string)` | Código de moneda ISO | Sí |
| `setTransactiontype(string)` | Tipo de transacción | Sí |
| `setTerminal(string)` | Número de terminal | Sí |
| `setMethod(string)` | Método de pago | No |
| `setNotification(string)` | URL de notificación (callback) | Recomendado |
| `setUrlOk(string)` | URL si pago exitoso | Recomendado |
| `setUrlKo(string)` | URL si pago fallido | Recomendado |
| `setEnvironment(string)` | Entorno de conexión | No |
| `setVersion(string)` | Versión de firma | No |
| `setTradeName(string)` | Nombre del comercio | No |
| `setTitular(string)` | Titular del pago | No |
| `setProductDescription(string)` | Descripción del producto | No |

### Métodos de Firma y Envío

| Método | Descripción |
|--------|-------------|
| `generateMerchantSignature(string $key)` | Genera firma HMAC-SHA256 |
| `setMerchantSignature(string)` | Asigna la firma calculada |
| `createForm()` | Genera formulario HTML |
| `send()` | Envía petición REST (devuelve JSON) |
| `executeRedirection()` | Redirección automática con JavaScript |

### Métodos de Validación

| Método | Descripción |
|--------|-------------|
| `check(string $key, array $postData)` | Valida firma de respuesta del banco |
| `getMerchantParameters(string)` | Decodifica `Ds_MerchantParameters` |

### Métodos InSite

| Método | Descripción |
|--------|-------------|
| `setInSite(bool)` | Habilitar modo InSite |
| `getInSiteMode()` | Obtener estado del modo InSite |
| `getInSiteJsUrl()` | Obtener URL del JavaScript de InSite |
| `createInSiteForm(...)` | Genera formulario embebido (modo unificado) |
| `createInSiteFormJSON(array)` | Genera formulario embebido (modo JSON) |
| `sendInSite(string $idOper, string $key)` | Ejecuta pago con ID de operación |

#### Parámetros de createInSiteForm()

| Parámetro | Tipo | Obligatorio | Descripción |
|-----------|------|-------------|-------------|
| `$containerId` | string | No | ID del contenedor div (default: 'card-form') |
| `$buttonStyle` | string | No | CSS para el botón de pago |
| `$bodyStyle` | string | No | CSS para el cuerpo del formulario |
| `$boxStyle` | string | No | CSS para la caja de datos |
| `$inputStyle` | string | No | CSS para los inputs |
| `$buttonText` | string | No | Texto del botón (HTML encoded) |
| `$language` | string | No | Código de idioma (default: 'ES') |
| `$showLogo` | bool | No | Mostrar logo de entidad (default: true) |
| `$reducedStyle` | bool | No | Usar estilo reducido (default: false) |
| `$insiteStyle` | string | No | 'inline' o 'twoRows' (default: 'inline') |

### Métodos Auxiliares

| Método | Descripción |
|--------|-------------|
| `setNameForm(string)` | Nombre del formulario |
| `setIdForm(string)` | ID del formulario |
| `setAttributesSubmit(...)` | Personalizar botón submit |
| `setLanguage(string)` | Idioma de la pasarela |
| `setParameters(array)` | Parámetros adicionales |
| `setIdentifier(string)` | Referencia de tarjeta guardada |
| `setMerchantDirectPayment(bool)` | Pago directo sin autenticación |
| `setPan(string)` | Número de tarjeta |
| `setExpiryDate(string)` | Caducidad (AAMM) |
| `setCVV2(string)` | Código CVV2 |
| `setMerchantData(string)` | Datos adicionales del comercio |
| `getOrder()` | Obtener número de pedido |
| `getParameters()` | Obtener todos los parámetros |
| `getVersion()` | Obtener versión de firma |
| `getMerchantSignature()` | Obtener firma actual |
| `getEnvironment()` | Obtener URL del entorno |
| `getJsPath(string, string)` | Obtener ruta JS para integración moderna |
| `createOrderNumber(int)` | Generar número de pedido válido |

## Parámetros Avanzados

### Pagos Recurrentes

```php
$redsys->setMerchantCofIni('S');           // Inicio de COF
$redsys->setMerchantCofType('R');          // Tipo: R=Recurrente, I=Cuotas
$redsys->setMerchantCofTxnid('123456789'); // ID de transacción
$redsys->setSumtotal(50000);               // Importe total
$redsys->setChargeExpiryDate('2025-12-31'); // Fecha expiración
$redsys->setDateFrecuency(30);             // Frecuencia en días
```

### Excepción SCA (Strong Customer Authentication)

Algunos bancos requieren parámetros adicionales:

```php
$parameters = ['DS_MERCHANT_EXCEP_SCA' => 'MIT'];
$redsys->setParameters($parameters);
```

## Ejemplos Completos

### Ejemplo Completo: Pago Simple

```php
<?php
use Sermepa\Tpv\Tpv;
use Sermepa\Tpv\TpvException;

try {
    $key = 'sq7HjrUOBfKmC576ILgskD5srU870gJ7';

    $redsys = new Tpv();
    $redsys->setAmount(25.50)
        ->setOrder(date('YmdHis'))  // 20240215120000
        ->setMerchantcode('999008881')
        ->setCurrency('978')
        ->setTransactiontype('0')
        ->setTerminal('1')
        ->setMethod('C')
        ->setNotification('https://tusitio.com/notificacion')
        ->setUrlOk('https://tusitio.com/ok')
        ->setUrlKo('https://tusitio.com/ko')
        ->setVersion('HMAC_SHA256_V1')
        ->setTradeName('Mi Tienda')
        ->setTitular('Cliente Ejemplo')
        ->setProductDescription('Compra en Mi Tienda')
        ->setEnvironment('test');

    $signature = $redsys->generateMerchantSignature($key);
    $redsys->setMerchantSignature($signature);

    echo $redsys->createForm();

} catch (TpvException $e) {
    echo 'Error: ' . $e->getMessage();
}
```

### Ejemplo Completo: Notificación (Callback)

```php
<?php
use Sermepa\Tpv\Tpv;
use Sermepa\Tpv\TpvException;

try {
    $key = 'sq7HjrUOBfKmC576ILgskD5srU870gJ7';

    $redsys = new Tpv();

    // Decodificar parámetros
    $parameters = $redsys->getMerchantParameters($_POST['Ds_MerchantParameters']);

    // Obtener código de respuesta
    $DsResponse = (int) $parameters['Ds_Response'];
    $DsOrder = $parameters['Ds_Order'];

    // Validar firma y respuesta
    if ($redsys->check($key, $_POST)) {
        if ($DsResponse >= 0 && $DsResponse <= 99) {
            // Pago aprobado
            // Aquí: actualizar pedido en BDD, enviar confirmación, etc.
            error_log("Pago exitoso - Pedido: $DsOrder, Respuesta: $DsResponse");
        } else {
            // Pago denegado
            error_log("Pago denegado - Pedido: $DsOrder, Respuesta: $DsResponse");
        }
    } else {
        // Firma inválida - posible fraude
        error_log("Firma inválida - Pedido: $DsOrder");
    }

} catch (TpvException $e) {
    error_log('Error TPV: ' . $e->getMessage());
    http_response_code(500);
}
```

## Changelog

Ver [CHANGELOG.md](CHANGELOG.md) para más detalles.

## Licencia

MIT - Ver [LICENSE.md](LICENSE.md)

---

## Contribuidores

- [Eduardo D](mailto:ssh.eduardo@gmail.com) - Autor original
- [jaumecornado](https://github.com/jaumecornado) - Redirección automática
- [markitosgv](https://github.com/markitosgv) - Validación de respuesta

## Donación

¿Te gustaría apoyar este proyecto? ¡Gracias por tu aprecio!

[![Donar con PayPal](https://www.paypalobjects.com/es_ES/ES/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=ssh%2eeduardo%40gmail%2ecom&lc=ES&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted)

## Support

¿Necesitas ayuda? [Abre un issue](https://github.com/ssheduardo/sermepa/issues)

[ico-version]: https://img.shields.io/packagist/v/sermepa/sermepa.svg?style=flat-square
[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square
[ico-downloads]: https://img.shields.io/packagist/dt/sermepa/sermepa.svg?style=flat-square

[link-packagist]: https://packagist.org/packages/sermepa/sermepa
[link-downloads]: https://packagist.org/packages/sermepa/sermepa
[link-author]: https://github.com/ssheduardo
[link-workflows]: https://github.com/ssheduardo/sermepa/actions/workflows/ci.yml


================================================
FILE: composer.json
================================================
{
  "name": "sermepa/sermepa",
  "description": "Pasarela de pago Redsys, Sermepa",
  "version": "1.5.3",
  "keywords": ["sermepa", "payment", "pasarela", "lacaixa", "sabadell", "redsys"],
  "homepage": "https://github.com/ssheduardo/sermepa",
  "license": "MIT",
  "authors": [
    {
      "name": "Eduardo D",
      "email": "ssh.eduardo@gmail.com",
      "homepage": "http://ubublog.com/"
    }
  ],
  "require": {
    "php": "^7.1.3|^7.2.5|^8.0|^8.1|^8.2|^8.3|^8.4|^8.5"
  },
  "require-dev": {
    "phpunit/phpunit": "^7.0|^8.5.8|^9.3.3|^10.0"
  },
  "autoload": {
    "psr-4": {
      "Sermepa\\Tpv\\": "src/Sermepa/Tpv/",
      "Redsys\\": "src/Redsys/"
    }
  },
  "minimum-stability": "stable"
}

================================================
FILE: doc/Códigos de Respuesta.md
================================================
# CÓDIGOS DE RESPUESTA
https://pagosonline.redsys.es/codigosRespuesta.html

En este apartado se presenta un glosario de los códigos de respuesta que se pueden recibir en el proceso de integración y realización de una operación:

## Códigos de error

El error que se ha producido se puede obtener consultando en el módulo de administración. En el caso de realizar una integración REST el código se error también se recibirá en la respuesta de la petición REST.

| Código de error | Error SIS0XXX | Descripción |
|-----:|----------|-|
| 8102 |          | Operación que ha sido redirigida al emisor a autenticar EMV3DS V1.0.2 (para H2H)
| 8210 |          | Operación que ha sido redirigida al emisor a autenticar EMV3DS V2.1.0 (para H2H)
| 8220 |          | Operación que ha sido redirigida al emisor a autenticar EMV3DS V2.2.0 (para H2H)
| 9001 | SIS0001  | Error Interno
| 9002 | SIS0002  | Error genérico
| 9003 | SIS0003  | Error genérico
| 9004 | SIS0004  | Error genérico
| 9005 | SIS0005  | Error genérico
| 9006 | SIS0006  | Error genérico
| 9007 | SIS0007  | El mensaje de petición no es correcto, debe revisar el formato
| 9008 | SIS0008  | falta Ds_Merchant_MerchantCode
| 9009 | SIS0009  | Error de formato en Ds_Merchant_MerchantCode
| 9010 | SIS0010  | Error falta Ds_Merchant_Terminal
| 9011 | SIS0011  | Error de formato en Ds_Merchant_Terminal
| 9012 | SIS0012  | Error genérico
| 9013 | SIS0013  | Error genérico
| 9014 | SIS0014  | Error de formato en Ds_Merchant_Order
| 9015 | SIS0015  | Error falta Ds_Merchant_Currency
| 9016 | SIS0016  | Error de formato en Ds_Merchant_Currency
| 9018 | SIS0018  | Falta Ds_Merchant_Amount
| 9019 | SIS0019  | Error de formato en Ds_Merchant_Amount
| 9020 | SIS0020  | Falta Ds_Merchant_MerchantSignature
| 9021 | SIS0021  | La Ds_Merchant_MerchantSignature viene vacía
| 9022 | SIS0022  | Error de formato en Ds_Merchant_TransactionType
| 9023 | SIS0023  | Ds_Merchant_TransactionType desconocido
| 9024 | SIS0024  | El Ds_Merchant_ConsumerLanguage tiene mas de 3 posiciones
| 9025 | SIS0025  | Error de formato en Ds_Merchant_ConsumerLanguage
| 9026 | SIS0026  | Problema con la configuración
| 9027 | SIS0027  | Revisar la moneda que está enviando
| 9028 | SIS0028  | Error Comercio / terminal está dado de baja
| 9029 | SIS0029  | Que revise como está montando el mensaje
| 9030 | SIS0030  | Nos llega un tipo de operación errónea
| 9031 | SIS0031  | Nos está llegando un método de pago erróneo
| 9032 | SIS0032  | Revisar como está montando el mensaje para la devolución.
| 9033 | SIS0033  | El tipo de operación es erróneo
| 9034 | SIS0034  | error interno
| 9035 | SIS0035  | Error interno al recuperar datos de sesión
| 9036 | SIS0036  | Error al tomar los datos para Pago Móvil desde el XML
| 9037 | SIS0037  | El número de teléfono no es válido
| 9038 | SIS0038  | Error genérico
| 9039 | SIS0039  | Error genérico
| 9040 | SIS0040  | El comercio tiene un error en la configuración, tienen que hablar con su entidad.
| 9041 | SIS0041  | Error en el cálculo de la firma
| 9042 | SIS0042  | Error en el cálculo de la firma
| 9043 | SIS0043  | Error genérico
| 9044 | SIS0044  | Error genérico
|      | SIS0045  | Error genérico
| 9046 | SIS0046  | Problema con la configuración del bin de la tarjeta
| 9047 | SIS0047  | Error genérico
| 9048 | SIS0048  | Error genérico
| 9049 | SIS0049  | Error genérico
| 9050 | SIS0050  | Error genérico
| 9051 | SIS0051  | Error número de pedido repetido
| 9052 | SIS0052  | Error genérico
| 9053 | SIS0053  | Error genérico
| 9054 | SIS0054  | No existe operación sobre la que realizar la devolución
| 9055 | SIS0055  | existe más de un pago con el mismo número de pedido
| 9056 | SIS0056  | Revisar el estado de la autorización
| 9057 | SIS0057  | Que revise el importe que quiere devolver( supera el permitido)
| 9058 | SIS0058  | Que revise los datos con los que está validando la confirmación
| 9059 | SIS0059  | Revisar que existe esa operación
| 9060 | SIS0060  | Revisar que exista la confirmación
| 9061 | SIS0061  | Revisar el estado de la preautorización
| 9062 | SIS0062  | Que el comercio revise el importe a confirmar.
| 9063 | SIS0063  | Que el comercio revise el númer de tarjeta que nos están enviando.
| 9064 | SIS0064  | Número de posiciones de la tarjeta incorrecto
| 9065 | SIS0065  | El número de tarjeta no es numérico
| 9066 | SIS0066  | Error mes de caducidad
| 9067 | SIS0067  | El mes de la caducidad no es numérico
| 9068 | SIS0068  | El mes de la caducidad no es válido
| 9069 | SIS0069  | Año de caducidad no valido
| 9070 | SIS0070  | El Año de la caducidad no es numérico
| 9071 | SIS0071  | Tarjeta caducada
| 9072 | SIS0072  | Operación no anulable
| 9073 | SIS0073  | Error en la anulación
| 9074 | SIS0074  | Falta Ds_Merchant_Order ( Pedido )
| 9075 | SIS0075  | El comercio tiene que revisar cómo está enviando el número de pedido
| 9077 | SIS0077  | El comercio tiene que revisar el número de pedido
| 9078 | SIS0078  | Por la configuración de los métodos de pago de su comercio no se permiten los pagos con esa tarjeta.
| 9079 | SIS0079  | Error genérico
| 9080 | SIS0080  | Error genérico
| 9081 | SIS0081  | Se ha perdico los datos de la sesión
| 9082 | SIS0082  | Error genérico
| 9083 | SIS0083  | Error genérico
| 9084 | SIS0084  | El valor de Ds_Merchant_Conciliation es nulo.
| 9085 | SIS0085  | El valor de Ds_Merchant_Conciliation no es numérico.
| 9086 | SIS0086  | El valor de Ds_Merchant_Conciliation no ocupa 6 posiciones.
| 9087 | SIS0087  | El valor de Ds_Merchant_Session es nulo.
| 9088 | SIS0088  | El comercio tiene que revisar el valor que envía en ese campo.
| 9089 | SIS0089  | El valor de caducidad no ocupa 4 posiciones.
| 9090 | SIS0090  | Error genérico. Consulte con Soporte.
| 9091 | SIS0091  | Error genérico. Consulte con Soporte.
| 9092 | SIS0092  | Se ha introducido una caducidad incorrecta.
| 9093 | SIS0093  | Denegación emisor
| 9094 | SIS0094  | Denegación emisor
| 9095 | SIS0095  | Denegación emisor
| 9096 | SIS0096  | El formato utilizado para los datos 3DSecure es incorrecto
| 9097 | SIS0097  | Valor del campo Ds_Merchant_CComercio no válido
| 9098 | SIS0098  | Valor del campo Ds_Merchant_CVentana no válido
| 9099 | SIS0099  | Error al interpretar respuesta de autenticación
| 9103 | SIS0103  | Error al montar la petición de Autenticación
| 9104 | SIS0104  | Comercio con “titular seguro” y titular sin clave de compra segura
| 9112 | SIS0112  | Que revise que está enviando en el campo Ds_Merchant_Transacction_Type.
| 9113 | SIS0113  | Error interno
| 9114 | SIS0114  | Se está realizando la llamada por GET, la tiene que realizar por POST
| 9115 | SIS0115  | Que revise los datos de la operación que nos está enviando
| 9116 | SIS0116  | La operación sobre la que se desea pagar una cuota no es una operación válida
| 9117 | SIS0117  | La operación sobre la que se desea pagar una cuota no está autorizada
| 9118 | SIS0118  | Se ha excedido el importe total de las cuotas
| 9119 | SIS0119  | Valor del campo Ds_Merchant_DateFrecuency no válido ( Pagos recurrentes)
| 9120 | SIS0120  | Valor del campo Ds_Merchant_ChargeExpiryDate no válido
| 9121 | SIS0121  | Valor del campo Ds_Merchant_SumTotal no válido
| 9122 | SIS0122  | Formato incorrecto del campo Ds_Merchant_DateFrecuency o Ds_Merchant_SumTotal
| 9123 | SIS0123  | Se ha excedido la fecha tope para realiza la Transacción
| 9124 | SIS0124  | No ha transcurrido la frecuencia mínima en un pago recurrente sucesivo
| 9125 | SIS0125  | Error genérico
| 9126 | SIS0126  | Operación Duplicada
| 9127 | SIS0127  | Error Interno
| 9128 | SIS0128  | Error interno
| 9129 | SIS0129  | Error, se ha detectado un intento masivo de peticiones desde la ip
| 9130 | SIS0130  | Error Interno
| 9131 | SIS0131  | Error Interno
| 9132 | SIS0132  | La fecha de Confirmación de Autorización no puede superar en mas de 7 dias a la de Preautorización.
| 9133 | SIS0133  | La fecha de Confirmación de Autenticación no puede superar en mas de 45 días a la de Autenticacion Previa que el comercio revise la fecha de la Preautenticación
| 9134 | SIS0134  | El valor del Ds_MerchantCiers enviado no es válido
| 9135 | SIS0135  | Error generando un nuevo valor para el IDETRA
| 9136 | SIS0136  | Error al montar el mensaje de notificación
| 9137 | SIS0137  | Error al intentar validar la tarjeta como 3DSecure NACIONAL
| 9138 | SIS0138  | Error debido a que existe una Regla del ficheros de reglas que evita que se produzca la Autorizacion
| 9139 | SIS0139  | pago recurrente inicial está duplicado
| 9140 | SIS0140  | Error Interno
| 9141 | SIS0141  | Error formato no correcto para 3DSecure
| 9142 | SIS0142  | Tiempo excecido para el pago
| 9151 | SIS0151  | Error Interno
| 9169 | SIS0169  | El valor del campo Ds_Merchant_MatchingData ( Datos de Case) no es valido , que lo revise
| 9170 | SIS0170  | Que revise el adquirente que manda en el campo
| 9171 | SIS0171  | Que revise el CSB que nos está enviando
| 9172 | SIS0172  | El valor del campo PUCE Ds_Merchant_MerchantCode no es válido
| 9173 | SIS0173  | Que el comercio revise el campo de la URL OK
| 9174 | SIS0174  | Error Interno
| 9175 | SIS0175  | Error Interno
| 9181 | SIS0181  | Error Interno
| 9182 | SIS0182  | Error Interno
| 9183 | SIS0183  | Error interno
| 9184 | SIS0184  | Error interno
| 9186 | SIS0186  | Faltan datos para operación
| 9187 | SIS0187  | Error formato( Interno )
| 9197 | SIS0197  | Error al obtener los datos de cesta de la compra
| 9214 | SIS0214  | Su comercion no permite devoluciones por el tipo de firma ( Completo)
| 9216 | SIS0216  | El CVV2 tiene mas de 3 posiciones
| 9217 | SIS0217  | Error de formato en el CVV2
| 9218 | SIS0218  | El comercio no permite operaciones seguras por las entradas "operaciones" o "WebService"
| 9219 | SIS0219  | Se tiene que dirigir a su entidad.
| 9220 | SIS0220  | Se tiene que dirigir a su entidad.
| 9221 | SIS0221  | El cliente no está introduciendo el CVV2
| 9222 | SIS0222  | Existe una anulación asociada a la preautorización
| 9223 | SIS0223  | La preautorización que se desea anular no está autorizada
| 9224 | SIS0224  | Su comercio no permite anulaciones por no tener la firma ampliada
| 9225 | SIS0225  | No existe operación sobre la que realizar la anulación
| 9226 | SIS0226  | Error en en los datos de la anulación manual
| 9227 | SIS0227  | Que el comercio revise el campo Ds_Merchant_TransactionDate
| 9228 | SIS0228  | El tipo de tarjeta no puede realizar pago aplazado
| 9229 | SIS0229  | Error con el codigo de aplazamiento
| 9230 | SIS0230  | Su comercio no permite pago fraccionado( Consulte a su entidad)
| 9231 | SIS0231  | No hay forma de pago aplicable ( Consulte con su entidad)
| 9232 | SIS0232  | Forma de pago no disponible
| 9233 | SIS0233  | Forma de pago desconocida
| 9234 | SIS0234  | Nombre del titular de la cuenta no disponible
| 9235 | SIS0235  | Campo Sis_Numero_Entidad no disponible
| 9236 | SIS0236  | El campo Sis_Numero_Entidad no tiene la longitud requerida
| 9237 | SIS0237  | El campo Sis_Numero_Entidad no es numérico
| 9238 | SIS0238  | Campo Sis_Numero_Oficina no disponible
| 9239 | SIS0239  | El campo Sis_Numero_Oficina no tiene la longitud requerida
| 9240 | SIS0240  | El campo Sis_Numero_Oficina no es numérico
| 9241 | SIS0241  | Campo Sis_Numero_DC no disponible
| 9242 | SIS0242  | El campo Sis_Numero_DC no tiene la longitud requerida
| 9243 | SIS0243  | El campo Sis_Numero_DC no es numérico
| 9244 | SIS0244  | Campo Sis_Numero_Cuenta no disponible
| 9245 | SIS0245  | El campo Sis_Numero_Cuenta no tiene la longitud requerida
| 9246 | SIS0246  | El campo Sis_Numero_Cuenta no es numérico
| 9247 | SIS0247  | Dígito de Control de Cuenta Cliente no válido
| 9248 | SIS0248  | El comercio no permite pago por domiciliación
| 9249 | SIS0249  | Error genérico
| 9250 | SIS0250  | Error genérico
| 9251 | SIS0251  | No permite transferencias( Consultar con entidad )
| 9252 | SIS0252  | Por su configuración no puede enviar la tarjeta. ( Para modificarlo consualtar con la entidad)
| 9253 | SIS0253  | No se ha tecleado correctamente la tarjeta.
| 9254 | SIS0254  | Se tiene que dirigir a su entidad.
| 9255 | SIS0255  | Se tiene que dirigir a su entidad.
| 9256 | SIS0256  | El comercio no permite operativa de preautorizacion.
| 9257 | SIS0257  | La tarjeta no permite operativa de preautorizacion
| 9258 | SIS0258  | Tienen que revisar los datos de la validación
| 9259 | SIS0259  | No existe la operacion original para notificar o consultar
| 9260 | SIS0260  | Entrada incorrecta al SIS
| 9261 | SIS0261  | Se tiene que dirigir a su entidad.
| 9262 | SIS0262  | Moneda no permitida para operación de transferencia o domiciliacion
| 9263 | SIS0263  | Error calculando datos para procesar operación
| 9264 | SIS0264  | Error procesando datos de respuesta recibidos
| 9265 | SIS0265  | Error de firma en los datos recibidos
| 9266 | SIS0266  | No se pueden recuperar los datos de la operación recibida
| 9267 | SIS0267  | La operación no se puede procesar por no existir Codigo Cuenta Cliente
| 9268 | SIS02648 | La devolución no se puede procesar por WebService
| 9269 | SIS0269  | No se pueden realizar devoluciones de operaciones de domiciliacion no descargadas
| 9270 | SIS0270  | El comercio no puede realizar preautorizaciones en diferido
| 9274 | SIS0274  | Tipo de operación desconocida o no permitida por esta entrada al SIS
| 9275 | SIS0275  | Premio sin IdPremio
| 9276 | SIS076   | Unidades del Premio no numericas.
| 9277 | SIS0277  | Error genérico. Consulte con Redsys
| 9278 | SIS0278  | Error en el proceso de consulta de premios
| 9279 | SIS0279  | El comercio no tiene activada la operativa de fidelización
| 9280 | SIS0280  | Se tiene que dirigir a su entidad.
| 9281 | SIS0281  | Se tiene que dirigir a su entidad.
| 9282 | SIS0282  | Se tiene que dirigir a su entidad.
| 9283 | SIS0283  | Se tiene que dirigir a su entidad.
| 9284 | SIS0284  | No existe operacion sobre la que realizar el Pago Adicional
| 9285 | SIS0285  | Tiene más de una operacion sobre la que realizar el Pago Adicional
| 9286 | SIS0286  | La operación sobre la que se quiere hacer la operación adicional no esta Aceptada
| 9287 | SIS0287  | la Operacion ha sobrepasado el importe para el Pago Adicional.
| 9288 | SIS0288  | No se puede realizar otro pago Adicional. se ha superado el numero de pagos
| 9289 | SIS0289  | El importe del pago Adicional supera el maximo días permitido.
| 9290 | SIS0290  | Se tiene que dirigir a su entidad.
| 9291 | SIS0291  | Se tiene que dirigir a su entidad.
| 9292 | SIS0292  | Se tiene que dirigir a su entidad.
| 9293 | SIS0293  | Se tiene que dirigir a su entidad.
| 9294 | SIS0294  | La tarjeta no es privada.
| 9295 | SIS0295  | duplicidad de operación. Se puede intentar de nuevo ( 1 minuto )
| 9296 | SIS0296  | No se encuentra la operación Tarjeta en Archivo inicial
| 9297 | SIS0297  | Número de operaciones sucesivas de Tarjeta en Archivo superado
| 9298 | SIS0298  | No puede realizar este tipo de operativa. (Contacte con su entidad)
| 9299 | SIS0299  | Error en pago con PayPal
| 9300 | SIS0300  | Error en pago con PayPal
| 9301 | SIS0301  | Error en pago con PayPal
| 9302 | SIS0302  | Moneda no válida para pago con PayPal
| 9304 | SIS0304  | No se permite pago fraccionado si la tarjeta no es de FINCONSUM
| 9305 | SIS0305  | Revisar la moneda de la operación
| 9306 | SIS0306  | Valor de Ds_Merchant_PrepaidCard no válido
| 9307 | SIS0307  | Que consulte con su entidad. Operativa de tarjeta regalo no permitida
| 9308 | SIS0308  | Tiempo límite para recarga de tarjeta regalo superado
| 9309 | SIS0309  | Faltan datos adicionales para realizar la recarga de tarjeta prepago
| 9310 | SIS0310  | Valor de Ds_Merchant_Prepaid_Expiry no válido
| 9311 | SIS0311  | Error genérico
| 9319 | SIS0319  | El comercio no pertenece al grupo especificado en Ds_Merchant_Group
| 9320 | SIS0320  | Error generando la referencia
| 9321 | SIS0321  | El identificador no está asociado al comercio
| 9322 | SIS0322  | Que revise el formato del grupo
| 9323 | SIS0323  | Para el tipo de operación F( pago en dos fases) es necesario enviar uno de estos campos. Ds_Merchant_Customer_Mobile o Ds_Merchant_Customer_Mail
| 9324 | SIS0324  | Imposible enviar el link al cliente( Que revise la dirección mail)
| 9326 | SIS0326  | Se han enviado datos de tarjeta en fase primera de un pago con dos fases
| 9327 | SIS0327  | No se ha enviado ni móvil ni email en fase primera de un pago con dos fases
| 9328 | SIS0328  | Token de pago en dos fases inválido
| 9329 | SIS0329  | No se puede recuperar el Token de pago en dos fases.
| 9330 | SIS0330  | Fechas incorrectas de pago dos fases
| 9331 | SIS0331  | La operación no tiene un estado válido o no existe.
| 9332 | SIS0332  | El importe de la operación original y de la devolución debe ser idéntico
| 9333 | SIS0333  | Error en una petición a MasterPass Wallet
| 9334 | SIS0334  | Bloqueo por control de Seguridad
| 9335 | SIS0335  | El valor del campo Ds_Merchant_Recharge_Commission no es válido
| 9336 | SIS0336  | Error genérico. Consulte con Redsys
| 9342 | SIS0342  | El comercio no permite realizar operaciones de pago de tributos
| 9343 | SIS0343  | Falta o es incorrecto el parámetro Ds_Merchant_Tax_Reference
| 9344 | SIS0344  | No se han aceptado las condiciones de las cuotas
| 9345 | SIS0345  | Se ha elegido un número de plazos incorrecto
| 9346 | SIS0346  | Error en el formato del campo DS_MERCHANT_PAY_TYPE
| 9347 | SIS0347  | El comercio no está configurado para realizar la consulta de BIN.
| 9348 | SIS0348  | El BIN indicado en la consulta no se reconoce
| 9349 | SIS0349  | Los datos de importe y DCC enviados no coinciden con los registrados en SIS
| 9350 | SIS0350  | No hay datos DCC registrados en SIS para este número de pedido
| 9351 | SIS0351  | Autenticación prepago incorrecta
| 9352 | SIS0352  | El tipo de firma del comercio no permite esta operativa
| 9353 | SIS0353  | El comercio no tiene definida una clave 3DES válida
| 9354 | SIS0354  | Error descifrando petición
| 9355 | SIS0355  | El comercio-terminal enviado en los datos cifrados no coincide con el enviado en la petición
| 9356 | SIS0356  | Existen datos de entrada para control de fraude y el comercio no tiene activo control de fraude
| 9357 | SIS0357  | El comercio tiene activo control de fraude y no existe campo ds_merchant_merchantscf
| 9370 | SIS0370  | Error en formato Scf_Merchant_Nif. Longitud máxima 16
| 9371 | SIS0371  | Error en formato Scf_Merchant_Name. Longitud máxima 30
| 9372 | SIS0372  | Error en formato Scf_Merchant_First_Name. Longitud máxima 30
| 9373 | SIS0373  | Error en formato Scf_Merchant_Last_Name. Longitud máxima 30
| 9374 | SIS0374  | Error en formato Scf_Merchant_User. Longitud máxima 45
| 9375 | SIS0375  | Error en formato Scf_Affinity_Card. Valores posibles 'S' o 'N'. Longitud máxima 1
| 9376 | SIS0376  | Error en formato Scf_Payment_Financed. Valores posibles 'S' o 'N'. Longitud máxima 1
| 9377 | SIS0377  | Error en formato Scf_Ticket_Departure_Point. Longitud máxima 30
| 9378 | SIS0378  | Error en formato Scf_Ticket_Destination. Longitud máxima 30
| 9379 | SIS0379  | Error en formato Scf_Ticket_Departure_Date. Debe tener formato yyyyMMddHHmmss.
| 9380 | SIS080   | Error en formato Scf_Ticket_Num_Passengers. Longitud máxima 1.
| 9381 | SIS081   | Error en formato Scf_Passenger_Dni. Longitud máxima 16.
| 9382 | SIS082   | Error en formato Scf_Passenger_Name. Longitud máxima 30.
| 9283 | SIS0334  | Se tiene que dirigir a su entidad.
| 9335 | SIS0335  | El valor del campo Ds_Merchant_Recharge_Commission no es válido
| 9336 | SIS0336  | Error genérico
| 9342 | SIS0342  | El comercio no permite realizar operaciones de pago de tributos
| 9343 | SIS0343  | Falta o es incorrecto el parámetro Ds_Merchant_Tax_Reference
| 9344 | SIS0344  | El usuario ha elegido aplazar el pago, pero no ha aceptado las condiciones de las cuotas
| 9345 | SIS0345  | Revisar el número de plazos que está enviando.
| 9346 | SIS0346  | Revisar formato en parámetro DS_MERCHANT_PAY_TYPE
| 9347 | SIS0347  | El comercio no está configurado para realizar la consulta de BIN.
| 9348 | SIS0348  | El BIN indicado en la consulta no se reconoce
| 9349 | SIS0349  | Los datos de importe y DCC enviados no coinciden con los registrados en SIS
| 9350 | SIS0350  | No hay datos DCC registrados en SIS para este número de pedido
| 9351 | SIS0351  | Autenticación prepago incorrecta
| 9352 | SIS0352  | El tipo de firma no permite esta operativa
| 9353 | SIS0353  | Clave no válida
| 9354 | SIS0354  | Error descifrando petición al SIS
| 9355 | SIS0355  | El comercio-terminal enviado en los datos cifrados no coincide con el enviado en la petición
| 9356 | SIS0356  | El comercio no tiene activo control de fraude ( Consulte con su entidad
| 9357 | SIS0357  | El comercio tiene activo control de fraude y no existe campo ds_merchant_merchantscf
| 9359 | SIS0359  | El comercio solamente permite pago de tributos y no se está informando el campo Ds_Merchant_TaxReference
| 9370 | SIS0370  | Error en formato Scf_Merchant_Nif. Longitud máxima 16
| 9371 | SIS0371  | Error en formato Scf_Merchant_Name. Longitud máxima 30
| 9372 | SIS0372  | Error en formato Scf_Merchant_First_Name. Longitud máxima 30
| 9373 | SIS0373  | Error en formato Scf_Merchant_Last_Name. Longitud máxima 30
| 9374 | SIS0374  | Error en formato Scf_Merchant_User. Longitud máxima 45
| 9375 | SIS0375  | Error en formato Scf_Affinity_Card. Valores posibles 'S' o 'N'. Longitud máxima 1
| 9376 | SIS0376  | Error en formato Scf_Payment_Financed. Valores posibles 'S' o 'N'. Longitud máxima 1
| 9377 | SIS0377  | Error en formato Scf_Ticket_Departure_Point. Longitud máxima 30
| 9378 | SIS0378  | Error en formato Scf_Ticket_Destination. Longitud máxima 30
| 9379 | SIS0379  | Error en formato Scf_Ticket_Departure_Date. Debe tener formato yyyyMMddHHmmss.
| 9380 | SIS0380  | Error en formato Scf_Ticket_Num_Passengers. Longitud máxima 1.
| 9381 | SIS0381  | Error en formato Scf_Passenger_Dni. Longitud máxima 16.
| 9382 | SIS0382  | Error en formato Scf_Passenger_Name. Longitud máxima 30.
| 9383 | SIS0383  | Error en formato Scf_Passenger_First_Name. Longitud máxima 30.
| 9384 | SIS0384  | Error en formato Scf_Passenger_Last_Name. Longitud máxima 30.
| 9385 | SIS0385  | Error en formato Scf_Passenger_Check_Luggage. Valores posibles 'S' o 'N'. Longitud máxima 1.
| 9386 | SIS0386  | Error en formato Scf_Passenger_Special_luggage. Valores posibles 'S' o 'N'. Longitud máxima 1.
| 9387 | SIS0387  | Error en formato Scf_Passenger_Insurance_Trip. Valores posibles 'S' o 'N'. Longitud máxima 1.
| 9388 | SIS0388  | Error en formato Scf_Passenger_Type_Trip. Valores posibles 'N' o 'I'. Longitud máxima 1.
| 9389 | SIS0389  | Error en formato Scf_Passenger_Pet. Valores posibles 'S' o 'N'. Longitud máxima 1.
| 9390 | SIS0390  | Error en formato Scf_Order_Channel. Valores posibles 'M'(móvil), 'P'(PC) o 'T'(Tablet)
| 9391 | SIS0391  | Error en formato Scf_Order_Total_Products. Debe tener formato numérico y longitud máxima de 3.
| 9392 | SIS0392  | Error en formato Scf_Order_Different_Products. Debe tener formato numérico y longitud máxima de 3.
| 9393 | SIS0393  | Error en formato Scf_Order_Amount. Debe tener formato numérico y longitud máxima de 19.
| 9394 | SIS0394  | Error en formato Scf_Order_Max_Amount. Debe tener formato numérico y longitud máxima de 19.
| 9395 | SIS0395  | Error en formato Scf_Order_Coupon. Valores posibles 'S' o 'N'
| 9396 | SIS0396  | Error en formato Scf_Order_Show_Type. Debe longitud máxima de 30.
| 9397 | SIS0397  | Error en formato Scf_Wallet_Identifier
| 9398 | SIS0398  | Error en formato Scf_Wallet_Client_Identifier
| 9399 | SIS0399  | Error en formato Scf_Merchant_Ip_Address
| 9400 | SIS0400  | Error en formato Scf_Merchant_Proxy
| 9401 | SIS0401  | Error en formato Ds_Merchant_Mail_Phone_Number. Debe ser numérico y de longitud máxima 19
| 9402 | SIS0402  | Error en llamada a SafetyPay para solicitar token url
| 9403 | SIS0403  | Error en proceso de solicitud de token url a SafetyPay
| 9404 | SIS0404  | Error en una petición a SafetyPay
| 9405 | SIS0405  | Solicitud de token url denegada SAFETYPAY
| 9406 | SIS0406  | Se tiene que poner en contacto con su entidad para que revisen la configuración del sector de actividad de su comercio
| 9407 | SIS0407  | El importe de la operación supera el máximo permitido para realizar un pago de premio de apuesta(Gambling)
| 9408 | SIS0408  | La tarjeta debe de haber operado durante el último año para poder realizar un pago de premio de apuesta (Gambling)
| 9409 | SIS0409  | La tarjeta debe ser una Visa o MasterCard nacional para realizar un pago de premio de apuesta (Gambling)
| 9410 | SIS0410  | Denegada por el emisor
| 9411 | SIS0411  | Error en la configuración del comercio (Remitir a su entidad)
| 9412 | SIS0412  | La firma no es correcta
| 9413 | SIS0413  | Denegada, consulte con su entidad.
| 9414 | SIS0414  | El plan de ventas no es correcto
| 9415 | SIS0415  | El tipo de producto no es correcto
| 9416 | SIS0416  | Importe no permitido en devolucion
| 9417 | SIS0417  | Fecha de devolucion no permitida
| 9418 | SIS0418  | No existe plan de ventas vigente
| 9419 | SIS0419  | Tipo de cuenta no permitida
| 9420 | SIS0420  | El comercio no dispone de formas de pago para esta operación
| 9421 | SIS0421  | Tarjeta no permitida. No es producto Agro
| 9422 | SIS0422  | Faltan datos para operacion Agro
| 9423 | SIS0423  | CNPJ del comecio incorrecto
| 9424 | SIS0424  | No se ha encontrado el establecimiento
| 9425 | SIS0425  | No se ha encontrado la tarjeta
| 9426 | SIS0426  | Enrutamiento no valido para el comercio
| 9427 | SIS0427  | La conexion con CECA no ha sido posible
| 9428 | SIS0428  | Operacion debito no segura
| 9429 | SIS0429  | Error en la versión enviada por el comercio (Ds_SignatureVersion)
| 9430 | SIS0430  | Error al decodificar el parámetro Ds_MerchantParameters
| 9431 | SIS0431  | Error del objeto JSON que se envía codificado en el parámetro Ds_MerchantParameters
| 9432 | SIS0432  | Error FUC del comercio erróneo
| 9433 | SIS0433  | Error Terminal del comercio erróneo
| 9434 | SIS0434  | Error ausencia de número de pedido en la op. del comercio
| 9435 | SIS0435  | Error en el cálculo de la firma
| 9436 | SIS0436  | Error en la construcción del elemento padre
| 9437 | SIS0437  | Error en la construcción del elemento
| 9438 | SIS0438  | Error en la construcción del elemento
| 9439 | SIS0439  | Error en la construcción del elemento
| 9440 | SIS0440  | Error genérico
| 9441 | SIS0441  | Error no tenemos bancos para Mybank
| 9442 | SIS0442  | Error genérico
| 9443 | SIS0443  | No se permite pago con esta tarjeta
| 9444 | SIS0444  | Se está intentando acceder usando firmas antiguas y el comercio está configurado como HMAC SHA256
| 9445 | SIS0445  | Error genérico
| 9446 | SIS0446  | Es obligatorio indicar la forma de pago
| 9447 | SIS0447  | Error, se está utilizando una referencia que se generó con un adquirente distinto al adquirente que la utiliza.
| 9448 | SIS0448  | El comercio no tiene el método de pago "Pago DINERS"
| 9449 | SIS0449  | Tipo de pago de la operación no permitido para este tipo de tarjeta
| 9450 | SIS0450  | Tipo de pago de la operación no permitido para este tipo de tarjeta
| 9451 | SIS0451  | Tipo de pago de la operación no permitido para este tipo de tarjeta
| 9453 | SIS0453  | No se permiten pagos con ese tipo de tarjeta
| 9454 | SIS0454  | No se permiten pagos con ese tipo de tarjeta
| 9455 | SIS0455  | No se permiten pagos con ese tipo de tarjeta
| 9456 | SIS0456  | No tiene método de pago configurado (Consulte a su entidad)
| 9457 | SIS0457  | Error, se aplica el método de pago "MasterCard SecureCode" con Respuesta [VEReq, VERes] = N con tarjeta MasterCard Comercial y el comercio no tiene el método de pago "MasterCard Comercial"
| 9458 | SIS0458  | Error, se aplica el método de pago "MasterCard SecureCode" con Respuesta [VEReq, VERes] = U con tarjeta MasterCard Comercial y el comercio no tiene el método de pago "MasterCard Comercial"
| 9459 | SIS0459  | No tiene método de pago configurado (Consulte a su entidad)
| 9460 | SIS0460  | No tiene método de pago configurado (Consulte a su entidad)
| 9461 | SIS0461  | No tiene método de pago configurado (Consulte a su entidad)
| 9462 | SIS0462  | Metodo de pago no disponible para conexión HOST to HOST
| 9463 | SIS0463  | Metodo de pago no permitido
| 9464 | SIS0464  | El comercio no tiene el método de pago "MasterCard Comercial"
| 9465 | SIS0465  | No tiene método de pago configurado (Consulte a su entidad)
| 9466 | SIS0466  | La referencia que se está utilizando no existe.
| 9467 | SIS0467  | La referencia que se está utilizando está dada de baja
| 9468 | SIS0468  | Se está utilizando una referencia que se generó con un adquirente distinto al adquirente que la utiliza.
| 9469 | SIS0469  | Error, no se ha superado el proceso de fraude MR
| 9470 | SIS0470  | Error la solicitud del primer factor ha fallado.
| 9471 | SIS0471  | Error en la URL de redirección de solicitud del primer factor.
| 9472 | SIS0472  | Error al montar la petición de Autenticación de PPII.
| 9473 | SIS0473  | Error la respuesta de la petición de Autenticación de PPII es nula.
| 9474 | SIS0474  | Error el statusCode de la respuesta de la petición de Autenticación de PPII es nulo
| 9475 | SIS0475  | Error el idOperación de la respuesta de la petición de Autenticación de PPII es nulo
| 9476 | SIS0476  | Error tratando la respuesta de la Autenticación de PPII
| 9477 | SIS0477  | Error se ha superado el tiempo definido entre el paso 1 y 2 de PPI
| 9478 | SIS0478  | Error tratando la respuesta de la Autorización de PPII
| 9479 | SIS0479  | Error la respuesta de la petición de Autorización de PPII es nula
| 9480 | SIS0480  | Error el statusCode de la respuesta de la petición de Autorización de PPII es nulo.
| 9481 | SIS0481  | Error, el comercio no es Payment Facilitator
| 9482 | SIS0482  | Error el idOperación de la respuesta de una Autorización OK es nulo o no coincide con el idOp. de la Auth.
| 9483 | SIS0483  | Error la respuesta de la petición de devolución de PPII es nula.
| 9484 | SIS0484  | Error el statusCode o el idPetición de la respuesta de la petición de Devolución de PPII es nulo.
| 9485 | SIS0485  | Error producido por la denegación de la devolución.
| 9486 | SIS0486  | Error la respuesta de la petición de consulta de PPII es nula.
| 9487 | SIS0487  | El comercio terminal no tiene habilitado el método de pago Paygold.
| 9488 | SIS0488  | El comercio no tiene el método de pago "Pago MOTO/Manual" y la operación viene marcada como pago MOTO.
| 9489 | SIS0489  | Error de datos. Operacion MPI Externo no permitida
| 9490 | SIS0490  | Error de datos. Se reciben parametros MPI Redsys en operacion MPI Externo
| 9491 | SIS0491  | Error de datos. SecLevel no permitido en operacion MPI Externo
| 9492 | SIS0492  | Error de datos. Se reciben parametros MPI Externo en operacion MPI Redsys
| 9493 | SIS0493  | Error de datos. Se reciben parametros de MPI en operacion no segura
| 9494 | SIS0494  | FIRMA OBSOLETA
| 9495 | SIS0495  | Configuración incorrecta ApplePay o AndroidPay
| 9496 | SIS0496  | No tiene dado de alta el método de pago AndroidPay
| 9497 | SIS0497  | No tiene dado de alta el método de pago ApplePay
| 9498 | SIS0498  | moneda / importe de la operación de ApplePay no coinciden
| 9499 | SIS0499  | Error obteniendo claves del comercio en Android/Apple Pay
| 9500 | SIS0500  | Error en el DCC Dinámico, se ha modificado la tarjeta.
| 9501 | SIS0501  | Error en La validación de datos enviados para genera el Id operación
| 9502 | SIS0502  | Error al validar Id Oper
| 9503 | SIS0503  | Error al validar el pedido
| 9504 | SIS0504  | Error al validar tipo de transacción
| 9505 | SIS0505  | Error al validar moneda
| 9506 | SIS0506  | Error al validar el importe
| 9507 | SIS0507  | Id Oper no tiene vigencia
| 9508 | SIS0508  | Error al validar Id Oper
| 9510 | SIS0510  | No se permite el envío de datos de tarjeta si se envía ID de operación
| 9511 | SIS0511  | Error en la respuesta de consulta de BINES
| 9515 | SIS0515  | El comercio tiene activado pago Amex en Perfil.
| 9516 | SIS0516  | Error al montar el mensaje de China Union Pay
| 9517 | SIS0517  | Error al establecer la clave para China Union Pay
| 9518 | SIS0518  | Error al grabar los datos para pago China Union Pay
| 9519 | SIS0519  | Mensaje de autenticación erróneo
| 9520 | SIS0520  | El mensaje SecurePlus de sesión está vacío
| 9521 | SIS0521  | El xml de respuesta viene vacío
| 9522 | SIS0522  | No se han recibido parametros en datosentrada
| 9523 | SIS0523  | La firma calculada no coincide con la recibida en la respuesta
| 9524 | SIS0524  | el resultado de la autenticación 3DSecure MasterCard es PARes="A" o VERes="N" y no recibimos CAVV del emisor
| 9525 | SIS0525  | No se puede utilizar la tarjeta privada en este comercio
| 9526 | SIS0526  | La tarjeta no es china
| 9527 | SIS0527  | Falta el parametro obligatorio DS_MERCHANT_BUYERID
| 9528 | SIS0528  | Formato erróneo del parametro DS_MERCHANT_BUYERID en operación Sodexo Brasil
| 9529 | SIS0529  | No se permite operación recurrente en pagos con tarjeta Voucher
| 9530 | SIS0530  | La fecha de Anulación no puede superar en mas de 7 dias a la de Preautorización.
| 9531 | SIS0531  | La fecha de Anulación no puede superar en mas de 72 horas a la de Preautorización diferida
| 9532 | SIS0532  | La moneda de la petición no coincide con la devuelta
| 9533 | SIS0533  | El importe de la petición no coincide con el devuelto
| 9534 | SIS0534  | No se recibe recaudación emisora o referencia del recibo
| 9535 | SIS0535  | Pago de tributo fuera de plazo
| 9536 | SIS0536  | Tributo ya pagado
| 9537 | SIS0537  | Pago de tributo denegado
| 9538 | SIS0538  | Rechazo en el pago de tributo
| 9539 | SIS0539  | Error en el envío de SMS
| 9540 | SIS0540  | El móvil enviado es demasiado largo (más de 12 posiciones)
| 9541 | SIS0541  | La referencia enviada es demasiada larga (más de 40 posiciones)
| 9542 | SIS0542  | Error genérico. Consulte con Redsys
| 9543 | SIS0543  | Error, la tarjeta de la operación es DINERS y el comercio no tiene el método de pago "Pago DINERS" o "Pago Discover No Seguro"
| 9544 | SIS0544  | Error, la tarjeta de la operación es DINERS y el comercio no tiene el método de pago "Pago Discover No Seguro"
| 9545 | SIS0545  | Error DISCOVER
| 9546 | SIS0546  | Error DISCOVER
| 9547 | SIS0547  | Error DISCOVER
| 9548 | SIS0548  | Error DISCOVER
| 9549 | SIS0549  | Error DISCOVER
| 9550 | SIS0550  | ERROR en el gestor de envío de los SMS. Consulte con Redsys
| 9551 | SIS0551  | ERROR en el proceso de autenticación.
| 9552 | SIS0552  | ERROR el resultado de la autenticacion PARes = 'U'
| 9553 | SIS0553  | ERROR se ha intentado hacer un pago con el método de pago UPI y la tarjeta no es china
| 9554 | SIS0554  | ERROR el resultado de la autenticacion para UPI es PARes = 'U' y el comercio no tiene métodos de pago no seguros UPI EXPRESSPAY
| 9555 | SIS0555  | ERROR la IP de conexión del módulo de administración no esta entre las permitidas.
| 9556 | SIS0556  | Se envía pago Tradicional y el comercio no tiene pago Tradicional mundial ni Tradicional UE.
| 9557 | SIS0557  | Se envía pago Tarjeta en Archivo y el comercio no tiene pago Tradicional mundial ni Tradicional UE.
| 9558 | SIS0558  | ERROR, el formato de la fecha dsMerchantP2FExpiryDate es incorrecto
| 9559 | SIS0559  | ERROR el id Operacion de la respuesta en la autenticación PPII es nulo o no se ha obtenido de la autenticación final
| 9560 | SIS0560  | ERROR al enviar la notificacion de autenticacion al comercio
| 9561 | SIS0561  | ERROR el idOperación de la respuesta de una confirmacion separada OK es nulo o no coincide con el idOp. de la Confirmacion.
| 9562 | SIS0562  | ERROR la respuesta de la petición de confirmacion separada de PPII es nula.
| 9563 | SIS0563  | ERROR tratando la respuesta de la confirmacion separada de PPII.
| 9564 | SIS0564  | ERROR chequeando los importes de DCC antes del envío de la operación a Stratus.
| 9565 | SIS0565  | Formato del importe del campo Ds_Merchant_Amount excede del límite permitido.
| 9566 | SIS0566  | Error de acceso al nuevo Servidor Criptográfico.
| 9567 | SIS0567  | ERROR se ha intentado hacer un pago con una tarjeta china UPI y el comercio no tiene método de pago UPI
| 9568 | SIS0568  | Operacion de consulta de tarjeta rechazada, tipo de transacción erróneo
| 9569 | SIS0569  | Operacion de consulta de tarjeta rechazada, no se ha informado la tarjeta
| 9570 | SIS0570  | Operacion de consulta de tarjeta rechazada, se ha enviado tarjeta y referencia
| 9571 | SIS0571  | Operacion de autenticacion rechazada, protocolVersion no indicado
| 9572 | SIS0572  | Operacion de autenticacion rechazada, protocolVersion no reconocido
| 9573 | SIS0573  | Operacion de autenticacion rechazada, browserAcceptHeader no indicado
| 9574 | SIS0574  | Operacion de autenticacion rechazada, browserUserAgent no indicado
| 9575 | SIS0575  | Operacion de autenticacion rechazada, browserJavaEnabled no indicado
| 9576 | SIS0576  | Operacion de autenticacion rechazada, browserLanguage no indicado
| 9577 | SIS0577  | Operacion de autenticacion rechazada, browserColorDepth no indicado
| 9578 | SIS0578  | Operacion de autenticacion rechazada, browserScreenHeight no indicado
| 9579 | SIS0579  | Operacion de autenticacion rechazada, browserScreenWidth no indicado
| 9580 | SIS0580  | Operacion de autenticacion rechazada, browserTZ no indicado
| 9581 | SIS0581  | Operacion de autenticacion rechazada, datos DS_MERCHANT_EMV3DS no está indicado o es demasiado grande y no se puede convertir en JSON
| 9582 | SIS0582  | Operacion de autenticacion rechazada, threeDSServerTransID no indicado
| 9583 | SIS0583  | Operacion de autenticacion rechazada, threeDSCompInd no indicado
| 9584 | SIS0584  | Operacion de autenticacion rechazada, notificationURL no indicado
| 9585 | SIS0585  | Operacion de autenticacion EMV3DS rechazada, no existen datos en la BBDD
| 9586 | SIS0586  | Operacion de autenticacion rechazada, PARes no indicado
| 9587 | SIS0587  | Operacion de autenticacion rechazada, MD no indicado
| 9588 | SIS0588  | Operacion de autenticacion rechazada, la versión no coincide entre los mensajes AuthenticationData y ChallengeResponse
| 9589 | SIS0589  | Operacion de autenticacion rechazada, respuesta sin CRes
| 9590 | SIS0590  | Operacion de autenticacion rechazada, error al desmontar la respuesta CRes
| 9591 | SIS0591  | Operacion de autenticacion rechazada, error la respuesta CRes viene sin threeDSServerTransID
| 9592 | SIS0592  | Operacion de autenticacion rechazada, error el transStatus del CRes no coincide con el transStatus de la consulta final de la operación
| 9593 | SIS0593  | Operacion de autenticacion rechazada, error el transStatus de la consulta final de la operación no está definido
| 9594 | SIS0594  | Operacion de autenticacion rechazada, CRes no indicado
| 9595 | SIS0595  | El comercio indicado no tiene métodos de pago seguros permitidos en 3DSecure V2
| 9596 | SIS0596  | Operacion de consulta de tarjeta rechazada,moneda errónea
| 9597 | SIS0597  | Operacion de consulta de tarjeta rechazada,importe erróneo
| 9598 | SIS0598  | Autenticación 3DSecure v2 errónea, y no se permite hacer fallback a 3DSecure v1
| 9599 | SIS0599  | Error en el proceso de autenticación 3DSecure v2
| 9600 | SIS0600  | Error en el proceso de autenticación 3DSecure v2 - Respuesta Areq N
| 9601 | SIS0601  | Error en el proceso de autenticación 3DSecure v2 - Respuesta Areq R
| 9602 | SIS0602  | Error en el proceso de autenticación 3DSecure v2 - Respuesta Areq U y el comercio no tiene método de pago U
| 9603 | SIS0603  | Error en el parámetro DS_MERCHANT_DCC de DCC enviado en operacion H2H (REST y SOAP)
| 9604 | SIS0604  | Error en los datos de DCC enviados en el parámetro DS_MERCHANT_DCC en operacion H2H (REST y SOAP)
| 9605 | SIS0605  | Error en el parámetro DS_MERCHANT_MPIEXTERNAL enviado en operacion H2H (REST y SOAP)
| 9606 | SIS0606  | Error en los datos de MPI enviados en el parámetro DS_MERCHANT_MPIEXTERNAL en operacion H2H (REST y SOAP)
| 9607 | SIS0607  | Error del parámetro TXID de MPI enviado en el parámetro DS_MERCHANT_MPIEXTERNAL en operacion H2H (REST y SOAP) es erróneo
| 9608 | SIS0608  | Error del parámetro CAVV de MPI enviado en el parámetro DS_MERCHANT_MPIEXTERNAL en operacion H2H (REST y SOAP) es erróneo
| 9609 | SIS0609  | Error del parámetro ECI de MPI enviado en el parámetro DS_MERCHANT_MPIEXTERNAL en operacion H2H (REST y SOAP) es erróneo
| 9610 | SIS0610  | Error del parámetro threeDSServerTransID de MPI enviado en el parámetro DS_MERCHANT_MPIEXTERNAL en operacion H2H (REST y SOAP) es erróneo
| 9611 | SIS0611  | Error del parámetro dsTransID de MPI enviado en el parámetro DS_MERCHANT_MPIEXTERNAL en operacion H2H (REST y SOAP) es erróneo
| 9612 | SIS0612  | Error del parámetro authenticacionValue de MPI enviado en el parámetro DS_MERCHANT_MPIEXTERNAL en operacion H2H (REST y SOAP) es erróneo
| 9613 | SIS0613  | Error del parámetro protocolVersion de MPI enviado en el parámetro DS_MERCHANT_MPIEXTERNAL en operacion H2H (REST y SOAP) es erróneo
| 9614 | SIS0614  | Error del parámetro Eci de MPI enviado en el parámetro DS_MERCHANT_MPIEXTERNAL en operacion H2H (REST y SOAP) es erróneo
| 9615 | SIS0615  | Error en MPI Externo, marca de tarjeta no permitida en SIS para MPI Externo
| 9616 | SIS0616  | Error del parámetro DS_MERCHANT_EXCEP_SCA tiene un valor erróneo
| 9617 | SIS0617  | Error del parámetro DS_MERCHANT_EXCEP_SCA es de tipo MIT y no vienen datos de COF o de pago por referencia
| 9618 | SIS0618  | Error la exención enviada no está permitida y el comercio no está preparado para autenticar
| 9619 | SIS0619  | Se recibe orderReferenceId de Amazon y no está el método de pago configurado
| 9620 | SIS0620  | Error la operación de DCC tiene asociado un markUp más alto del permitido, se borran los datos de DCC
| 9621 | SIS0621  | El amazonOrderReferenceId no es válido
| 9622 | SIS0622  | Error la operación original se hizo sin marca de Nuevo modelo DCC y el comercio está configurado como Nuevo Modelo DCC
| 9623 | SIS0623  | Error la operación original se hizo con marca de Nuevo modelo DCC y el comercio no está configurado como Nuevo Modelo DCC
| 9624 | SIS0624  | Error la operación original se hizo con marca de Nuevo modelo DCC pero su valor difiere del modelo configurado en el comercio
| 9625 | SIS0625  | Error en la anulación del pago, porque ya existe una devolución asociada a ese pago
| 9626 | SIS0626  | Error en la devolución del pago, ya existe una anulación de la operación que se desea devolver
| 9627 | SIS0627  | El número de referencia o solicitud enviada por CRTM no válida.
| 9628 | SIS0628  | Error la operación de viene con datos de 3DSecure y viene por la entrada SERMEPA
| 9629 | SIS0629  | Error no existe la operación de confirmación separada sobre la que realizar la anulación
| 9630 | SIS0630  | Error en la anulación de confirmación separada, ya existe una devolución asociada a la confirmación separada
| 9631 | SIS0631  | Error en la anulación de confirmación separada, ya existe una anulación asociada a la confirmación separada
| 9632 | SIS0632  | Error la confirmacion separada sobre la que se desea anular no está autorizada
| 9633 | SIS0633  | La fecha de Anulación no puede superar en los días configurados a la confirmacion separada.
| 9634 | SIS0634  | Error no existe la operación de pago sobre la que realizar la anulación
| 9635 | SIS0635  | Error en la anulación del pago, ya existe una anulación asociada al pago
| 9636 | SIS0636  | Error el pago que se desea anular no está autorizado
| 9637 | SIS0637  | La fecha de Anulación no puede superar en los días configurados al pago.
| 9638 | SIS0638  | Error existe más de una devolución que se quiere anular y no se ha especificado cual.
| 9639 | SIS0639  | Error no existe la operación de devolución sobre la que realizar la anulación
| 9640 | SIS0640  | Error la confirmacion separada sobre la que se desea anular no está autorizada o ya está anulada
| 9641 | SIS0641  | La fecha de Anulación no puede superar en los días configurados a la devolución.
| 9642 | SIS0642  | La fecha de la preautorización que se desea reemplazar no puede superar los 30 días de antigüedad
| 9643 | SIS0643  | Error al obtener la personalización del comercio
| 9644 | SIS0644  | Error en el proceso de autenticación 3DSecure v2 - Se envían datos de la entrada IniciaPetición a la entrada TrataPetición
| 9650 | SIS0650  | Error, la MAC no es correcta en la mensajeria de pago de tributos
| 9651 | SIS0651  | Error la exención exige SCA y el comercio no está preparado para autenticar
| 9652 | SIS0652  | Error la exención y la configuración del comercio exigen no SCA y el comercio no está configurado para autorizar con dicha marca de tarjeta
| 9653 | SIS0653  | Operacion de autenticacion rechazada, browserJavascriptEnabled no indicado
| 9654 | SIS0654  | Error, se indican datos de 3RI en Inicia Petición y la versión que se envía en el trataPetición no es 2.2
| 9655 | SIS0655  | Error, se indican un valor de Ds_Merchant_3RI_Ind no permitido
| 9656 | SIS0656  | Error, se indican un valor Ds_Merchant_3RI_Ind diferentes en el Inicia Petición y en el trataPetición
| 9657 | SIS0657  | Error, se indican datos de 3RI pero están incompletos
| 9658 | SIS0658  | Error, el parámetro threeRITrasactionID es erróneo o no se encuentran datos de operación original
| 9659 | SIS0659  | Error, los datos de FUC y Terminal obtenidos del threeRITrasactionID no corresponden al comercio que envía la operación
| 9660 | SIS0660  | Error, se indican datos de 3RI-OTA para Master y el campo authenticationValue en el trataPetición es vacío
| 9661 | SIS0661  | Error, se indican datos de 3RI-OTA para Master y el campo Eci en el trataPetición es vacío
| 9662 | SIS0662  | Error, el comercio no está entre los permitidos para realizar confirmaciones parciales.
| 9663 | SIS0663  | No existe datos de Inicia Petición que concuerden con los enviados por el comercio en el mensaje Trata Petición
| 9664 | SIS0664  | No se envía el elemento Id Transaccion 3DS Server en el mensaje Trata Petición y dicho elemento existe en el mensaje Inicia Petición
| 9665 | SIS0665  | La moneda indicada por el comercio en el mensaje Trata Petición no corresponde con la enviada en el mensaje Inicia Petición
| 9666 | SIS0666  | El importe indicado por el comercio en el mensaje Trata Petición no corresponde con el enviado en el mensaje Inicia Petición
| 9667 | SIS0667  | El tipo de operación indicado por el comercio en el mensaje Trata Petición no corresponde con el enviado en el mensaje Inicia Petición
| 9668 | SIS0668  | La referencia indicada por el comercio en el mensaje Trata Petición no corresponde con la enviada en el mensaje Inicia Petición
| 9669 | SIS0669  | El Id Oper Insite indicado por el comercio en el mensaje Trata Petición no corresponde con el enviado en el mensaje Inicia Petición
| 9670 | SIS0670  | La tarjeta indicada por el comercio en el mensaje Trata Petición no corresponde con la enviada en el mensaje Inicia Petición
| 9671 | SIS0671  | Denegación por TRA Lynx
| 9672 | SIS0672  | Bizum. Fallo en la autenticación. Bloqueo tras tres intentos.
| 9673 | SIS0673  | Bizum. Operación cancelada. El usuario no desea seguir.
| 9674 | SIS0674  | Bizum. Abono rechazado por beneficiario.
| 9675 | SIS0675  | Bizum. Cargo rechazado por ordenante.
| 9676 | SIS0676  | Bizum. El procesador rechaza la operación.
| 9677 | SIS0677  | Bizum. Saldo disponible insuficiente.
| 9678 | SIS0678  | La versión de 3DSecure indicada en el Trata Petición es errónea o es superior a la devuelva en el inicia petición
| 9680 | SIS0680  | Error en la autenticación EMV3DS y la marca no permite hacer fallback a 3dSecure 1.0
| 9681 | SIS0681  | Error al insertar los datos de autenticación en una operación con MPI Externo
| 9682 | SIS0682  | Error la operación es de tipo Consulta de TRA y el parámetro Ds_Merchant_TRA_Data es erróneo
| 9683 | SIS0683  | Error la operación es de tipo Consulta de TRA Fase 1 y falta el parámetro Ds_Merchant_TRA_Type
| 9684 | SIS0684  | Error la operación es de tipo Consulta de TRA Fase 1 y el parámetro Ds_Merchant_TRA_Type tiene un valor no permitido
| 9685 | SIS0685  | Error la operación es de tipo Consulta de TRA Fase 1 y el perfil del comercio no le permite exención TRA
| 9686 | SIS0686  | Error la operación es de tipo Consulta de TRA Fase 1 y la confifguración del comercio no le permite usar el TRA de Redsys
| 9687 | SIS0687  | Error la operación es de tipo Consulta de TRA Fase 2 y falta el parámetro Ds_Merchant_TRA_Result o tiene un valor no permitido
| 9688 | SIS0688  | Error la operación es de tipo Consulta de TRA Fase 2 y falta el parámetro Ds_Merchant_TRA_Method o tiene un valor erróneo
| 9689 | SIS0689  | Error la operación es de tipo Consulta de TRA Fase 2, no existe una operación concreta de Fase 1
| 9690 | SIS0690  | Error la operación es de tipo Consulta de TRA Fase 2 y obtenemos un error en la respuesta de Lynx
| 9691 | SIS0691  | Se envían datos SamsungPay y el comercio no tiene dado de alta el método de pago SamsungPay
| 9692 | SIS0692  | Se envía petición con firma de PSP y el comercio no tiene asociado un PSP.
| 9693 | SIS0693  | No se han obtenido correctamente los datos enviados por SamsungPay.
| 9694 | SIS0694  | No ha podido realizarse el pago con SamsungPay
| 9700 | SIS0700  | PayPal ha devuelto un KO
| 9754 | SIS0754  | Autenticación en 3DSecure V1 Obsoleta
| 9802 | SIS0802  | Envia un valor incorrecto en el parémtro DS_MERCHANT_COF_TYPE
| 9812 | SIS0812  | Error obteniendo los parametros XPAYDECODEDDATA
| 9813 | SIS0813  | Error obteniendo los parametros del parámetro Ds_Merchant_BrClientData
| 9814 | SIS0814  | Error el tipo de operación enviado en el segundo trataPetición no coincide con el de la operación
| 9815 | SIS0815  | Error, ya existe una operación de Paygold con los mismos datos en proceso de autorizar o ya autorizada
| 9816 | SIS0816  | Error en operación con XPAY. Operación con token y sin criptograma
| 9817 | SIS0817  | Operacion aunteticada por 3RI no se puede procesar por estado incorrecto
| 9818 | SIS0818  | Operacion autenticada por 3RI no se puede procesar por moneda incorrecta
| 9819 | SIS0819  | Operacion autenticada por 3RI no se puede procesar por importe incorrecto
| 9820 | SIS0820  | Operacion autenticada por 3RI no se puede procesar por estar expirada
| 9821 | SIS0821  | Operacion 3RI no encontrada, ID_OPER_3RI incorrecto
| 9822 | SIS0822  | Importe incorrecto en datos adicionales de autenticacion 3RI. El importe total acumulado supera el importe de la autenticacion
| 9823 | SIS0823  | Operacion autenticada por 3RI no se puede procesar, la marca de tarjeta no tiene su método de pago asociado
| 9824 | SIS0824  | Error registrando datos 3RI
| 9836 | SIS0836  | Error, no existe operación original de paygold con los datos proporcionados
| 9837 | SIS0837  | Error, la fecha indicada en el parámetro Ds_Merchant_P2f_ExpiryDate no tiene un formato correcto o está vacía
| 9843 | SIS0843  | Error en los datos Ds_Merchant_TokenData.
| 9844 | SIS0844  | El perfil del comercio no está configurado para aceptar devoluciones de tributos.
| 9850 |    9850  | Error en operación realizada con Amazon Pay
| 9860 |    9860  | Error en operación realizada con Amazon Pay. Se puede reintentar la operación
| 9899 |    9899  | No están correctamente firmados los datos que nos envían en el Ds_Merchant_Data.
| 9900 |    9900  | SafetyPay ha devuelto un KO
| 9909 |    9909  | Error interno
| 9912 |    9912  | Emisor no disponible
| 9913 |    9913  | Excepción en el envío SOAP de la notificacion
| 9914 |    9914  | Respuesta KO en el envío SOAP de la notificacion
| 9915 | SIS9915  | Cancelado por el titular
| 9928 |    9928  | El titular ha cancelado la preautorización
| 9929 |    9929  | El titular ha cancelado la operación
| 9930 |    9930  | La transferencia está pendiente
| 9931 |    9931  | Consulte con su entidad
| 9932 |    9932  | Denegada por Fraude (LINX)
| 9933 |    9933  | Denegada por Fraude (LINX)
| 9934 |    9934  | Denegada ( Consulte con su entidad)
| 9935 |    9935  | Denegada ( Consulte con su entidad)
| 9966 |    9966  | BIZUM ha devuelto un KO en la autorización
| 9992 |    9992  | Solicitud de PAE
| 9994 |    9994  | No ha seleccionado ninguna tarjeta de la cartera.
| 9995 |    9995  | Recarga de prepago denegada
| 9996 |    9996  | No permite la recarga de tarjeta prepago
| 9997 |    9997  | Con una misma tarjeta hay varios pagos en "vuelo" en el momento que se finaliza uno el resto se deniegan con este código. Esta restricción se realiza por seguridad.
| 9998 |    9998  | Operación en proceso de solicitud de datos de tarjeta
| 9999 |    9999  | Operación que ha sido redirigida al emisor a autenticar
|  101 |     101  | Tarjeta caducada
|  106 |     106  | Tarjeta bloqueada, exceso de pin erróneo
|  129 |     129  | Código de seguridad CVV incorrecto.
|  180 |     180  | Denegación emisor
|  184 |     184  | el cliente de la operación no se ha autenticado
|  190 |     190  | Denegación emisor
|  904 |     904  | Problema con la configuración de su comercio. Dirigirse a la entidad.
|      | XML0000  | Errores en el proceso del XML-String recibido
|      | XML0001  | Error en la generación del DOM a partir del XML-String recibido y la DTD definida
|      | XML0002  | No existe el elemento "Message" en el XML-String recibido
|      | XML0003  | El tipo de "Message" en el XML-String recibido tiene un valor desconcido o inválido en la petición
|      | XML0004  | No existe el elemento "Ds_MerchantCode" en el XML-String recibido
|      | XML0005  | El elemento "Ds_MerchantCode" viene vacío en el XML-String recibido
|      | XML0006  | El elemento "Ds_MerchantCode" tiene una longitud incorrecta en el XML-String recibido
|      | XML0007  | El elemento "Ds_MerchantCode" no tiene formato numérico en el XML-String recibido
|      | XML0008  | No existe el elemento "Ds_Terminal" en el XML-String recibido
|      | XML0009  | El elemento "Ds_Terminal" viene vacío en el XML-String recibido
|      | XML0010  | El elemento "Ds_Terminal" tiene una longitud incorrecta en el XML-String recibido
|      | XML0011  | El elemento "Ds_Terminal" no tiene formato numérico en el XML-String recibido
|      | XML0012  | No existe el elemento "Ds_Order" en el XML-String recibido
|      | XML0013  | El elemento "Ds_Order" viene vacío en el XML-String recibido
|      | XML0014  | El elemento "Ds_Order" tiene una longitud incorrecta en el XML-String recibido
|      | XML0015  | El elemento "Ds_Order" no tiene sus 4 primeras posiciones numéricas en el XML-String recibido
|      | XML0016  | No existe el elemento "Ds_TransactionType" en el XML-String recibido
|      | XML0017  | El elemento "Ds_TransactionType" viene vacío en el XML-String recibido
|      | XML0018  | El elemento "Ds_TransactionType" tiene una longitud incorrecta en el XML-String recibido
|      | XML0019  | El elemento "Ds_TransactionType" no tiene formato numérico en el XML-String recibido
|      | XML0020  | El elemento "Ds_TransactionType" tiene un valor desconcido o inválido en un mensaje Transaction
|      | XML0021  | No existe el elemento "Signature" en el XML-String recibido
|      | XML0022  | El elemento "Signature" viene vacío en el XML-String recibido
|      | XML0023  | La firma no es correcta
|      | XML0024  | No existen operaciones para los datos solicitados
|      | XML0025  | El XML de respuesta está mal formado
|      | XML0026  | No existe el elemento "Ds_fecha_inicio" en el XML-String recibido
|      | XML0027  | No existe el elemento "Ds_fecha_fin" en el XML-String recibido
|      | XML0028  | El comercio-terminal está dado de baja
|      | XML0029  | El elemento "SignatureVersion" viene vacío en el XML-String recibido
|      | XML0030  | El elemento "SignatureVersion" viene con un valor erróneo en el XML-String recibido
|      | XML0031  | El elemento "Entrada" viene con un valor no permitido en el XML-String recibido
|      | XML0032  | El elemento "Autorizada" viene con un valor no permitido en el XML-String recibido
|      | XML0033  | El elemento "ImporteMayor" viene con un valor no permitido en el XML-String recibido
|      | XML0034  | El elemento "ImporteMenor" viene con un valor no permitido en el XML-String recibido
|      | XML0035  | El elemento "Autenticada" viene con un valor no permitido en el XML-String recibido
|      | XML0036  | El elemento "DCC" viene con un valor no permitido en el XML-String recibido
|      | XML0037  | El elemento "Paymethod" viene con un valor no permitido en el XML-String recibido
|      | XML0038  | Error el elemento "Ds_fecha_inicio" es anterior a un año
|      | XML0039  | Error la difernecia entre "Ds_fecha_inicio" y "Ds_fecha_fin" excede los 15 días
|      | XML0040  | Error la "Ds_fecha_fin" es anterior a "Ds_fecha_inicio"
|      | XML0041  | Error el comercio no puede utilizar la consulta SOAP

## Códigos Ds_Response

En el caso que se realice la operación correctamente, el resultado de ésta será el resultado del parámetro "Ds_Response":

|   Código    | Significado |
|-------------|-------------|
| 0000 a 0099 | Transacción autorizada para pagos y preautorizaciones
| 0900        | Transacción autorizada para devoluciones y confirmaciones
| 0400        | Transacción autorizada para anulaciones
| 0101        | Tarjeta caducada
| 0102        | Tarjeta en excepción transitoria o bajo sospecha de fraude
| 0106        | Intentos de PIN excedidos
| 0125        | Tarjeta no efectiva
| 0129        | Código de seguridad (CVV2/CVC2) incorrecto
|  172        | Denegada, no repetir.
|  173        | Denegada, no repetir sin actualizar datos de tarjeta.
|  174        | Denegada, no repetir antes de 72 horas.
| 0180        | Tarjeta ajena al servicio
| 0184        | Error en la autenticación del titular
| 0190        | Denegación del emisor sin especificar motivo
| 0191        | Fecha de caducidad errónea
| 0195        | Requiere autenticación SCA
| 0202        | Tarjeta en excepción transitoria o bajo sospecha de fraude con retirada de tarjeta
| 0904        | Comercio no registrado en FUC
| 0909        | Error de sistema
| 0913        | Pedido repetido
| 0944        | Sesión Incorrecta
| 0950        | Operación de devolución no permitida
| 9912/0912   | Emisor no disponible
| 9064        | Número de posiciones de la tarjeta incorrecto
| 9078        | Tipo de operación no permitida para esa tarjeta
| 9093        | Tarjeta no existente
| 9094        | Rechazo servidores internacionales
| 9104        | Comercio con "titular seguro" y titular sin clave de compra segura
| 9218        | El comercio no permite op. seguras por entrada /operaciones
| 9253        | Tarjeta no cumple el check-digit
| 9256        | El comercio no puede realizar preautorizaciones
| 9257        | Esta tarjeta no permite operativa de preautorizaciones
| 9261        | Operación detenida por superar el control de restricciones en la entrada al SIS
| 9915        | A petición del usuario se ha cancelado el pago
| 9997        | Se está procesando otra transacción en SIS con la misma tarjeta
| 9998        | Operación en proceso de solicitud de datos  de tarjeta
| 9999        | Operación que ha sido redirigida al emisor a autenticar

================================================
FILE: doc/Parámetros de entrada.html
================================================




					<!-- 	*****************************
        *****************************
 	       TABLA PARÁMETROS ENTRADA
 	    *****************************
 	    *****************************  -->

					<div id="entradaTable_wrapper" class="dataTables_wrapper no-footer active" style="height: 400px;"><table id="entradaTable" title="Parámetros de entrada" class="table table-striped errores-sis dataTable no-footer fix-head" role="grid">
						<thead id="tableHeader">
							<tr id="pp" role="row"><th class="fix sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">
									DATO</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;"><input id="entradaInput" class="errores filter" data-column-index="1" style="color: #555;" value="" placeholder="PARÁMETRO DE ENTRADA" type="text"></th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">Long. / Tipo</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">TIPO OPERACIÓN <br> <input id="entradaTTInput" class="errores filter" data-column-index="3" style="color: #555;" value="" placeholder="DS_MERCHANT_TRANSACTIONTYPE" type="text"></th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">REDIRECCION <br> <select id="realizarInput" class="errores filter" data-column-index="4" style="color: #555;" value="">
										<option value=""></option>
										<option value="OBLIGATORIO">OBLIGATORIO</option>
										<option value="OPCIONAL">OPCIONAL</option>
										<option value="CONDICIONAL">CONDICIONAL</option>
								</select>
								</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">REST/SOAP <br> <select id="soapInput" class="errores filter" data-column-index="5" style="color: #555;" value="">
										<option value=""></option>
										<option value="OBLIGATORIO">OBLIGATORIO</option>
										<option value="OPCIONAL">OPCIONAL</option>
										<option value="CONDICIONAL">CONDICIONAL</option>
								</select>
								</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">COMENTARIOS</th></tr>
						</thead>
						<tbody>
















































						<tr role="row" class="odd">
								<td class="col">Importe</td>
								<td>DS_MERCHANT_AMOUNT</td>
								<td>12/N</td>
								<td>0,1,2,3,7,8,9,11,15,17,34,37,45,46,47,48</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Las últimas posiciones hacen referencia a los decimales
									de la moneda.Ejemplo: En el caso del EURO 43,45 Euros habría
									que indicar 4345.</td>
							</tr><tr role="row" class="even">
								<td class="col">Código de Autorización</td>
								<td>DS_MERCHANT_AUTHORISATIONCODE</td>
								<td>6/N</td>
								<td>3</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Representa el código de autorización necesario para
									identificar de manera inequivoca la transacción original sobre
									la que se desea realizar la devolución. Este parámetro tiene
									sentido en aquellos comercios que permiten repetir el número de
									pedido.</td>
							</tr><tr role="row" class="odd">
								<td class="col">Indicador de transacción COF</td>
								<td>DS_MERCHANT_COF_INI</td>
								<td>1/AN</td>
								<td>0,1,7,15</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Obligatorio para operativa COF Visa y MC. Valores
									posibles:
									<ul class="nowrap">
										<li>"S": Sí es primera transacción COF (almacenar
											credenciales).</li>
										<li>"N": No es primera transacción COF.</li>
										<li>Cualquier otro valor no se tendrá en cuenta y la
											operación no se procesará como COF.</li>
									</ul> <!-- 									Documentación: <a href="documents\Especificaciones-COF-v1.2.pdf" -->
									<!-- 										target="_blank" rel="noopener">Especificaciones-COF-v1.2.pdf</a></td> -->
							</td></tr><tr role="row" class="even">
								<td class="col">Identificador de transacción COF</td>
								<td>DS_MERCHANT_COF_TXNID</td>
								<td>15/AN</td>
								<td>0,1,7</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Opcional. Este identificador es devuelto en la
									respuesta de la primera operación COF (almacenamiento de
									credenciales), y deberá enviarse en transacciones sucesivas
									realizadas con las credenciales que generaron este mismo
									Id_txn.<br>
								<br> <!-- 								Documentación: <a href="documents\Especificaciones-COF-v1.2.pdf" -->
									<!-- 										target="_blank" rel="noopener">Especificaciones-COF-v1.2.pdf</a></td> -->
							</td></tr><tr role="row" class="odd">
								<td class="col">Tipo de transacción COF</td>
								<td>DS_MERCHANT_COF_TYPE</td>
								<td>1 / AN</td>
								<td>0,1,7,15</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Opcional para COF Visa y MC. Valores posibles:
									<ul class="nowrap">
										<li>"I": Installments.</li>
										<li>"R": Recurring.</li>
										<li>"H": Reauthorization.</li>
										<li>"E": Resubmission.</li>
										<li>"D": Delayed.</li>
										<li>"M": Incremental.</li>
										<li>"N": No Show.</li>
										<li>"C": Otras.</li>
									</ul> <!-- 									Documentación: <a href="documents\Especificaciones-COF-v1.2.pdf" -->
									<!-- 										target="_blank" rel="noopener">Especificaciones-COF-v1.2.pdf</a></td> -->
							</td></tr><tr role="row" class="even">
								<td class="col">Idioma del titular</td>
								<td>DS_MERCHANT_CONSUMERLANGUAGE</td>
								<td>3/N.</td>
								<td>0,1,2,3,7,8,9,15,17,34,37</td>
								<td>OPCIONAL</td>
								<td>&nbsp;</td>
								<td>Los valores posibles se incluyen en la <a class="table-link" table-target="idiomasTable">tabla de
									idiomas</a></td>
							</tr><tr role="row" class="odd">
								<td class="col">Moneda</td>
								<td>DS_MERCHANT_CURRENCY</td>
								<td>3/N</td>
								<td>0,1,2,3,7,8,9,11,15,17,34,37,45,46,47,48</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Se debe enviar el código numérico de la moneda según el
									ISO-4217, ver <a class="table-link" style="color: #dc7c26;" table-target="monedasTable">tabla
									de monedas</a>.
								</td>
							</tr><tr role="row" class="even">
								<td class="col">CVV2</td>
								<td>DS_MERCHANT_CVV2</td>
								<td>3-4/N</td>
								<td>0,1,7,17,34,37</td>
								<td>CONDICIONAL</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Opcional si se envía el parámetro DS_MERCHANT_PAN y en
												funcion de la configuración del comercio." data-original-title="" title="">CONDICIONAL</a></td>
								<td>Código CVV2 de la tarjeta.</td>
							</tr><tr role="row" class="odd">
								<td class="col">Indicador de pago sin autenticación</td>
								<td>DS_MERCHANT_DIRECTPAYMENT</td>
								<td>4/N</td>
								<td>0,1,7,15,17,37</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Valores posibles:
									<ul role="row" class="odd">
										<li>"true": identifica la intención de realizar la
											operación sin autenticación.</li>
										<li>"moto": identifica la operación como pago MOTO.</li>
									</ul> <!-- 									Documentación: <a href="documents\TPV-Virtual-Pago-MOTO.pdf" -->
									<!-- 										target="_blank" rel="noopener">TPV-Virtual-Pago-MOTO.pdf</a></td> -->
							</td></tr><tr role="row" class="even">
								<td class="col">JSON con la información de la autenticación</td>
								<td>DS_MERCHANT_EMV3DS</td>
								<td>Variable/JSON Object</td>
								<td>0,1,7,17</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Este campo contiene toda la información necesaria para
									autenticación EMV3DS (V1 o V2).
									 <br><br> <b>***Con el fin de mejorar la experiencia del usuario en
									 el proceso de autenticación, se recomienda añadir en la petición de
									 pago los siguientes parámetros definidos en la versión EMV 3DS v2 (Email,
									 homePhone, shipAddrLine1 y dentro de acctInfo: chAccChange, chAccDate y
									 txnActivityYear), que aportan datos adicionales del titular de la tarjeta
									 y del dispositivo que se está utilizando </b>.<br><br>
								<a class="table-link" style="color: #dc7c26;" table-target="dsemv3dsTable">Ver tabla DS_MERCHANT_EMV3DS</a>
								</td>
							</tr><tr role="row" class="odd">
								<td class="col">Caducidad</td>
								<td>DS_MERCHANT_EXPIRYDATE</td>
								<td>4/N</td>
								<td>0,1,7,17,34,37</td>
								<td>CONDICIONAL</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envía el parámetro
												DS_MERCHANT_PAN." data-original-title="" title="">CONDICIONAL</a></td>
								<td>Caducidad de la tarjeta. Su formato es AAMM, siendo AA
									los dos últimos dígitos del año y MM los dos dígitos del mes.</td>
							</tr><tr role="row" class="even">
								<td class="col">Código de grupo</td>
								<td>DS_MERCHANT_GROUP</td>
								<td>9/N</td>
								<td>0,1,7,15,17,37</td>
								<td>CONDICIONAL</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Opcional si se envía el parámetro
												DS_MERCHANT_IDENTIFIER." data-original-title="" title="">CONDICIONAL</a>
								</td>
								<td>Identificador del código de grupo asociado a la
									referencia <!-- 									Documentación: <a href="documents\TPV-Virtual-Pago-por-referencia.pdf" -->
									<!-- 										target="_blank" rel="noopener">TPV-Virtual-Pago-por-referencia.pdf</a> -->
								</td>
							</tr><tr role="row" class="odd">
								<td class="col">Referencia</td>
								<td>DS_MERCHANT_IDENTIFIER</td>
								<td>40/N</td>
								<td>0,1,7,15,17,38</td>
								<td>OPCIONAL</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se genera o utiliza una referencia" data-original-title="" title="">OBLIGATORIO</a></td>
								<td>Este parámetro indica la referencia de la tarjeta a
									utilizar, o la solicitud de generar una referencia.<br> Para
									generar una nueva referencia enviar "REQUIRED" en el caso de
									REST/SOAP el parámetro DS_MERCHANT_PAN es Obligatorio. <!-- 									Documentación: <a href="documents\TPV-Virtual-Pago-por-referencia.pdf" -->
									<!-- 										target="_blank" rel="noopener">TPV-Virtual-Pago-por-referencia.pdf</a> -->
								</td>
							</tr><tr role="row" class="even">
								<td class="col">Identificador de la operación de INSITE</td>
								<td>DS_MERCHANT_IDOPER</td>
								<td>40/A-N</td>
								<td>0,1,7,17,37</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Identificador de la operación de INSITE. <!-- 									Documentación: <a href="documents\TPV-Virtual-Integración-inSite-V2.1.pdf" -->
									<!-- 										target="_blank" rel="noopener">TPV-Virtual-Integración-inSite-V2.1.pdf</a> -->
								</td>
							</tr><tr role="row" class="odd">
								<td class="col">Identificación de comercio: código FUC</td>
								<td>DS_MERCHANT_MERCHANTCODE</td>
								<td>9/N.</td>
								<td>0,1,2,3,7,8,9,11,15,17,34,37,45,46,47,48</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Código FUC asignado al comercio.(Nº de comercio)</td>
							</tr><tr role="row" class="even">
								<td class="col">Datos del comercio</td>
								<td>DS_MERCHANT_MERCHANTDATA</td>
								<td>1024 /A-N</td>
								<td>0,1,2,3,7,8,9,15,17,34,37</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Cadena de datos que no procesará el TPV-Virtual y se
									devolverán de la misma forma en la respuesta</td>
							</tr><tr role="row" class="odd">
								<td class="col">Identificación de comercio:</td>
								<td>DS_MERCHANT_MERCHANTNAME</td>
								<td>25/A-N</td>
								<td>0,1,2,3,7,8,9,15,17,34,37</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Para la entrada de realizar pago esta información se
									mostrará al titular en la pantallas con las que este
									interaciona. En caso de no informarse aparecerá el nombre
									configurado en la administración del TPV- Virtual.</td>
							</tr><tr role="row" class="even">
								<td class="col">URL del comercio para la notificación
									"on-line"</td>
								<td>DS_MERCHANT_MERCHANTURL</td>
								<td>250/A-N</td>
								<td>0,1,2,3,7,8,9,15,17,34,37</td>
								<td>OPCIONAL</td>
								<td>&nbsp;</td>
								<td>Si el comercio tiene configurada notificación online
									"HTTP" en el módulo de administración, se enviará una petición
									post con el resultado de la transacción a la URL especificada.</td>
							</tr><tr role="row" class="odd">
								<td class="col">Número de Pedido</td>
								<td>DS_MERCHANT_ORDER</td>
								<td>12 / A-N.</td>
								<td>0,1,2,3,7,8,9,11,15,17,34,37,45,46,47,48</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Se recomienda, por posibles problemas en el proceso de
									liquidación, que los 4 primeros dígitos sean numéricos. Para
									los dígitos restantes solo utilizar los siguientes caracteres
									ASCII:
									<ul>
										<li>Del 48 = 0 al 57 = 9</li>
										<li>Del 65 = A al 90 = Z</li>
										<li>Del 97 = a al 122 = z</li>
									</ul>
								</td>
							</tr><tr role="row" class="even">
								<td class="col">Tarjeta</td>
								<td>DS_MERCHANT_PAN</td>
								<td>19/N</td>
								<td>0,1,7,17,34,37</td>
								<td>OPCIONAL</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si no se envía el parámetro
												DS_MERCHANT_IDENTIFIER o
												el valor de DS_MERCHANT_IDENTIFIER es 'REQUIRED'." data-original-title="" title="">CONDICIONAL</a></td>
								<td>Tarjeta. Su longitud depende del tipo de tarjeta.</td>
							</tr><tr role="row" class="odd">
								<td class="col">Forma de pago aplicable</td>
								<td>DS_MERCHANT_PAYMETHODS</td>
								<td>1/A</td>
								<td>Ver tabla <a class="table-link" style="color: #dc7c26;" table-target="dspaymethodsTable">DS_MERCHANT_PAYMETHODS</a></td>
								<td>OPCIONAL</td>
								<td>&nbsp;</td>
								<td>Ver tabla <a class="table-link" style="color: #dc7c26;" table-target="dspaymethodsTable">DS_MERCHANT_PAYMETHODS</a></td>
							</tr><tr role="row" class="even">
								<td class="col">Descripción del producto</td>
								<td>DS_MERCHANT_PRODUCTDESCRIPTION</td>
								<td>125 / A-N</td>
								<td>0,1,2,3,7,8,9,15,17,34,37</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>La longitud máxima es 125. Para la entrada de realizar
									pago esta información se mostrará al titular en la pantallas
									con las que este interaciona.</td>
							</tr><tr role="row" class="odd">
								<td class="col">Código del tributo a pagar</td>
								<td>DS_MERCHANT_TAX_REFERENCE</td>
								<td>100/N</td>
								<td>0</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Operativa especial de pago de tributos. Código de
									barras del tributo en operativa especial de pago de tributos.
									Se requiere activación por parte de la entidad.</td>
							</tr><tr role="row" class="even">
								<td class="col">Número de terminal</td>
								<td>DS_MERCHANT_TERMINAL</td>
								<td>3/N.</td>
								<td>0,1,2,3,7,8,9,11,15,17,34,37,45,46,47,48</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Número de terminal que le asignará su banco.</td>
							</tr><tr role="row" class="odd">
								<td class="col">Nombre y apellidos del titular</td>
								<td>DS_MERCHANT_TITULAR</td>
								<td>60/A-N</td>
								<td>0,1,2,3,7,8,9,15,17,34,37</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Su longitud máxima es de 60 caracteres. Para la entrada
									de realizar pago esta información se mostrará al titular en la
									pantallas con las que este interaciona. En la pantalla de pago,
									el titular podrá modificar este valor.</td>
							</tr><tr role="row" class="even">
								<td class="col">Fecha de la operación</td>
								<td>DS_MERCHANT_TRANSACTIONDATE</td>
								<td>10 / A-N</td>
								<td>3</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Formato yyyy-mm-dd. Representa la fecha de la operación
									sobre que la se realiza la devolución, este campo es necesario
									para identificar de manera inequivoca la transacción original
									sobre la que se desea realizar la devolución. Este parámetro
									tiene sentido en aquellos comercios que permiten repetir el
									número de pedido.</td>
							</tr><tr role="row" class="odd">
								<td class="col">Tipo de transacción</td>
								<td>DS_MERCHANT_TRANSACTIONTYPE</td>
								<td>1 / Num</td>
								<td>0,1,2,3,7,8,9,11,15,17,34,37,45,46,47,48</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Tipo de operación.Ver tabla <a class="table-link" style="color: #dc7c26;" table-target="dstransactiontypeTable">DS_MERCHANT_TRANSACTTIONTYPE</a></td>
							</tr><tr role="row" class="even">
								<td class="col">URL KO</td>
								<td>DS_MERCHANT_URLKO</td>
								<td>250/A-N</td>
								<td>0,1,2,3,7,8,9,15,17,34,37</td>
								<td>OPCIONAL</td>
								<td>&nbsp;</td>
								<td>URL en la que se enviará una petición HTTP get cuando
									el resultado de la transacción sea KO. Si este parámetro no
									viene informado se usará la configuración en el módulo de
									administración.</td>
							</tr><tr role="row" class="odd">
								<td class="col">URLOK</td>
								<td>DS_MERCHANT_URLOK</td>
								<td>250/A-N</td>
								<td>0,1,2,3,7,8,9,15,17,34,37</td>
								<td>OPCIONAL</td>
								<td>&nbsp;</td>
								<td>URL en la que se enviará una petición HTTP get cuando
									el resultado de la transacción sea OK. Si este parámetro no
									viene informado se usará la configuración en el módulo de
									administración.</td>
							</tr><tr role="row" class="even">
								<td class="col">Datos de XPAY</td>
								<td>DS_XPAYDECODEDDATA</td>
								<td>JSON</td>
								<td>0.1</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envia DS_XPAYORIGEN y DS_XPAYTYPE (Si se envía este parámetro,
										no se enviará el DS_XPAYDATA)." data-original-title="" title="">CONDICIONAL</a>
								</td>
								<td>Campo en el que se incluyen los datos descrifrados en referencia a los xPay
								<a class="table-link" style="color: #dc7c26;" table-target="dsXpayCodeDataTable">ver tabla DS_XPAYDECODEDATA</a>
<!-- 									Documentación: <a href="documents\TPV-Virtual-ApplePay.pdf" -->
<!-- 										target="_blank" rel="noopener">TPV-Virtual-ApplePay.pdf</a></td> -->

							</td></tr><tr role="row" class="odd">
								<td class="col">Datos de XPAY</td>
								<td>DS_XPAYDATA</td>
								<td>10000 / A-N</td>
								<td>0.1</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envia DS_XPAYORIGEN y DS_XPAYTYPE
									(Si se envía este parámetro, no se enviará el DS_XPAYDECODEDDATA)." data-original-title="" title="">CONDICIONAL</a>
								</td>
								<td>Campo en el que se incluyen los datos del enviados por
									el xPay en formato Hexadecimal.
									 <!-- 									Documentación: <a href="documents\TPV-Virtual-ApplePay.pdf" -->
									<!-- 										target="_blank" rel="noopener">TPV-Virtual-ApplePay.pdf</a></td> -->
							</td></tr><tr role="row" class="even">
								<td class="col">Origen XPAY</td>
								<td>DS_XPAYORIGEN</td>
								<td>5 / A-N</td>
								<td>0.1</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envia DS_XPAYDATA y DS_XPAYTYPE." data-original-title="" title="">CONDICIONAL</a>
								</td>
								<td>Origen de la petición. Los posibles valores son:
									<ul>
										<li>Google.</li>
										<li>Apple.</li>
									</ul> <!-- 									Documentación: <a href="documents\TPV-Virtual-ApplePay.pdf" -->
									<!-- 										target="_blank" rel="noopener">TPV-Virtual-ApplePay.pdf</a></td> -->

								</td>
							</tr><tr role="row" class="odd">
								<td class="col">Tipo de XPAY</td>
								<td>DS_XPAYTYPE</td>
								<td>10 / A-N</td>
								<td>0.1</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envia DS_XPAYORIGEN y DS_XPAYDATA." data-original-title="" title="">CONDICIONAL</a>
								</td>
								<td>Tipo de xPay. Los posibles valores son:
									<ul>
										<li>WEB.</li>
										<li>InApp.</li>
									</ul> <!-- 									Documentación: <a href="documents\TPV-Virtual-ApplePay.pdf" -->
									<!-- 										target="_blank" rel="noopener">TPV-Virtual-ApplePay.pdf</a></td> -->
								</td>
							</tr><tr role="row" class="even">
								<td class="col">Indicador de obtención de datos de
									dirección de PayPal</td>
								<td>DS_MERCHANT_SHIPPINGADDRESSPYP</td>
								<td>1 / N</td>
								<td>0,1,15</td>
								<td>OPCIONAL</td>
								<td>&nbsp;</td>
								<td>Indica si entre los campos de respuesta al comercio se
									incluye información relativa a la dirección de envío que tiene
									el titular configurada en su cuenta PayPal. Los valores que se
									pueden indicar en dicho campo son:
									<ul>
										<li>S: si se desea obtener dicha información en la
											respuesta del TPV-Virtual.</li>
										<li>N: se NO se desea obtener dicha información en la
											respuesta del TPV-Virtual.</li>
									</ul> <!-- 									Documentación: <a href="documents\TPV-Virtual-Manual-PayPal.pdf" -->
									<!-- 										target="_blank" rel="noopener">TPV-Virtual-Manual-PayPal.pdf</a></td> -->
								</td>
							</tr><tr role="row" class="odd">
								<td class="col">Descriptor Flexible</td>
								<td>DS_MERCHANT_MERCHANTDESCRIPTOR</td>
								<td>25 / A-N</td>
								<td>0,1,2,3,7,8,9,15,17,34,37</td>
								<td>OPCIONAL</td>
								<td>&nbsp;</td>
								<td>El valor de este parámetro es de 25 posiciones (caracteres).
								Si el comercio está configurado para poder enviar este parámetro
								y no envía ninguna información, o no está configurado, por defecto
								se enviará el nombre del comercio. Requiere activación por porte de la entidad.
									 <!-- 									Documentación: <a href="documents\TPV-Virtual-Manual-PayPal.pdf" -->
									<!-- 										target="_blank" rel="noopener">TPV-Virtual-Manual-PayPal.pdf</a></td> -->
								</td>
							</tr><tr role="row" class="even">
								<td class="col">Código de personalización</td>
								<td>DS_MERCHANT_PERSOCODE</td>
								<td>1 / N</td>
								<td>0,1,3,7,8,9,15,34,37</td>
								<td>OPCIONAL</td>
								<td>&nbsp;</td>
								<td>Número de personalización que se desea utilizar en la
									operación. Si no se informa dicho parámetro o el valor que se
									informa no corresponde con un número de personalización activa
									existente <br>
								<br> <!-- 									Documentación: <a href="documents\TPV-Virtual-Herramienta-Personalizacion.pdf" -->
									<!-- 										target="_blank" rel="noopener">TPV-Virtual-Herramienta-Personalizacion.pdf</a></td> -->
							</td></tr><tr role="row" class="odd">
								<td class="col">Matching data</td>
								<td>DS_MERCHANT_MATCHINGDATA</td>
								<td>21/A-N</td>
								<td>17</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envia DS_ACQUIRER_IDENTIFIER." data-original-title="" title="">CONDICIONAL</a>
								</td>
								<td>No debe repetirse. Valor que enviará en la respuesta
									para identificar a la petición</td>
							</tr><tr role="row" class="even">
								<td class="col">Identificador del que procesará la
									operación</td>
								<td>DS_ACQUIRER_IDENTIFIER</td>
								<td>6/N</td>
								<td>17</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envia DS_MERCHANT_MATCHINGDATA." data-original-title="" title="">CONDICIONAL</a>
								</td>
								<td>Es el valor de la interfaz PUC, por dónde el comercio
									procesará la transacción de autorización.</td>
							</tr><tr role="row" class="odd">
								<td class="col">Parámetros para MPI External</td>
								<td>DS_MERCHANT_MPIEXTERNAL</td>
								<td>JSON</td>
								<td>0,1,7</td>
								<td>&nbsp;</td>
								<td>OPCIONAL</td>
								<td>Ver tabla <a class="table-link" style="color: #dc7c26;" table-target="dsmpiexternalTable">DS_MERCHANT_MPIEXTERNAL</a></td>
							</tr><tr role="row" class="even">
								<td class="col">Telefóno del titular para PayGold</td>
								<td>DS_MERCHANT_CUSTOMER_MOBILE</td>
								<td>19 /A-N</td>
								<td>15</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envian DS_MERCHANT_CUSTOMER_MAIL,
									DS_MERCHANT_P2F_EXPIRYDATE, DS_MERCHANT_CUSTOMER_SMS_TEXT,
									DS_MERCHANT_P2F_XMLDATA." data-original-title="" title="">CONDICIONAL</a></td>
								<td>Para informar el número de teléfono del titular para
									enviar el SMS con el enlace.</td>
							</tr><tr role="row" class="odd">
								<td class="col">Mail del titular para PayGold</td>
								<td>DS_MERCHANT_CUSTOMER_MAIL</td>
								<td>100 /A-N</td>
								<td>15</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envian DS_MERCHANT_CUSTOMER_MOBILE,
									DS_MERCHANT_P2F_EXPIRYDATE, DS_MERCHANT_CUSTOMER_SMS_TEXT,
									DS_MERCHANT_P2F_XMLDATA." data-original-title="" title="">CONDICIONAL</a>
								</td>
								<td>Para informar la dirección de mail del titular para
									enviar el enlace.</td>
							</tr><tr role="row" class="even">
								<td class="col">Fecha de caducidad enlace PayGold</td>
								<td>DS_MERCHANT_P2F_EXPIRYDATE</td>
								<td>23/ A-N</td>
								<td>15</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envian DS_MERCHANT_CUSTOMER_MOBILE,
									DS_MERCHANT_CUSTOMER_MAIL, DS_MERCHANT_CUSTOMER_SMS_TEXT,
									DS_MERCHANT_P2F_XMLDATA" data-original-title="" title="">CONDICIONAL</a></td>

								<td>Permite especificar la fecha de caducidad del enlace
									siendo posible especificar la fecha de cada operación mediante
									este parámetro. El valor del campo podrá ser el número de
									minutos desde la operación o la fecha y hora exacta de
									caducidad con el siguiente formato: aaaa-mm-dd-HH:MM:ss.sss
									(por ejemplo 2014-08-06-16.31.35.318).</td>
							</tr><tr role="row" class="odd">
								<td class="col">Texto del SMS de PayGold</td>
								<td>DS_MERCHANT_CUSTOMER_SMS_TEXT</td>
								<td>160/A-N</td>
								<td>15</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envian DS_MERCHANT_CUSTOMER_MOBILE,
									DS_MERCHANT_CUSTOMER_MAIL, DS_MERCHANT_P2F_EXPIRYDATE,
									DS_MERCHANT_P2F_XMLDATA." data-original-title="" title="">CONDICIONAL</a></td>

								<td>Personalización de los mensajes SMS enviados al
									usuario. Este campo contendrá una cadena de texto con los
									campos relevantes entre arrobas, es obligatorio incluir siempre
									la URL (@URL@). Los campos soportados son @COMERCIO@,
									@IMPORTE@, @MONEDA@ y @URL@. Se sustituirán dichos campos por
									los valores correspondientes. Es recomendable limitar la
									longitud del texto (máximo 160 caracteres) para que se envíe en
									un único SMS.<br> Mensaje de ejemplo: <br>
									<ul>
										<li>"Esto es un SMS personalizado del comercio
											@COMERCIO@. Debe pagar @IMPORTE@ @MONEDA@ en la siguiente
											url: @URL@"</li>
									</ul>

								</td>
							</tr><tr role="row" class="even">
								<td class="col">Texto del Mail de PayGold</td>
								<td>DS_MERCHANT_P2F_XMLDATA</td>
								<td>1000/A-N</td>
								<td>15</td>
								<td>&nbsp;</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envian DS_MERCHANT_CUSTOMER_MOBILE,
									DS_MERCHANT_CUSTOMER_MAIL, DS_MERCHANT_P2F_EXPIRYDATE,
									DS_MERCHANT_CUSTOMER_SMS_TEXT." data-original-title="" title="">CONDICIONAL</a></td>

								<td>Personalización de los mensajes de correo enviados.
									Dicho campo permite pasar TAGs para la personalización. Es
									importante escapar los símbolos &lt;&gt;y / como &amp;lt; &amp;gt; y
									&amp;#47; así como dejarlos dentro del CDATA.<br> Cualquier
									error aquí podría ocasionar que el XML no esté bien formado y
									que la petición falle por lo que es obligatorio escapar también
									los caracteres especiales como acentos etc. Los campos que
									incluye este parámetro son:
									<ul>
										<li>nombreComprador: El nombre del comprador. Sin
											limitación de caracteres.</li>
										<li>direccionComprador: La dirección del comprador. Sin
											limitación de caracteres.</li>
										<li>textoLibre1: El texto que se incluirá describiendo la
											compra. Sin limitación de caracteres.</li>
									</ul>
								</td>
							</tr><tr role="row" class="odd">
								<td class="col">Campo indicador para la solicitud de DCC y
									envio de información DCC</td>
								<td>DS_MERCHANT_DCC</td>
								<td>JSON</td>
								<td>0</td>
								<td>&nbsp;</td>
								<td>OPCIONAL</td>
								<td>Enviar Y o N para la solicitud de iniciaPetición. Para
									mandar información de DCC ver tabla <a class="table-link" style="color: #dc7c26;" table-target="dsmerchantdccTable">DS_MERCHANT_DCC</a>.
								</td>
							</tr><tr role="row" class="even">
								<td class="col">Exenciones para PDS2</td>
								<td>DS_MERCHANT_EXCEP_SCA</td>
								<td>3/A-N</td>
								<td>0.1</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Valores posibles: MIT , LWV, TRA, COR, ATD, NDF.
									Requiere activación por parte de la Entidad.</td>
							</tr><tr role="row" class="odd">
								<td class="col">Exenciones para PDS2</td>
								<td>DS_MERCHANT_OTA</td>
								<td>1/N</td>
								<td>7</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Valor: S (petición inicial OTA SI).Petición de
									operación inicial de Autenticación de Viajes Online (OTA)</td>
							</tr><tr role="row" class="even">
								<td class="col">IP de cliente</td>
								<td>DS_MERCHANT_CLIENTIP</td>
								<td>15/A-N</td>
								<td>0,1,2,3,7,8,9,15,17,34,37</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td></td>
							</tr><tr role="row" class="odd">
								<td class="col">Valor RTS para Devoluciones de confirmaciones parciales.</td>
								<td>DS_MERCHANT_RTS</td>
								<td>24/N</td>
								<td>3</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Obligatorio para realizar una devolución de una confirmación parcial</td>
							</tr></tbody>
					</table></div>










					<!-- 	*****************************
        *****************************
 	       TABLA PARÁMETROS SALIDA
 	    *****************************
 	    *****************************  -->


					<div id="salidaTable_wrapper" class="dataTables_wrapper no-footer" style="height: 400px;"><table id="salidaTable" title="Parámetros de salida" class="center table table-striped errores-sis dataTable no-footer fix-head" role="grid">
						<thead>
							<tr role="row"><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">DATO</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;"><input id="entradaSalidaInput" class="errores filter" data-column-index="1" style="color: #555;" value="" placeholder="PARÁMETRO DE SALIDA" type="text"></th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">Long. / Tipo</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">REALIZAR PAGO<br> <select id="salidaPagoInput" class="errores
										filter" data-column-index="3" style="color: #555;" value="">
										<option value=""></option>
										<option value="OBLIGATORIO">OBLIGATORIO</option>
										<option value="OPCIONAL">OPCIONAL</option>
										<option value="CONDICIONAL">CONDICIONAL</option>
								</select></th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">REST/SOAP<br> <select id="salidaSoapInput" class="errores
										filter" data-column-index="4" style="color: #555;" value="">
										<option value=""></option>
										<option value="OBLIGATORIO">OBLIGATORIO</option>
										<option value="OPCIONAL">OPCIONAL</option>
										<option value="CONDICIONAL">CONDICIONAL</option>
								</select></th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">COMENTARIOS</th></tr>
						</thead>
						<tbody>





































						<tr role="row" class="odd">
								<td>Fecha</td>
								<td>DS_DATE</td>
								<td>dd/mm/yyyy</td>
								<td>OBLIGATORIO</td>
								<td></td>
								<td>Fecha de la transacción</td>
							</tr><tr role="row" class="even">
								<td>Hora</td>
								<td>DS_HOUR</td>
								<td>HH:mm</td>
								<td>OBLIGATORIO</td>
								<td></td>
								<td>Hora de la transacción</td>
							</tr><tr role="row" class="odd">
								<td>Importe</td>
								<td>DS_AMOUNT</td>
								<td>12 / Núm.</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Mismo importe que se envió en la petición.</td>
							</tr><tr role="row" class="even">
								<td>Moneda</td>
								<td>DS_CURRENCY</td>
								<td>3 / Núm.</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Misma moneda que se envió en la petición. Lo de la
									longitd ya viene en otra columna.</td>
							</tr><tr role="row" class="odd">
								<td>Número de pedido</td>
								<td>DS_ORDER</td>
								<td>12 / A-N.</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Mismo pedido que se envió en la petición.</td>
							</tr><tr role="row" class="even">
								<td>Identificación de comercio: código FUC</td>
								<td>DS_MERCHANTCODE</td>
								<td>9 / N.</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Mismo código de comercio que se envió en la petición.</td>
							</tr><tr role="row" class="odd">
								<td>Terminal</td>
								<td>DS_TERMINAL</td>
								<td>3 / Núm.</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Mismo código de terminal que se envió en la petición</td>
							</tr><tr role="row" class="even">
								<td>Código de respuesta</td>
								<td>DS_RESPONSE</td>
								<td>4 / Núm.</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Valor que indica el resultado de la operación. Indicará
									si ha sido autorizada o no. Ver <a href="codigosRespuesta.html#codigo-dsresponse">tabla
										Ds_Response</a>
								</td>
							</tr><tr role="row" class="odd">
								<td>Datos del comercio</td>
								<td>DS_MERCHANTDATA</td>
								<td>1024 / A-N</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Información opcional enviada por el comercio en el
									formulario de pago.</td>
							</tr><tr role="row" class="even">
								<td>Pago Seguro</td>
								<td>DS_SECUREPAYMENT</td>
								<td>1 / Núm.</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td><ul>
										<li>0 - Si el pago NO es seguro</li>
										<li>1 - Si el pago es seguro</li>
									</ul></td>
							</tr><tr role="row" class="odd">
								<td>Tipo de operación</td>
								<td>DS_TRANSACTIONTYPE</td>
								<td>1 / A-N</td>
								<td>OBLIGATORIO</td>
								<td>OBLIGATORIO</td>
								<td>Tipo de operación que se envió en el formulario de pago</td>
							</tr><tr role="row" class="even">
								<td>País del titular</td>
								<td>DS_CARD_COUNTRY</td>
								<td>3/Núm</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>País de emisión de la tarjeta con la que se ha
									intentado realizar el pago. En el siguiente enlace es posible
									consultar los códigos de país y su correspondencia:
									http://unstats.un.org/unsd/methods/m49/m49alpha.htm</td>
							</tr><tr role="row" class="odd">
								<td>Código de autorización</td>
								<td>DS_AUTHORISATIONCODE</td>
								<td>6/ A-N</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Código alfanumérico de autorización asignado a la
									aprobación de la transacción por la institución autorizadora.</td>
							</tr><tr role="row" class="even">
								<td>Idioma del titular</td>
								<td>DS_CONSUMERLANGUAGE</td>
								<td>3 / Núm</td>
								<td>OPCIONAL</td>
								<td></td>
								<td>El valor 0, indicará que no se ha determinado el idioma
									del cliente.</td>
							</tr><tr role="row" class="odd">
								<td>Tipo de Tarjeta</td>
								<td>DS_CARD_TYPE</td>
								<td>1 / A-N</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Valores posibles:
									<ul>
										<li>C - Crédito</li>
										<li>D - Débito</li>
									</ul>
								</td>
							</tr><tr role="row" class="even">
								<td>Marca de Tarjeta</td>
								<td>DS_CARD_BRAND</td>
								<td>2 / Núm</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>"No se debe hacer una validación cerrada sobre estos
									valores, pues pueden variar y/o añadise nuevos. Valores
									posibles:
									<ul>
										<li>1 - VISA</li>
										<li>2 - MASTERCARD</li>
										<li>6 - DINERS</li>
										<li>7 - PRIVADA</li>
										<li>8 - AMEX</li>
										<li>9 - JCB</li>
										<li>22 - UPI</li>
									</ul>
							</td></tr><tr role="row" class="odd">
								<td>Número de tarjeta</td>
								<td>DS_CARD_NUMBER</td>
								<td>19/N</td>
								<td></td>
								<td>OPCIONAL</td>
								<td>Tarjeta. Su longitud depende del tipo de tarjeta.</td>
							</tr><tr role="row" class="even">
								<td>Fecha caducidad de la tarjeta</td>
								<td>DS_EXPIRYDATE</td>
								<td>4/N</td>
								<td></td>
								<td>OPCIONAL</td>
								<td>Caducidad de la tarjeta. Su formato es AAMM, siendo AA
									los dos últimos dígitos del año y MM los dos dígitos del mes.</td>
							</tr><tr role="row" class="odd">
								<td>Referencia de la tarjeta</td>
								<td>DS_MERCHANT_IDENTIFIER</td>
								<td>8/N</td>
								<td></td>
								<td>OPCIONAL</td>
								<td>Este parámetro indica la referencia de la tarjeta a
									utilizar</td>
							</tr><tr role="row" class="even">
								<td>Código de error</td>
								<td>DS_ERRORCODE</td>
								<td>7/A-N</td>
								<td>OPCIONAL</td>
								<td></td>
								<td>Código de error</td>
							</tr><tr role="row" class="odd">
								<td>Código de error</td>
								<td>ERRORCODE</td>
								<td>7/A-N</td>
								<td></td>
								<td></td>
								<td>Código de error</td>
							</tr><tr role="row" class="even">
								<td>Código de error</td>
								<td>CODIGO</td>
								<td>7/A-N</td>
								<td></td>
								<td></td>
								<td>Valores posibles:
									<ul>
										<li><strong>CODIGO igual a 0</strong> (La transacción se
											ha procesado pero no implica que se haya autorizado. Para
											saber si la operación está autorizada se debe revisar el
											parámetro <a href="codigosRespuesta.html#codigo-dsresponse">Ds_Response</a>).</li>
										<li><strong>CODIGO diferente de 0</strong> (La
											transacción no se ha podido procesar diversos motivos)</li>
									</ul>
								</td>
							</tr><tr role="row" class="odd">
								<td>Enlace de pago Paygold</td>
								<td>DS_URLPAGO2FASES</td>
								<td>Max 80 /A-N</td>
								<td></td>
								<td>OPCIONAL</td>
								<td>URL del enlace que se le envía al cliente para realizar
									el pago PayGold</td>
							</tr><tr role="row" class="even">
								<td>Firma</td>
								<td>DS_SIGNATURE</td>
								<td>44 / A-N</td>
								<td></td>
								<td>OBLIGATORIO</td>
								<td>Firma de la petición de respuesta</td>
							</tr><tr role="row" class="odd">
								<td>Información sobre DCC</td>
								<td>DS_DCC</td>
								<td>Json</td>
								<td></td>
								<td>OPCIONAL</td>
								<td>Información sobre DCC, ver <a class="table-link" style="color: #dc7c26;" table-target="dsdccTable">tabla DS_DCC</a></td>
							</tr><tr role="row" class="even">
								<td>Información sobre pago seguro</td>
								<td>DS_EMV3DS</td>
								<td>Json</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Información sobre EMV3DS, ver <a class="table-link" style="color: #dc7c26;" table-target="dsemv3dsTable">Tabla DS_EMV3DS</a></td>
							</tr><tr role="row" class="odd">
								<td>Tarjeta afectada por PSD2</td>
								<td>DS_CARD_PSD2</td>
								<td>Max 1/A-N</td>
								<td></td>
								<td>OBLIGATORIO</td>
								<td>Parámetro de respuesta en iniciaPeticion.
									Valores posibles: Y (Si afectada) o N (no afectada)
								</td>
							</tr><tr role="row" class="even">
								<td>Excepciones permitidas</td>
								<td>Ds_Excep_SCA</td>
								<td>Max 40 /A-N</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Parámetro de respuesta en iniciaPeticion. Valores
									posibles un subjunto de: LWV;TRA[30.0];COR;MIT;ATD;WHL</td>
							</tr><tr role="row" class="odd">
								<td>Identificador de transacción COF</td>
								<td>Ds_ProcessedPayMethod</td>
								<td>3/N</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Opcional. Informa sobre el método en el que se ha
									realizado la operación:, ver <a class="table-link" style="color: #dc7c26;" table-target="ds_ProcessedPayMethodTable">Tabla
										DS_ProcessedPayMethod</a>
								</td>
							</tr><tr role="row" class="even">
								<td>Identificador de transacción COF</td>
								<td>Ds_Merchant_Cof_Txnid</td>
								<td>Max 15 / AN</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Este identificador es devuelto en la respuesta de la primera
									operación COF (almacenamiento de credenciales), y deberá enviarse
									en transacciones sucesivas realizadas con las credenciales que
									generaron este mismo Id_txn.
							</td>
							</tr><tr role="row" class="odd">
								<td>Importe en la moneda DCC</td>
								<td>Ds_Amount_DCC</td>
								<td>Max 12 / N</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Solo aplica en operaciones DCC.
							</td>
							</tr><tr role="row" class="even">
								<td>Contravalor en euros cuando la operación se realiza en moneda diferente de euro</td>
								<td>Ds_Amount_Euro</td>
								<td>Max 12 / N</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Solo aplica en operaciones DCC.
							</td>
							</tr><tr role="row" class="odd">
								<td>Codigo de moneda DCC</td>
								<td>Ds_Currency_DCC</td>
								<td>Max 3 / N</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Solo aplica en operaciones DCC.
							</td>
							</tr><tr role="row" class="even">
								<td>Valor RTS en Confirmaciones Parciales</td>
								<td>rts</td>
								<td>Max 24 / N</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Solo aplica en confirmaciones parciales TransactionType 48.
									Este valor se envía en la respuesta de la confirmación parcial
									 para que en el caso de querer realizar una devolución de esa
									  confirmación, se envíe en el parámetro de entrada DS_MERCHANT_RTS.L
							</td>
							</tr><tr role="row" class="odd">
								<td>Valor de control</td>
								<td>Ds_Control_XXXXXXXXXXXXX</td>
								<td>Max 13 / N</td>
								<td>OPCIONAL</td>
								<td>OPCIONAL</td>
								<td>Se trata de un campo con valor aleatorio pensado para
								 que el comercio esté preparado a recibir campos nuevos sin
								 que esto afecte a su servicio,  con esto se pretende que
								  no se realice una validación restrictiva de los campos
								   en la respuesta que se envía al comercio y  que cuando
								    se envíe uno nuevo no afecte al comercio</td>
							</tr></tbody>
					</table></div>

					<!-- 	*****************************
        *****************************
 	     TABLA DS_PROCESSEDPAYMETHOD
 	    *****************************
 	    *****************************  -->


					<div id="ds_ProcessedPayMethodTable_wrapper" class="dataTables_wrapper no-footer" style="height: 400px;"><table id="ds_ProcessedPayMethodTable" title="Tabla Ds_ProcessedPayMethod" class="table table-striped errores-sis dataTable no-footer fix-head" role="grid">
						<thead>
							<tr role="row"><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">Método de pago</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">Valor</th></tr></thead>
						<tbody>

















































						<tr role="row" class="odd">
								<td>1</td>
								<td>Visa Secure</td>
							</tr><tr role="row" class="even">
								<td>3</td>
								<td>Tradicional Mundial</td>
							</tr><tr role="row" class="odd">
								<td>5</td>
								<td>Finanet</td>
							</tr><tr role="row" class="even">
								<td>11</td>
								<td>Capacidad FINANET</td>
							</tr><tr role="row" class="odd">
								<td>13</td>
								<td>Capacidad Visa Secure</td>
							</tr><tr role="row" class="even">
								<td>14</td>
								<td>Tradicional UE</td>
							</tr><tr role="row" class="odd">
								<td>22</td>
								<td>MasterCard Identity Check</td>
							</tr><tr role="row" class="even">
								<td>23</td>
								<td>Capacidad Identity Check</td>
							</tr><tr role="row" class="odd">
								<td>24</td>
								<td>Pago AMEX</td>
							</tr><tr role="row" class="even">
								<td>25</td>
								<td>Pago MOTO</td>
							</tr><tr role="row" class="odd">
								<td>28</td>
								<td>Pago JCB</td>
							</tr><tr role="row" class="even">
								<td>31</td>
								<td>Pago DINERS</td>
							</tr><tr role="row" class="odd">
								<td>39</td>
								<td>JCB JSecure</td>
							</tr><tr role="row" class="even">
								<td>40</td>
								<td>Capacidad JSecure</td>
							</tr><tr role="row" class="odd">
								<td>41</td>
								<td>Domiciliacion</td>
							</tr><tr role="row" class="even">
								<td>42</td>
								<td>Transferencia</td>
							</tr><tr role="row" class="odd">
								<td>54</td>
								<td>PayPal</td>
							</tr><tr role="row" class="even">
								<td>57</td>
								<td>SafeKey</td>
							</tr><tr role="row" class="odd">
								<td>58</td>
								<td>Capacidad SafeKey</td>
							</tr><tr role="row" class="even">
								<td>59</td>
								<td>MasterPass Wallet</td>
							</tr><tr role="row" class="odd">
								<td>68</td>
								<td>Bizum</td>
							</tr><tr role="row" class="even">
								<td>70</td>
								<td>UPI ExpressPay</td>
							</tr><tr role="row" class="odd">
								<td>71</td>
								<td>GooglePay</td>
							</tr><tr role="row" class="even">
								<td>72</td>
								<td>ApplePay</td>
							</tr><tr role="row" class="odd">
								<td>73</td>
								<td>UPI SecurePlus</td>
							</tr><tr role="row" class="even">
								<td>74</td>
								<td>Capacidad Discover</td>
							</tr><tr role="row" class="odd">
								<td>75</td>
								<td>Discover ProtectBuy</td>
							</tr><tr role="row" class="even">
								<td>76</td>
								<td>Discover</td>
							</tr><tr role="row" class="odd">
								<td>77</td>
								<td>Amazon Pay</td>
							</tr><tr role="row" class="even">
								<td>78</td>
								<td>Challenge Visa</td>
							</tr><tr role="row" class="odd">
								<td>79</td>
								<td>Challenge MasterCard</td>
							</tr><tr role="row" class="even">
								<td>80</td>
								<td>Frictionless Visa</td>
							</tr><tr role="row" class="odd">
								<td>81</td>
								<td>Frictionless MasterCard</td>
							</tr><tr role="row" class="even">
								<td>82</td>
								<td>Attempt Visa</td>
							</tr><tr role="row" class="odd">
								<td>83</td>
								<td>Attempt MasterCard</td>
							</tr><tr role="row" class="even">
								<td>85</td>
								<td>Challenge Amex</td>
							</tr><tr role="row" class="odd">
								<td>86</td>
								<td>Challenge Discover</td>
							</tr><tr role="row" class="even">
								<td>87</td>
								<td>Frictionless Amex</td>
							</tr><tr role="row" class="odd">
								<td>88</td>
								<td>Frictionless Discover</td>
							</tr><tr role="row" class="even">
								<td>89</td>
								<td>Attempt Amex</td>
							</tr><tr role="row" class="odd">
								<td>90</td>
								<td>Attempt Discover</td>
							</tr><tr role="row" class="even">
								<td>92</td>
								<td>Pago DINERS ProtectBuy</td>
							</tr><tr role="row" class="odd">
								<td>93</td>
								<td>Challenge Diners ProtectBuy</td>
							</tr><tr role="row" class="even">
								<td>94</td>
								<td>Frictionless Diners ProtectBuy</td>
							</tr><tr role="row" class="odd">
								<td>95</td>
								<td>Pago Attempt Diners ProtectBuy</td>
							</tr><tr role="row" class="even">
								<td>96</td>
								<td>Challenge JCB</td>
							</tr><tr role="row" class="odd">
								<td>97</td>
								<td>Frictionless JCB</td>
							</tr><tr role="row" class="even">
								<td>98</td>
								<td>Attempt JCB</td>
							</tr><tr role="row" class="odd">
								<td>107</td>
								<td>Pago con cuenta</td>
							</tr></tbody>
					</table></div>


					<!-- 	*****************************
        *****************************
 	           TABLA DE MONEDAS
 	    *****************************
 	    *****************************  -->



					<div id="monedasTable_wrapper" class="dataTables_wrapper no-footer" style="height: 400px;"><table id="monedasTable" title="Tabla Monedas" class="table table-striped errores-sis dataTable no-footer fix-head" role="grid">
						<thead>
							<tr role="row"><th style="width: 100px;" class="sorting_disabled" rowspan="1" colspan="1"><input id="isoMonedaInput" class="errores filter" data-column-index="0" style="color: #555;" value="" placeholder="CÓDIGO ISO" type="text"></th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">Moneda</th></tr>

						</thead>
						<tbody>




























































































































































































































						<tr role="row" class="odd">
								<td>840</td>
								<td>DOLAR U.S.A. USD</td>
							</tr><tr role="row" class="even">
								<td>826</td>
								<td>POUND STERLING GBP</td>
							</tr><tr role="row" class="odd">
								<td>392</td>
								<td>YEN JPY</td>
							</tr><tr role="row" class="even">
								<td>32</td>
								<td>ARGENTINE AUSTRAL ARP</td>
							</tr><tr role="row" class="odd">
								<td>36</td>
								<td>AUSTRALIAN DOLLAR AUD</td>
							</tr><tr role="row" class="even">
								<td>124</td>
								<td>CANADIAN DOLLAR CAD</td>
							</tr><tr role="row" class="odd">
								<td>152</td>
								<td>CHILEAN PESO CLP</td>
							</tr><tr role="row" class="even">
								<td>170</td>
								<td>COLOMBIAN PESO COP</td>
							</tr><tr role="row" class="odd">
								<td>188</td>
								<td>COSTA RICA COLON CRC</td>
							</tr><tr role="row" class="even">
								<td>356</td>
								<td>INDIAN RUPEE INR</td>
							</tr><tr role="row" class="odd">
								<td>484</td>
								<td>MEXICAN PESO MXP</td>
							</tr><tr role="row" class="even">
								<td>604</td>
								<td>PERU INTI PEI</td>
							</tr><tr role="row" class="odd">
								<td>756</td>
								<td>SWISS FRANC CHF</td>
							</tr><tr role="row" class="even">
								<td>858</td>
								<td>URUGUAYAN PESO UYP</td>
							</tr><tr role="row" class="odd">
								<td>986</td>
								<td>BRAZILIAN REAL BRL</td>
							</tr><tr role="row" class="even">
								<td>949</td>
								<td>TURKISH LIRA TRY</td>
							</tr><tr role="row" class="odd">
								<td>8</td>
								<td>LEK ALL</td>
							</tr><tr role="row" class="even">
								<td>12</td>
								<td>ALGERIAN DINAR DZD</td>
							</tr><tr role="row" class="odd">
								<td>24</td>
								<td>ANGOLA KWANZA AOK</td>
							</tr><tr role="row" class="even">
								<td>30</td>
								<td>PROBANDO DESA MON</td>
							</tr><tr role="row" class="odd">
								<td>31</td>
								<td>AZERBAIJANIAN MANAT AZM</td>
							</tr><tr role="row" class="even">
								<td>32</td>
								<td>ARGENTINE AUSTRAL ARP</td>
							</tr><tr role="row" class="odd">
								<td>36</td>
								<td>AUSTRALIAN DOLLAR AUD</td>
							</tr><tr role="row" class="even">
								<td>44</td>
								<td>BAHAMIAN DOLLAR BSD</td>
							</tr><tr role="row" class="odd">
								<td>48</td>
								<td>BAHRAINI DINAR BHD</td>
							</tr><tr role="row" class="even">
								<td>50</td>
								<td>TAKA BDT</td>
							</tr><tr role="row" class="odd">
								<td>51</td>
								<td>ARMENIAN DRAM AMD</td>
							</tr><tr role="row" class="even">
								<td>52</td>
								<td>BARBADOS DOLLAR BBD</td>
							</tr><tr role="row" class="odd">
								<td>60</td>
								<td>BERMUDAN DOLLAR BMD</td>
							</tr><tr role="row" class="even">
								<td>64</td>
								<td>NGULTRUM BTN</td>
							</tr><tr role="row" class="odd">
								<td>68</td>
								<td>BOLIVIAN PESO BOP</td>
							</tr><tr role="row" class="even">
								<td>70</td>
								<td>DINAR BAD</td>
							</tr><tr role="row" class="odd">
								<td>72</td>
								<td>PULA BWP</td>
							</tr><tr role="row" class="even">
								<td>76</td>
								<td>CRUZEIRO BRC</td>
							</tr><tr role="row" class="odd">
								<td>84</td>
								<td>BELIZE DOLLAR 084</td>
							</tr><tr role="row" class="even">
								<td>90</td>
								<td>SOLOMON ISLANDS DOLL SBD</td>
							</tr><tr role="row" class="odd">
								<td>96</td>
								<td>BRUNEI DOLLAR BND</td>
							</tr><tr role="row" class="even">
								<td>100</td>
								<td>LEV BGL</td>
							</tr><tr role="row" class="odd">
								<td>104</td>
								<td>KYAT BUK</td>
							</tr><tr role="row" class="even">
								<td>108</td>
								<td>BURUNDI FRANC BIF</td>
							</tr><tr role="row" class="odd">
								<td>112</td>
								<td>BELARUSSIAN RUBLE BYB</td>
							</tr><tr role="row" class="even">
								<td>116</td>
								<td>RIEL KHR</td>
							</tr><tr role="row" class="odd">
								<td>124</td>
								<td>CANADIAN DOLLAR CAD</td>
							</tr><tr role="row" class="even">
								<td>132</td>
								<td>CAPE VERDE ESCUDO CVE</td>
							</tr><tr role="row" class="odd">
								<td>136</td>
								<td>CAYMAN ISLANDS DOLLA KYD</td>
							</tr><tr role="row" class="even">
								<td>144</td>
								<td>SRI LANKA RUPEE LKR</td>
							</tr><tr role="row" class="odd">
								<td>152</td>
								<td>CHILEAN PESO CLP</td>
							</tr><tr role="row" class="even">
								<td>156</td>
								<td>YUAN RENMINBI CNY</td>
							</tr><tr role="row" class="odd">
								<td>157</td>
								<td>CHINESE RENMIMBI CNH</td>
							</tr><tr role="row" class="even">
								<td>158</td>
								<td>CHINESE RENMINBI CNX</td>
							</tr><tr role="row" class="odd">
								<td>170</td>
								<td>COLOMBIAN PESO COP</td>
							</tr><tr role="row" class="even">
								<td>174</td>
								<td>COMOROS FRANC KMF</td>
							</tr><tr role="row" class="odd">
								<td>180</td>
								<td>ZAIRE ZRZ</td>
							</tr><tr role="row" class="even">
								<td>188</td>
								<td>COSTA RICA COLON CRC</td>
							</tr><tr role="row" class="odd">
								<td>191</td>
								<td>CROATIAN KUNA HRK</td>
							</tr><tr role="row" class="even">
								<td>192</td>
								<td>CUBAN PESO CUP</td>
							</tr><tr role="row" class="odd">
								<td>196</td>
								<td>CYPRUS POUND CYP</td>
							</tr><tr role="row" class="even">
								<td>200</td>
								<td>KORUNA CSK</td>
							</tr><tr role="row" class="odd">
								<td>203</td>
								<td>CZECH KORUNA CZK</td>
							</tr><tr role="row" class="even">
								<td>208</td>
								<td>DANISH KRONE DKK</td>
							</tr><tr role="row" class="odd">
								<td>214</td>
								<td>DOMINICAN PESO DOP</td>
							</tr><tr role="row" class="even">
								<td>218</td>
								<td>SUCRE ECS</td>
							</tr><tr role="row" class="odd">
								<td>222</td>
								<td>EL SALVADOR COLON SVC</td>
							</tr><tr role="row" class="even">
								<td>226</td>
								<td>EKWELE GQE</td>
							</tr><tr role="row" class="odd">
								<td>230</td>
								<td>ETHIOPIAN BIRR ETB</td>
							</tr><tr role="row" class="even">
								<td>232</td>
								<td>ERITREAN NAKTAN ERN</td>
							</tr><tr role="row" class="odd">
								<td>233</td>
								<td>ESTONIAN KROON EEK</td>
							</tr><tr role="row" class="even">
								<td>238</td>
								<td>FALKLAND ISLANDS FKP</td>
							</tr><tr role="row" class="odd">
								<td>242</td>
								<td>FIJI DOLLAR FJD</td>
							</tr><tr role="row" class="even">
								<td>262</td>
								<td>DJIBOUTI FRANC DJF</td>
							</tr><tr role="row" class="odd">
								<td>268</td>
								<td>GEORGIAN LARI GEL</td>
							</tr><tr role="row" class="even">
								<td>270</td>
								<td>DALASI GMD</td>
							</tr><tr role="row" class="odd">
								<td>278</td>
								<td>MARK DER DDR DDM</td>
							</tr><tr role="row" class="even">
								<td>288</td>
								<td>GHANA CEDI GHC</td>
							</tr><tr role="row" class="odd">
								<td>292</td>
								<td>GIBRALTAR POUND GIP</td>
							</tr><tr role="row" class="even">
								<td>320</td>
								<td>QUETZAL GTQ</td>
							</tr><tr role="row" class="odd">
								<td>324</td>
								<td>SYLI GNS</td>
							</tr><tr role="row" class="even">
								<td>328</td>
								<td>GUYANA DOLLAR GYD</td>
							</tr><tr role="row" class="odd">
								<td>332</td>
								<td>GOURDE HTG</td>
							</tr><tr role="row" class="even">
								<td>340</td>
								<td>LEMPIRA HNL</td>
							</tr><tr role="row" class="odd">
								<td>344</td>
								<td>HONG KONG DOLLAR HKD</td>
							</tr><tr role="row" class="even">
								<td>348</td>
								<td>FORINT HUF</td>
							</tr><tr role="row" class="odd">
								<td>352</td>
								<td>ICELAND KRONA ISK</td>
							</tr><tr role="row" class="even">
								<td>356</td>
								<td>INDIAN RUPEE INR</td>
							</tr><tr role="row" class="odd">
								<td>360</td>
								<td>RUPIAH IDR</td>
							</tr><tr role="row" class="even">
								<td>364</td>
								<td>IRANIAL RIAL IRR</td>
							</tr><tr role="row" class="odd">
								<td>365</td>
								<td>IRANIAN AIRLINE RATE IRA</td>
							</tr><tr role="row" class="even">
								<td>368</td>
								<td>IRAQI DINAR IQD</td>
							</tr><tr role="row" class="odd">
								<td>376</td>
								<td>ISRAEL SHEKEL ILS</td>
							</tr><tr role="row" class="even">
								<td>388</td>
								<td>JAMAICAN DOLLAR JMD</td>
							</tr><tr role="row" class="odd">
								<td>392</td>
								<td>YEN JPY</td>
							</tr><tr role="row" class="even">
								<td>398</td>
								<td>TENGE KZT</td>
							</tr><tr role="row" class="odd">
								<td>400</td>
								<td>JORDANIAN DINAR JOD</td>
							</tr><tr role="row" class="even">
								<td>404</td>
								<td>KENYAN SHILLING KES</td>
							</tr><tr role="row" class="odd">
								<td>408</td>
								<td>NORTH KOREAN WON KPW</td>
							</tr><tr role="row" class="even">
								<td>410</td>
								<td>KOREAN WON KRW</td>
							</tr><tr role="row" class="odd">
								<td>414</td>
								<td>KUWAITI DINAR KWD</td>
							</tr><tr role="row" class="even">
								<td>417</td>
								<td>KYRGYZSTAN SON KGS</td>
							</tr><tr role="row" class="odd">
								<td>418</td>
								<td>KIP LAK</td>
							</tr><tr role="row" class="even">
								<td>422</td>
								<td>LEBANESE POUND LBP</td>
							</tr><tr role="row" class="odd">
								<td>426</td>
								<td>LESOTHO LOTI LSM</td>
							</tr><tr role="row" class="even">
								<td>428</td>
								<td>LATVIAN LAT LVL</td>
							</tr><tr role="row" class="odd">
								<td>430</td>
								<td>LIBERIAN DOLLAR LRD</td>
							</tr><tr role="row" class="even">
								<td>434</td>
								<td>LIBYAN DINAR LYD</td>
							</tr><tr role="row" class="odd">
								<td>440</td>
								<td>LITHUANIAN LITAS LTL</td>
							</tr><tr role="row" class="even">
								<td>446</td>
								<td>PATACA MOP</td>
							</tr><tr role="row" class="odd">
								<td>450</td>
								<td>MALAGASY FRANC MGF</td>
							</tr><tr role="row" class="even">
								<td>454</td>
								<td>MALAWI KWACHA MWK</td>
							</tr><tr role="row" class="odd">
								<td>458</td>
								<td>MALASYAN RINGGIT MYR</td>
							</tr><tr role="row" class="even">
								<td>462</td>
								<td>MALDIVE RUPEE MVR</td>
							</tr><tr role="row" class="odd">
								<td>466</td>
								<td>MALI MLF</td>
							</tr><tr role="row" class="even">
								<td>470</td>
								<td>MALTESE LIRA MTL</td>
							</tr><tr role="row" class="odd">
								<td>478</td>
								<td>OUGUIYA MRO</td>
							</tr><tr role="row" class="even">
								<td>480</td>
								<td>MAURITIUS RUPEE MUR</td>
							</tr><tr role="row" class="odd">
								<td>484</td>
								<td>MEXICAN PESO MXP</td>
							</tr><tr role="row" class="even">
								<td>496</td>
								<td>TUGRIK MNT</td>
							</tr><tr role="row" class="odd">
								<td>498</td>
								<td>MOLDOVIAN LEU MDL</td>
							</tr><tr role="row" class="even">
								<td>504</td>
								<td>MORROCAN DIRHAM MAD</td>
							</tr><tr role="row" class="odd">
								<td>508</td>
								<td>METICAL MZM</td>
							</tr><tr role="row" class="even">
								<td>512</td>
								<td>RIAL OMANI OMR</td>
							</tr><tr role="row" class="odd">
								<td>516</td>
								<td>NAMIBIAN DOLLAR NAD</td>
							</tr><tr role="row" class="even">
								<td>524</td>
								<td>NEPALESE RUPEE NPR</td>
							</tr><tr role="row" class="odd">
								<td>532</td>
								<td>NETHERLANDS ANTILLIA ANG</td>
							</tr><tr role="row" class="even">
								<td>533</td>
								<td>ARUBA AWG</td>
							</tr><tr role="row" class="odd">
								<td>536</td>
								<td>YUGOSLAVIAN NEW DIAN NTZ</td>
							</tr><tr role="row" class="even">
								<td>548</td>
								<td>VANUATU VATU VUV</td>
							</tr><tr role="row" class="odd">
								<td>554</td>
								<td>NEW ZEALAND DOLLAR NZD</td>
							</tr><tr role="row" class="even">
								<td>556</td>
								<td>NAIRA 566</td>
							</tr><tr role="row" class="odd">
								<td>558</td>
								<td>CORDOBA NIC</td>
							</tr><tr role="row" class="even">
								<td>566</td>
								<td>NAIRA NGN</td>
							</tr><tr role="row" class="odd">
								<td>578</td>
								<td>NORWEGIAN KRONE NOK</td>
							</tr><tr role="row" class="even">
								<td>582</td>
								<td>PACIFIC ISLAND PCI</td>
							</tr><tr role="row" class="odd">
								<td>586</td>
								<td>PAKISTAN RUPEE PKR</td>
							</tr><tr role="row" class="even">
								<td>590</td>
								<td>BALBOA PAB</td>
							</tr><tr role="row" class="odd">
								<td>598</td>
								<td>KINA PGK</td>
							</tr><tr role="row" class="even">
								<td>600</td>
								<td>GUARANI PYG</td>
							</tr><tr role="row" class="odd">
								<td>604</td>
								<td>PERU INTI PEI</td>
							</tr><tr role="row" class="even">
								<td>608</td>
								<td>PHILIPPINE PESO PHP</td>
							</tr><tr role="row" class="odd">
								<td>616</td>
								<td>ZLOTY PLZ</td>
							</tr><tr role="row" class="even">
								<td>624</td>
								<td>GUINEA</td>
							</tr><tr role="row" class="odd">
								<td>626</td>
								<td>TIMOR ESCUDO TPE</td>
							</tr><tr role="row" class="even">
								<td>634</td>
								<td>QATARI RIAL QAR</td>
							</tr><tr role="row" class="odd">
								<td>642</td>
								<td>LEU ROL</td>
							</tr><tr role="row" class="even">
								<td>643</td>
								<td>RUSSIAN ROUBLE RUB</td>
							</tr><tr role="row" class="odd">
								<td>646</td>
								<td>RWANDA FRANC RWF</td>
							</tr><tr role="row" class="even">
								<td>654</td>
								<td>ST.HELENA POUND SHP</td>
							</tr><tr role="row" class="odd">
								<td>678</td>
								<td>DOBRA STD</td>
							</tr><tr role="row" class="even">
								<td>682</td>
								<td>SAUDI RIYAL SAR</td>
							</tr><tr role="row" class="odd">
								<td>690</td>
								<td>SEYCHELLES RUPEE SCR</td>
							</tr><tr role="row" class="even">
								<td>694</td>
								<td>LEONE SLL</td>
							</tr><tr role="row" class="odd">
								<td>702</td>
								<td>SINGAPORE DOLLAR SGD</td>
							</tr><tr role="row" class="even">
								<td>703</td>
								<td>SLOVAK KORUNA SKK</td>
							</tr><tr role="row" class="odd">
								<td>704</td>
								<td>DONG VND</td>
							</tr><tr role="row" class="even">
								<td>705</td>
								<td>SLOVENIAN TOLAR SIT</td>
							</tr><tr role="row" class="odd">
								<td>706</td>
								<td>SOMALI SHILLING SOS</td>
							</tr><tr role="row" class="even">
								<td>710</td>
								<td>RAND ZAR</td>
							</tr><tr role="row" class="odd">
								<td>716</td>
								<td>ZIMBABWE DOLLAR ZWD</td>
							</tr><tr role="row" class="even">
								<td>720</td>
								<td>YEMENI DINAR YDD</td>
							</tr><tr role="row" class="odd">
								<td>728</td>
								<td>SOUTH SUDANESE POUND SSP</td>
							</tr><tr role="row" class="even">
								<td>736</td>
								<td>SUDANESE POUND SDP</td>
							</tr><tr role="row" class="odd">
								<td>737</td>
								<td>SUDAN AIRLINES SDA</td>
							</tr><tr role="row" class="even">
								<td>740</td>
								<td>SURINAM GUILDER SRG</td>
							</tr><tr role="row" class="odd">
								<td>748</td>
								<td>LILANGENI SZL</td>
							</tr><tr role="row" class="even">
								<td>752</td>
								<td>SWEDISH KRONA SEK</td>
							</tr><tr role="row" class="odd">
								<td>756</td>
								<td>SWISS FRANC CHF</td>
							</tr><tr role="row" class="even">
								<td>760</td>
								<td>SYRIAN POUND SYP</td>
							</tr><tr role="row" class="odd">
								<td>762</td>
								<td>TAJIK RUBLE TJR</td>
							</tr><tr role="row" class="even">
								<td>764</td>
								<td>BAHT THB</td>
							</tr><tr role="row" class="odd">
								<td>776</td>
								<td>PA'ANGA TOP</td>
							</tr><tr role="row" class="even">
								<td>780</td>
								<td>TRINIDAD Y TOBAGO DO TTD</td>
							</tr><tr role="row" class="odd">
								<td>784</td>
								<td>UAE DIRHAM AED</td>
							</tr><tr role="row" class="even">
								<td>788</td>
								<td>TUNISIAN DINAR TND</td>
							</tr><tr role="row" class="odd">
								<td>792</td>
								<td>TURKISH LIRA TRL</td>
							</tr><tr role="row" class="even">
								<td>793</td>
								<td>PSEUDO TURKISH LIRA PTL</td>
							</tr><tr role="row" class="odd">
								<td>795</td>
								<td>MANAT TMM</td>
							</tr><tr role="row" class="even">
								<td>800</td>
								<td>UGANDA SHILLING UGS</td>
							</tr><tr role="row" class="odd">
								<td>804</td>
								<td>KARBOVANET UAK</td>
							</tr><tr role="row" class="even">
								<td>807</td>
								<td>MACEDONIAN DENAR MKD</td>
							</tr><tr role="row" class="odd">
								<td>810</td>
								<td>RUSSIAN ROUBLE RUR</td>
							</tr><tr role="row" class="even">
								<td>818</td>
								<td>EGYPTIAN POUND EGP</td>
							</tr><tr role="row" class="odd">
								<td>826</td>
								<td>POUND STERLING GBP</td>
							</tr><tr role="row" class="even">
								<td>834</td>
								<td>TANZANIAN SHILLING TZS</td>
							</tr><tr role="row" class="odd">
								<td>840</td>
								<td>DOLAR U.S.A. USD</td>
							</tr><tr role="row" class="even">
								<td>858</td>
								<td>URUGUAYAN PESO UYP</td>
							</tr><tr role="row" class="odd">
								<td>860</td>
								<td>UZBEKISTAN SUM UZS</td>
							</tr><tr role="row" class="even">
								<td>862</td>
								<td>BOLIVAR VEB</td>
							</tr><tr role="row" class="odd">
								<td>882</td>
								<td>TALA WST</td>
							</tr><tr role="row" class="even">
								<td>886</td>
								<td>YEMINI RIAL YER</td>
							</tr><tr role="row" class="odd">
								<td>890</td>
								<td>NEW YUGOSLAVIAN DOLL YUD</td>
							</tr><tr role="row" class="even">
								<td>891</td>
								<td>NEW DINAR YUG</td>
							</tr><tr role="row" class="odd">
								<td>894</td>
								<td>KWACHA ZMK</td>
							</tr><tr role="row" class="even">
								<td>901</td>
								<td>NEW TAIWAN DOLLAR TWD</td>
							</tr><tr role="row" class="odd">
								<td>934</td>
								<td>NEW MANAT TMT</td>
							</tr><tr role="row" class="even">
								<td>936</td>
								<td>GHANA CEDI GHS</td>
							</tr><tr role="row" class="odd">
								<td>941</td>
								<td>DINAR SERBIO RSD</td>
							</tr><tr role="row" class="even">
								<td>943</td>
								<td>MOZAMBIQUE METICAL MZN</td>
							</tr><tr role="row" class="odd">
								<td>944</td>
								<td>AZERBAIJANIAN MANAT AZN</td>
							</tr><tr role="row" class="even">
								<td>946</td>
								<td>NEW LEU RON</td>
							</tr><tr role="row" class="odd">
								<td>949</td>
								<td>TURKISH LIRA TRY</td>
							</tr><tr role="row" class="even">
								<td>950</td>
								<td>CFA FRANC BEAC XAF</td>
							</tr><tr role="row" class="odd">
								<td>951</td>
								<td>EAST CARIBBEAN DOLLA XCD</td>
							</tr><tr role="row" class="even">
								<td>952</td>
								<td>CFA FRANC BCEAO XOF</td>
							</tr><tr role="row" class="odd">
								<td>953</td>
								<td>CFP FRANC XPF</td>
							</tr><tr role="row" class="even">
								<td>954</td>
								<td>E.C.U. EUROPEAN CUR XEU</td>
							</tr><tr role="row" class="odd">
								<td>967</td>
								<td>KWACHA ZMW</td>
							</tr><tr role="row" class="even">
								<td>968</td>
								<td>SURINAME DOLLAR SRD</td>
							</tr><tr role="row" class="odd">
								<td>969</td>
								<td>ARIARY MGA</td>
							</tr><tr role="row" class="even">
								<td>971</td>
								<td>AFGHANISTAN AFGHANI AFN</td>
							</tr><tr role="row" class="odd">
								<td>972</td>
								<td>TAJIKISTAN SOMONI TJS</td>
							</tr><tr role="row" class="even">
								<td>973</td>
								<td>KWANZA ANGOLA AOA</td>
							</tr><tr role="row" class="odd">
								<td>974</td>
								<td>BELARUSSIAN RUBLE BYR</td>
							</tr><tr role="row" class="even">
								<td>975</td>
								<td>NEW LEV BGN</td>
							</tr><tr role="row" class="odd">
								<td>976</td>
								<td>FRANCO DEL CONGO CDF</td>
							</tr><tr role="row" class="even">
								<td>977</td>
								<td>BOSNIAN MARKA BAM</td>
							</tr><tr role="row" class="odd">
								<td>978</td>
								<td>EURO EUR</td>
							</tr><tr role="row" class="even">
								<td>980</td>
								<td>HRYVNIA UAH</td>
							</tr><tr role="row" class="odd">
								<td>981</td>
								<td>GEORGIAN LARI GEL</td>
							</tr><tr role="row" class="even">
								<td>985</td>
								<td>NEW POLISH ZLOTY PLN</td>
							</tr><tr role="row" class="odd">
								<td>986</td>
								<td>BRAZILIAN REAL BRL</td>
							</tr><tr role="row" class="even">
								<td>991</td>
								<td>RAND FINANCIER ZAL</td>
							</tr></tbody>
					</table></div>

					<!-- 	*****************************
        *****************************
 	            TABLA DE IDIOMAS
 	    *****************************
 	    *****************************  -->


					<div id="idiomasTable_wrapper" class="dataTables_wrapper no-footer" style="height: 400px;"><table id="idiomasTable" title="Tabla Idiomas" class="table table-striped errores-sis dataTable no-footer fix-head" role="grid">
						<thead>
							<tr role="row"><th style="width: 100px;" class="sorting_disabled" rowspan="1" colspan="1"><input id="isoIdiomaInput" class="errores filter" data-column-index="0" style="color: #555;" value="" placeholder="CÓDIGO ISO" type="text"></th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">Idioma</th></tr></thead>
						<tbody>
































						<tr role="row" class="odd">
								<td>0</td>
								<td>Por defecto - Español</td>
							</tr><tr role="row" class="even">
								<td>1</td>
								<td>Español</td>
							</tr><tr role="row" class="odd">
								<td>2</td>
								<td>English - Ingles</td>
							</tr><tr role="row" class="even">
								<td>3</td>
								<td>Català</td>
							</tr><tr role="row" class="odd">
								<td>4</td>
								<td>Français - Frances</td>
							</tr><tr role="row" class="even">
								<td>5</td>
								<td>Deutsch - Aleman</td>
							</tr><tr role="row" class="odd">
								<td>6</td>
								<td>Nederlands - Holandes</td>
							</tr><tr role="row" class="even">
								<td>7</td>
								<td>Italiano</td>
							</tr><tr role="row" class="odd">
								<td>8</td>
								<td>Svenska - Sueco</td>
							</tr><tr role="row" class="even">
								<td>9</td>
								<td>Português</td>
							</tr><tr role="row" class="odd">
								<td>10</td>
								<td>Valencià</td>
							</tr><tr role="row" class="even">
								<td>11</td>
								<td>Polski - Polaco</td>
							</tr><tr role="row" class="odd">
								<td>12</td>
								<td>Galego</td>
							</tr><tr role="row" class="even">
								<td>13</td>
								<td>Euskara</td>
							</tr><tr role="row" class="odd">
								<td>100</td>
								<td>български език - Bulgaro</td>
							</tr><tr role="row" class="even">
								<td>156</td>
								<td>Chino</td>
							</tr><tr role="row" class="odd">
								<td>191</td>
								<td>Hrvatski - Croata</td>
							</tr><tr role="row" class="even">
								<td>203</td>
								<td>Čeština - Checo</td>
							</tr><tr role="row" class="odd">
								<td>208</td>
								<td>Dansk - Danes</td>
							</tr><tr role="row" class="even">
								<td>233</td>
								<td>Eesti keel - Estonio</td>
							</tr><tr role="row" class="odd">
								<td>246</td>
								<td>Suomi - Finlandes</td>
							</tr><tr role="row" class="even">
								<td>300</td>
								<td>ελληνικά - Griego</td>
							</tr><tr role="row" class="odd">
								<td>348</td>
								<td>Magyar - Hungaro</td>
							</tr><tr role="row" class="even">
								<td>392</td>
								<td>Japonés</td>
							</tr><tr role="row" class="odd">
								<td>428</td>
								<td>Latviešu valoda - Leton</td>
							</tr><tr role="row" class="even">
								<td>440</td>
								<td>Lietuvių kalba - Lituano</td>
							</tr><tr role="row" class="odd">
								<td>470</td>
								<td>Malti - Maltés</td>
							</tr><tr role="row" class="even">
								<td>642</td>
								<td>Română - Rumano</td>
							</tr><tr role="row" class="odd">
								<td>643</td>
								<td>ру́сский язы́к - Ruso</td>
							</tr><tr role="row" class="even">
								<td>703</td>
								<td>Slovenský jazyk - Eslovaco</td>
							</tr><tr role="row" class="odd">
								<td>705</td>
								<td>Slovenski jezik - Esloveno</td>
							</tr><tr role="row" class="even">
								<td>792</td>
								<td>Türkçe - Turco</td>
							</tr></tbody>
					</table></div>

					<!-- 	*****************************
        *****************************
 	          TABLA DS_RESPONSE
 	    *****************************
 	    *****************************  -->


					<div id="dsresponseTable_wrapper" class="dataTables_wrapper no-footer" style="height: 400px;"><table id="dsresponseTable" title="Tabla DS_RESPONSE" class="table table-striped errores-sis dataTable no-footer fix-head" role="grid">
						<thead>
							<tr role="row"><th style="width: 100px;" class="sorting_disabled" rowspan="1" colspan="1"><input id="codigoDSresponseInput" class="errores filter" data-column-index="0" style="color: #555;" value="" placeholder="Código" type="text"></th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">Significado</th></tr></thead>
						<tbody>




































						<tr role="row" class="odd">
								<td>0000 a 0099</td>
								<td>Transacción autorizada para pagos y preautorizaciones</td>
							</tr><tr role="row" class="even">
								<td>900</td>
								<td>Transacción autorizada para devoluciones y
									confirmaciones</td>
							</tr><tr role="row" class="odd">
								<td>400</td>
								<td>Transacción autorizada para anulaciones</td>
							</tr><tr role="row" class="even">
								<td>101</td>
								<td>Tarjeta caducada</td>
							</tr><tr role="row" class="odd">
								<td>102</td>
								<td>Tarjeta en excepción transitoria o bajo sospecha de
									fraude</td>
							</tr><tr role="row" class="even">
								<td>106</td>
								<td>Intentos de PIN excedidos</td>
							</tr><tr role="row" class="odd">
								<td>125</td>
								<td>Tarjeta no efectiva</td>
							</tr><tr role="row" class="even">
								<td>129</td>
								<td>Código de seguridad (CVV2/CVC2) incorrecto</td>
							</tr><tr role="row" class="odd">
								<td>172</td>
								<td>Denegada, no repetir.</td>
							</tr><tr role="row" class="even">
								<td>173</td>
								<td>Denegada, no repetir sin actualizar datos de tarjeta.</td>
							</tr><tr role="row" class="odd">
								<td>174</td>
								<td>Denegada, no repetir antes de 72 horas.</td>
							</tr><tr role="row" class="even">
								<td>180</td>
								<td>Tarjeta ajena al servicio</td>
							</tr><tr role="row" class="odd">
								<td>184</td>
								<td>Error en la autenticación del titular</td>
							</tr><tr role="row" class="even">
								<td>190</td>
								<td>Denegación del emisor sin especificar motivo</td>
							</tr><tr role="row" class="odd">
								<td>191</td>
								<td>Fecha de caducidad errónea</td>
							</tr><tr role="row" class="even">
								<td>202</td>
								<td>Tarjeta en excepción transitoria o bajo sospecha de
									fraude con retirada de tarjeta</td>
							</tr><tr role="row" class="odd">
								<td>904</td>
								<td>Comercio no registrado en FUC</td>
							</tr><tr role="row" class="even">
								<td>909</td>
								<td>Error de sistema</td>
							</tr><tr role="row" class="odd">
								<td>913</td>
								<td>Pedido repetido</td>
							</tr><tr role="row" class="even">
								<td>944</td>
								<td>Sesión Incorrecta</td>
							</tr><tr role="row" class="odd">
								<td>950</td>
								<td>Operación de devolución no permitida</td>
							</tr><tr role="row" class="even">
								<td>9912/912</td>
								<td>Emisor no disponible</td>
							</tr><tr role="row" class="odd">
								<td>9064</td>
								<td>Número de posiciones de la tarjeta incorrecto</td>
							</tr><tr role="row" class="even">
								<td>9078</td>
								<td>Tipo de operación no permitida para esa tarjeta</td>
							</tr><tr role="row" class="odd">
								<td>9093</td>
								<td>Tarjeta no existente</td>
							</tr><tr role="row" class="even">
								<td>9094</td>
								<td>Rechazo servidores internacionales</td>
							</tr><tr role="row" class="odd">
								<td>9104</td>
								<td>Comercio con "titular seguro" y titular sin clave de
									compra segura</td>
							</tr><tr role="row" class="even">
								<td>9218</td>
								<td>El comercio no permite op. seguras por entrada
									/operaciones</td>
							</tr><tr role="row" class="odd">
								<td>9253</td>
								<td>Tarjeta no cumple el check-digit</td>
							</tr><tr role="row" class="even">
								<td>9256</td>
								<td>El comercio no puede realizar preautorizaciones</td>
							</tr><tr role="row" class="odd">
								<td>9257</td>
								<td>Esta tarjeta no permite operativa de preautorizaciones</td>
							</tr><tr role="row" class="even">
								<td>9261</td>
								<td>Operación detenida por superar el control de
									restricciones en la entrada al SIS</td>
							</tr><tr role="row" class="odd">
								<td>9915</td>
								<td>A petición del usuario se ha cancelado el pago</td>
							</tr><tr role="row" class="even">
								<td>9997</td>
								<td>Se está procesando otra transacción en SIS con la misma
									tarjeta</td>
							</tr><tr role="row" class="odd">
								<td>9998</td>
								<td>Operación en proceso de solicitud de datos de tarjeta</td>
							</tr><tr role="row" class="even">
								<td>9999</td>
								<td>Operación que ha sido redirigida al emisor a autenticar</td>
							</tr></tbody>
					</table></div>

					<!-- 	*****************************
        *****************************
 	       TABLA TRANSACTION TYPE
 	    *****************************
 	    *****************************  -->
					<div id="dstransactiontypeTable_wrapper" class="dataTables_wrapper no-footer" style="height: 400px;"><table id="dstransactiontypeTable" title="Tabla
								DS_MERCHANT_TRANSACTIONTYPE" class="table table-striped errores-sis dataTable no-footer fix-head" role="grid">
						<thead>
							<tr role="row"><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">TIPO DE OPERACIÓN</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">DS_MERCHANT_TRANSACTIONSTYPE</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">ENTRADAS</th></tr></thead>
						<tbody>
















						<tr role="row" class="odd">
								<td>Autorización</td>
								<td>0</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="even">
								<td>Preautorización</td>
								<td>1</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="odd">
								<td>Preautorización de reemplazo</td>
								<td>11</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="even">
								<td>Confirmación</td>
								<td>2</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="odd">
								<td>Devolución</td>
								<td>3</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="even">
								<td>Preautorización Separada</td>
								<td>7</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="odd">
								<td>Confirmación Separada</td>
								<td>8</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="even">
								<td>Anulación</td>
								<td>9</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="odd">
								<td>Paygold</td>
								<td>15</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="even">
								<td>Autenticación Puce</td>
								<td>17</td>
								<td><ul>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="odd">
								<td>Devolución sin original</td>
								<td>34</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="even">
								<td>Premio de apuestas</td>
								<td>37</td>
								<td><ul>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="odd">
								<td>Anulación de pago</td>
								<td>45</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="even">
								<td>Anulación de devolución</td>
								<td>46</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="odd">
								<td>Anulación de confirmación separada</td>
								<td>47</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr><tr role="row" class="even">
								<td>Modificación de caducidad del enlace (Paygold)</td>
								<td>51</td>
								<td><ul>
										<li>Redirección</li>
										<li>REST/SOAP</li>
									</ul></td>
							</tr></tbody>
					</table></div>
					<!-- 	*****************************
        *****************************
 	             TABLA EMV3DS
 	    *****************************
 	    *****************************  -->

					<div id="dsemv3dsTable_wrapper" class="dataTables_wrapper no-footer" style="height: 400px;"><table id="dsemv3dsTable" title="Tabla DS_MERCHANT_EMV3DS" class="table table-striped errores-sis dataTable no-footer fix-head" role="grid">


						<thead id="tableHeader">
							<tr id="pp" role="row"><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">DATO</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;"><input id="datoDSemv3dInput" class="errores filter" data-column-index="1" style="color: #555;" value="" placeholder="NOMBRE DEL DATO" type="text"></th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">Long. / Tipo</th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">OPCION DEL PARÁMETRO<br> <select id="opcionDSemv3dInput" class="errores filter" data-column-index="3" style="color: #555;" value="">
										<option value=""></option>
										<option value="OBLIGATORIO">OBLIGATORIO</option>
										<option value="OPCIONAL">OPCIONAL</option>
										<option value="CONDICIONAL">CONDICIONAL</option>
										<option value="RECOMENDABLE">RECOMENDABLE</option>
								</select></th><th class="sorting_disabled" rowspan="1" colspan="1" style="width: 0px;">COMENTARIOS</th></tr>
						</thead>
						<tbody>





















































						<tr role="row" class="odd">
								<td>Información adicional de la cuenta del cliene</td>
								<td>acctID</td>
								<td>Variable, máximo 64 / A-N</td>
								<td>OPCIONAL</td>
								<td>Información adicional sobre la cuenta</td>
							</tr><tr role="row" class="even">
								<td>Información de la cuenta del titular</td>
								<td>acctInfo</td>
								<td>JSON Data Type Object</td>
								<td>RECOMENDABLE</td>
								<td>Información adicional de la cuenta de usuario en
									el establecimiento.
									<br><br><b>***Se recomienda enviar este parámetro para mejorar la
									experiencia del usuario en el proceso de autenticación.</b>.<br><br>
									 Ver tabla <a class="table-link" style="color: #dc7c26;" table-target="acctInfoTable">acctInfo</a>
								</td>
							</tr><tr role="row" class="odd">
								<td>Indicador de coincidencia de dirección</td>
								<td>addrMatch</td>
								<td>1/A-N</td>
								<td>OPCIONAL</td>
								<td>Indica si la dirección de envío es la misma que la
									dirección de facturación
									<ul>
										<li>Y= La dirección de envío es la misma que la de
											facturación</li>
										<li>N= Las direcciones de envío y facturación son
											diferentes</li>
									</ul>
								</td>
							</tr><tr role="row" class="even">
								<td>Ciudad de la dirección de facturación</td>
								<td>billAddrCity</td>
								<td>Variable, máximo 50 / A-N</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Definido como Conditional por el estándar EMV 3DS, podría ser
									requerido según el
									emisor de la
									tarjeta. Altamente recomendado para permitir autenticaciones
									basadas en análisis del
									riesgo (Risk
									Based Analisys) y facilitar una experiencia de compra sin
									fricción (frictionless).
									Igualmente
									recomendable si se solicita la aplicación de exenciones SCA
									(PSD2). " data-original-title="" title="">OPCIONAL</a>
								</td>
								<td>La ciudad de la dirección de facturación del titular de
									la tarjeta asociada a la compra</td>
							</tr><tr role="row" class="odd">
								<td>País de la dirección de facturación</td>
								<td>billAddrCountry</td>
								<td>3 / N</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Obligatorio si se envía el billAddrState. " data-original-title="" title="">
										CONDICIONAL</a></td>
								<td>Corresponde al código numérico (ISO 3166-1) del país de
									la dirección de facturación del titular de la tarjeta asociada
									asociado a la compra</td>
							</tr><tr role="row" class="even">
								<td>Dirección de facturación (línea 1)</td>
								<td>billAddrLine1</td>
								<td>Variable, máximo 50 / A-N</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Definido como Conditional por el estándar EMV 3DS, podría ser
									requerido según el
									emisor de la
									tarjeta. Altamente recomendado para permitir autenticaciones
									basadas en análisis del
									riesgo (Risk
									Based Analisys) y facilitar una experiencia de compra sin
									fricción (frictionless).
									Igualmente
									recomendable si se solicita la aplicación de exenciones SCA
									(PSD2). " data-original-title="" title="">
										OPCIONAL</a></td>
								<td>Primera línea de la dirección de facturación del
									titular de la tarjeta asociada a la compra</td>
							</tr><tr role="row" class="odd">
								<td>Dirección de facturación (línea 2)</td>
								<td>billAddrLine2</td>
								<td>Variable, máximo 50 / A-N</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Definido como Conditional por el estándar EMV 3DS, podría ser
									requerido según el
									emisor de la
									tarjeta. Altamente recomendado para permitir autenticaciones
									basadas en análisis del
									riesgo (Risk
									Based Analisys) y facilitar una experiencia de compra sin
									fricción (frictionless).
									Igualmente
									recomendable si se solicita la aplicación de exenciones SCA
									(PSD2)." data-original-title="" title="">
										OPCIONAL</a></td>
								<td>Segunda línea de la dirección de facturación del
									titular de la tarjeta asociada a la compra.</td>
							</tr><tr role="row" class="even">
								<td>Dirección de facturación (línea 3)</td>
								<td>billAddrLine3</td>
								<td>Longitud: Variable, máximo 50 / A-N</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Definido como Conditional por el estándar EMV 3DS, podría ser
									requerido según el
									emisor de la
									tarjeta. Altamente recomendado para permitir autenticaciones
									basadas en análisis del
									riesgo (Risk
									Based Analisys) y facilitar una experiencia de compra sin
									fricción (frictionless).
									Igualmente
									recomendable si se solicita la aplicación de exenciones SCA
									(PSD2)." data-original-title="" title="">
										OPCIONAL</a></td>
								<td>Tercera línea de la dirección de facturación del
									titular de la tarjeta asociada a la compra.</td>
							</tr><tr role="row" class="odd">
								<td>Código postal de la dirección de facturación</td>
								<td>billAddrPostCode</td>
								<td>Variable, máximo 16 / A-N</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Definido como Conditional por el estándar EMV 3DS, podría ser
									requerido según el
									emisor de la
									tarjeta. Altamente recomendado para permitir autenticaciones
									basadas en análisis del
									riesgo (Risk
									Based Analisys) y facilitar una experiencia de compra sin
									fricción (frictionless).
									Igualmente
									recomendable si se solicita la aplicación de exenciones SCA
									(PSD2)." data-original-title="" title="">
										OPCIONAL</a></td>
								<td>Código postal de la dirección de facturación del
									titular de la tarjeta asociada a la compra.</td>
							</tr><tr role="row" class="even">
								<td>Estado o provincia de la dirección de facturación</td>
								<td>billAddrState</td>
								<td>Variable, máximo 3 / A-N</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Definido como Conditional por el estándar EMV 3DS, podría ser
									requerido según el
									emisor de la
									tarjeta. Altamente recomendado para permitir autenticaciones
									basadas en análisis del
									riesgo (Risk
									Based Analisys) y facilitar una experiencia de compra sin
									fricción (frictionless).
									Igualmente
									recomendable si se solicita la aplicación de exenciones SCA
									(PSD2)." data-original-title="" title="">
										OPCIONAL</a></td>
								<td>El estado o provincia de la dirección de facturación
									del titular de la tarjeta asociada a esta compra.<br>Corresponde
									al código de subdivisión ISO 3166-2
								</td>
							</tr><tr role="row" class="odd">
								<td>Browser Accept Headers</td>
								<td>browserAcceptHeader</td>
								<td>Variable, máximo 2048 / A-N</td>
								<td>OBLIGATORIO</td>
								<td>HTTP accept headers enviado desde el navegador .</td>
							</tr><tr role="row" class="even">
								<td>Browser Screen Color Depth</td>
								<td>browserColorDepth</td>
								<td>1-2 /A-N</td>
								<td>OBLIGATORIO</td>
								<td>Valor que representa la profundidad de bits de la
									paleta de colores para mostrar imágenes, en bits por píxel.<br>Obtenido
									desde el navegador del titular de la tarjeta utilizando la
									propiedad screen.colorDepth.<br>Valores aceptados:<br>1
									= 1 bit<br>4 = 4 bits<br>8 = 8 bits<br>15 = 15
									bits<br>16 = 16 bit<br>24 = 24 bits<br>32 = 32
									bits<br>48 = 48 bits<br>Enviar 1 en el caso que no
									tenga habilitado javascript (versión 3DS2.1.0)
								</td>
							</tr><tr role="row" class="odd">
								<td>Browser IP Address</td>
								<td>browserIP</td>
								<td>Variable, máximo 45 / A-N</td>
								<td>OBLIGATORIO</td>
								<td>IP del navegador. Value accepted: IPv4 address Ejemplo:
									1.12.123.255 IPv6 address.
									Ejemplo:2011:0db8:85a3:0101:0101:8a2e:0370:7334</td>
							</tr><tr role="row" class="even">
								<td>Browser Java Enabled</td>
								<td>browserJavaEnabled</td>
								<td>Boolean</td>
								<td>OBLIGATORIO</td>
								<td>Indicador de capacidad del navegador de ejecutar Java
									Valores aceptados:
									<ul>
										<li>true</li>
										<li>false</li>
									</ul> Si no tiene habilitado javascript enviar false (versión
									3DS2.1.0)
								</td>
							</tr><tr role="row" class="odd">
								<td>Browser JavaScript Enabled</td>
								<td>browserJavascriptEnabled</td>
								<td>Boolean</td>
								<td>CONDICIONAL</td>
								<td>Indicador de capacidad del navegador de ejecutar
									Javascript Valores aceptados:
									<ul>
										<li>true</li>
										<li>false</li>
									</ul>.Si no tiene habilitado javascript enviar false (versión
									3DS2.1.0)
								</td>
							</tr><tr role="row" class="even">
								<td>Browser Language</td>
								<td>browserLanguage</td>
								<td>Variable, 1-8 / A-N</td>
								<td>OBLIGATORIO</td>
								<td>Idioma del navegador definido en IETF BCP47 . Es el
									valor retornado por la propiedad navigator.language</td>
							</tr><tr role="row" class="odd">
								<td>Browser Screen Height</td>
								<td>browserScreenHeight</td>
								<td>Variable, 1-6 / A-N</td>
								<td>OBLIGATORIO</td>
								<td>Altura total de la pantalla en píxeles<br>El valor
									se devuelve de la propiedad screen.height<br>Enviar 0 en
									el caso que no tenga habilitado javascript (versión 3Ds2.1.0)
								</td>
							</tr><tr role="row" class="even">
								<td>Browser Screen Width</td>
								<td>browserScreenWidth</td>
								<td>Variable, 1-6 / A-N</td>
								<td>OBLIGATORIO</td>
								<td>Ancho total de la pantalla en píxeles.<br>El valor
									se devuelve de la propiedad screen.width<br>Enviar 0 en el
									caso que no tenga habilitado javascript (version 3DS2.1.0)
								</td>
							</tr><tr role="row" class="odd">
								<td>Browser Time Zone</td>
								<td>browserTZ</td>
								<td>1-5 / A-N</td>
								<td>OBLIGATORIO</td>
								<td>Diferencia horaria entre la hora UTC y la hora local
									del navegador, en minutos<br>Value accepted:<br>Value
									is returned from the getTimezoneOffset() method<br>Enviar
									0 en el caso que no tenga habilitado javascript (version
									3DS2.1.0)
								</td>
							</tr><tr role="row" class="even">
								<td>Browser User-Agent</td>
								<td>browserUserAgent</td>
								<td>Variable, máximo 2048 / A-N</td>
								<td>OBLIGATORIO</td>
								<td>Http user-agent header<br>Si la longitud total del
									User-Agent enviado por el navegador supera los 2048 caracteres,
									el valor será truncado
								</td>
							</tr><tr role="row" class="odd">
								<td>Nombre del titular</td>
								<td>cardholderName</td>
								<td>Variable, 2-45 / A-N</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Definido como Conditional por el estándar EMV 3DS, podría ser
									requerido según el
									emisor de la
									tarjeta. Altamente recomendado para permitir autenticaciones
									basadas en análisis del
									riesgo (Risk
									Based Analisys) y facilitar una experiencia de compra sin
									fricción (frictionless).
									Igualmente
									recomendable si se solicita la aplicación de exenciones SCA
									(PSD2)." data-original-title="" title="">
										OPCIONAL</a></td>
								<td>Nombre del titular</td>
							</tr><tr role="row" class="even">
								<td>Tamaño de ventana del challenge</td>
								<td>challengeWindowSize</td>
								<td>2 / A-N</td>
								<td>OPCIONAL</td>
								<td>"Dimensión de ventana de challenge que el banco emisor
									presentará al cliente para realizar la autenticación<br>Valores
									posibles (tamaño en píxeles):<br>01 = 250 x 400<br>02
									= 390 x 400<br>03 = 500 x 600<br>04 = 600 x 400<br>05
									= Full screen (Valor por defecto<br>El tamaño
									precondigurado es el ancho x alto en píxeles de la ventana del
									navegador
								</td>
							</tr><tr role="row" class="odd">
								<td>Cres de respuesta del ACS al Challenge</td>
								<td>cres</td>
								<td>Variable length / JSON Data Type: String</td>
								<td>OPCIONAL</td>
								<td>Cres de respuesta del ACS, se deberá enviar de
									respuesta de la autenticación. <br>cres codificado
									Base64url<br>
								</td>
							</tr><tr role="row" class="even">
								<td>Dirección de correo electrónico del titular</td>
								<td>Email</td>
								<td>Variable, máximo 254 / A-N</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Definido como Conditional por el estándar EMV 3DS, podría ser
									requerido según el
									emisor de la
									tarjeta. Altamente recomendado para permitir autenticaciones
									basadas en análisis del
									riesgo (Risk
									Based Analisys) y facilitar una experiencia de compra sin
									fricción (frictionless).
									Igualmente
									recomendable si se solicita la aplicación de exenciones SCA
									(PSD2)." data-original-title="" title="">
										RECOMENDABLE</a></td>
								<td>La dirección de correo electrónico asociada con la
									cuenta del titular de la tarjeta.
									<br><br><b>***Se recomienda enviar este parámetro para mejorar la
									experiencia del usuario en el proceso de autenticación.</b></td>
							</tr><tr role="row" class="odd">
								<td>Número de teléfono del domicilio</td>
								<td>homePhone</td>
								<td>JSON Data Type: Object</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Definido como Conditional por el estándar EMV 3DS, podría ser
									requerido según el
									emisor de la
									tarjeta. Altamente recomendado para permitir autenticaciones
									basadas en análisis del
									riesgo (Risk
									Based Analisys) y facilitar una experiencia de compra sin
									fricción (frictionless).
									Igualmente
									recomendable si se solicita la aplicación de exenciones SCA
									(PSD2)." data-original-title="" title="">
										RECOMENDABLE</a></td>
								<td>Número de teléfono del domicilio del titular.
								<br><br><b>***Se recomienda enviar este parámetro para mejorar la
									experiencia del usuario en el proceso de autenticación.</b><br><br> Ver <a class="table-link" style="color: #dc7c26;" table-target="phoneTable">tabla Phone</a></td>
							</tr><tr role="row" class="even">
								<td>Indicador de riesgo del comerciante</td>
								<td>merchantRiskIndicator</td>
								<td>JSON Data Type: Object</td>
								<td>OPCIONAL</td>
								<td>Altamente recomendable el envío de esta información.
									Información adicional del comercio que representa la evaluación
									del nivel de riesgo de fraude para la autenticación. Ver tabla
									<a class="table-link" style="color: #dc7c26;" table-target="riskTable">merchantRiskIndicator</a>
								</td>
							</tr><tr role="row" class="odd">
								<td>Número de móvil del titular</td>
								<td>mobilePhone</td>
								<td>JSON Data Type: Object</td>
								<td><a data-toggle="popover" data-placement="top" data-content="Definido como Conditional por el estándar EMV 3DS, podría ser
									requerido según el
									emisor de la
									tarjeta. Altamente recomendado para permitir autenticaciones
									basadas en análisis del
									riesgo (Risk
									Based Analisys) y facilitar una experiencia de compra sin
									fricción (frictionless).
									Igualmente
									recomendable si se solicita la aplicación de exenciones SCA
									(PSD2)." data-original-title="" title="">
										OPCIONAL</a></td>
								<td>Número de teléfono móvil del titular. Ver tabla <a class="table-link" style="color: #dc7c26;" table-target="phoneTable">tabla Phone</a></td>
							</tr><tr role="row" class="even">
								<td>URL de notificación de respuesta del challenge</td>
								<td>notificationURL</td>
								<td>Variable, máximo 256 / A-N</td>
								<td>OBLIGATORIO</td>
								<td>Url del comercio que recibirá la notificación con el
									mensaje CRes al finaliza el challenge</td>
							</tr><tr role="row" class="odd">
								<td>Versión del protocolo 3DSecure</td>
								<td>protocolVersion</td>
								<td>Variable 5-8 / A-N</td>
								<td>OBLIGATORIO</td>
								<td>Versión de protocolo 3DSecure Valores posibles:
									<ul>
										<li>1.0.2</li>
										<li>2.1.0</li>
								
Download .txt
gitextract_diydpycr/

├── .github/
│   └── workflows/
│       └── ci.yml
├── .gitignore
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── composer.json
├── doc/
│   ├── Códigos de Respuesta.md
│   ├── Parámetros de entrada.html
│   ├── Tabla DS_MERCHANT_CONSUMERLANGUAGE.md
│   ├── Tabla DS_MERCHANT_CURRENCY.md
│   ├── Tabla DS_MERCHANT_PAYMETHODS.md
│   ├── Tabla DS_MERCHANT_TRANSACTIONTYPE.md
│   └── Tabla Ds_ProcessedPayMethod.md
├── phpunit.xml.dist
├── src/
│   ├── Redsys/
│   │   └── Merchant/
│   │       ├── MerchantCofTypes.php
│   │       ├── MerchantConsumerLanguages.php
│   │       ├── MerchantCurrencies.php
│   │       ├── MerchantEnvironment.php
│   │       ├── MerchantInsiteError.php
│   │       ├── MerchantInsiteLanguage.php
│   │       ├── MerchantInsiteStyle.php
│   │       ├── MerchantPaymethods.php
│   │       └── MerchantTransactionTypes.php
│   └── Sermepa/
│       └── Tpv/
│           ├── Tpv.php
│           └── TpvException.php
└── tests/
    ├── MerchantCofTypesTest.php
    ├── MerchantConsumerLanguagesTest.php
    ├── MerchantCurrenciesTest.php
    ├── MerchantEnvironmentTest.php
    ├── MerchantPaymethodsTest.php
    ├── MerchantTransactionTypesTest.php
    ├── TpvResponseTest.php
    └── TpvTest.php
Download .txt
SYMBOL INDEX (192 symbols across 19 files)

FILE: src/Redsys/Merchant/MerchantCofTypes.php
  class MerchantCofTypes (line 8) | class MerchantCofTypes {
    method isValid (line 18) | public static function isValid (string $value) : bool {

FILE: src/Redsys/Merchant/MerchantConsumerLanguages.php
  class MerchantConsumerLanguages (line 8) | class MerchantConsumerLanguages {
    method isValid (line 42) | public static function isValid (int $value) : bool {

FILE: src/Redsys/Merchant/MerchantCurrencies.php
  class MerchantCurrencies (line 8) | class MerchantCurrencies {
    method isValid (line 178) | public static function isValid (string $value) : bool {

FILE: src/Redsys/Merchant/MerchantEnvironment.php
  class MerchantEnvironment (line 8) | class MerchantEnvironment {
    method isValid (line 28) | public static function isValid (string $value) : bool {

FILE: src/Redsys/Merchant/MerchantInsiteError.php
  class MerchantInsiteError (line 13) | class MerchantInsiteError
    method getDescription (line 64) | public static function getDescription(string $code): string

FILE: src/Redsys/Merchant/MerchantInsiteLanguage.php
  class MerchantInsiteLanguage (line 13) | class MerchantInsiteLanguage
    method isValid (line 93) | public static function isValid(string $value): bool
    method getAll (line 103) | public static function getAll(): array

FILE: src/Redsys/Merchant/MerchantInsiteStyle.php
  class MerchantInsiteStyle (line 13) | class MerchantInsiteStyle
    method isValid (line 25) | public static function isValid(string $value): bool

FILE: src/Redsys/Merchant/MerchantPaymethods.php
  class MerchantPaymethods (line 8) | class MerchantPaymethods {
    method isValid (line 18) | public static function isValid (string $value) : bool {

FILE: src/Redsys/Merchant/MerchantTransactionTypes.php
  class MerchantTransactionTypes (line 8) | class MerchantTransactionTypes {
    method isValid (line 26) | public static function isValid (int $value) : bool {

FILE: src/Sermepa/Tpv/Tpv.php
  class Tpv (line 10) | class Tpv
    method __construct (line 35) | public function __construct()
    method setIdentifier (line 63) | public function setIdentifier($value = 'REQUIRED')
    method setMerchantDirectPayment (line 80) | public function setMerchantDirectPayment($flat = false)
    method setAmount (line 99) | public function setAmount($amount)
    method setSumtotal (line 121) | public function setSumtotal($sumTotal)
    method setChargeExpiryDate (line 144) | public function setChargeExpiryDate($date)
    method setDateFrecuency (line 163) | public function setDateFrecuency($dateFrecuency)
    method setOrder (line 184) | public function setOrder($order='')
    method getOrder (line 201) | public function getOrder()
    method getOrderNotification (line 213) | public function getOrderNotification($parameters)
    method setMerchantcode (line 233) | public function setMerchantcode($fuc='')
    method setCurrency (line 252) | public function setCurrency($currency = 978)
    method setTransactiontype (line 271) | public function setTransactiontype($transaction = 0)
    method setTerminal (line 290) | public function setTerminal($terminal = 1)
    method setNotification (line 307) | public function setNotification($url = '')
    method setUrlOk (line 320) | public function setUrlOk($url = '')
    method setUrlKo (line 333) | public function setUrlKo($url = '')
    method setVersion (line 345) | public function setVersion($version = '')
    method generateMerchantParameters (line 360) | public function generateMerchantParameters()
    method generateMerchantSignature (line 376) | public function generateMerchantSignature($key)
    method generateMerchantSignatureNotification (line 398) | public function generateMerchantSignatureNotification($key, $data)
    method setMerchantSignature (line 420) | public function setMerchantSignature($signature)
    method setEnvironment (line 435) | public function setEnvironment($environment = 'test')
    method setEnviroment (line 485) | public function setEnviroment($environment = 'test')
    method setLanguage (line 502) | public function setLanguage($languageCode = '001')
    method getEnviroment (line 518) | public function getEnviroment()
    method getEnvironment (line 528) | public function getEnvironment()
    method getJsPath (line 540) | public static function getJsPath($environment = 'test', $version = '2'){
    method setMerchantData (line 572) | public function setMerchantData($merchantdata='')
    method setProductDescription (line 591) | public function setProductDescription($description = '')
    method setTitular (line 610) | public function setTitular($titular = '')
    method setTradeName (line 629) | public function setTradeName($tradename = '')
    method setMethod (line 657) | public function setMethod($method = 'C')
    method setPan (line 680) | public function setPan($pan=0)
    method setExpiryDate (line 700) | public function setExpiryDate($expirydate='')
    method setParameters (line 718) | public function setParameters($parameters=[])
    method setCVV2 (line 743) | public function setCVV2($cvv2=0)
    method setNameForm (line 760) | public function setNameForm($name = 'servired_form')
    method getNameForm (line 772) | public function getNameForm()
    method setIdForm (line 783) | public function setIdForm($id = 'servired_form')
    method setAttributesSubmit (line 800) | public function setAttributesSubmit(
    method executeRedirection (line 821) | public function executeRedirection($return = false)
    method createForm (line 840) | public function createForm()
    method send (line 857) | public function send()
    method check (line 902) | public function check($key, $postData)
    method getMerchantParameters (line 922) | public function getMerchantParameters($parameters)
    method getParameters (line 934) | public function getParameters()
    method getVersion (line 944) | public function getVersion()
    method getMerchantSignature (line 954) | public function getMerchantSignature()
    method setMerchantCofIni (line 971) | public function setMerchantCofIni($value)
    method setMerchantCofType (line 994) | public function setMerchantCofType($value)
    method setMerchantCofTxnid (line 1015) | public function setMerchantCofTxnid($txid)
    method createOrderNumber (line 1031) | function createOrderNumber($length = 12)
    method arrayToJson (line 1074) | protected function arrayToJson($data)
    method JsonToArray (line 1086) | protected function JsonToArray($data)
    method hmac256 (line 1099) | protected function hmac256($data, $key)
    method encrypt_3DES (line 1112) | protected function encrypt_3DES($data, $key)
    method decodeParameters (line 1129) | protected function decodeParameters($data)
    method isEmpty (line 1139) | protected function isEmpty($value)
    method isExpiryDate (line 1154) | protected function isExpiryDate($expirydate='')
    method isValidOrder (line 1165) | protected function isValidOrder($order='')
    method convertNumber (line 1176) | protected function convertNumber($price)
    method isValidDate (line 1181) | protected function isValidDate($date)
    method base64_url_encode (line 1194) | protected function base64_url_encode($input)
    method encodeBase64 (line 1204) | protected function encodeBase64($data)
    method base64_url_decode (line 1214) | protected function base64_url_decode($input)
    method decodeBase64 (line 1224) | protected function decodeBase64($data)
    method setInSite (line 1240) | public function setInSite(bool $enabled = true)
    method getInSiteMode (line 1252) | public function getInSiteMode(): bool
    method getInSiteJsUrl (line 1262) | public function getInSiteJsUrl(): string
    method createInSiteForm (line 1286) | public function createInSiteForm(
    method createInSiteFormJSON (line 1383) | public function createInSiteFormJSON(array $options): string
    method sendInSite (line 1475) | public function sendInSite(string $idOper, string $key): string

FILE: src/Sermepa/Tpv/TpvException.php
  class TpvException (line 5) | class TpvException extends \Exception

FILE: tests/MerchantCofTypesTest.php
  class MerchantCofTypesTest (line 8) | class MerchantCofTypesTest extends PHPUnitTestCase {
    method testCodeIsValid (line 9) | public function testCodeIsValid () {
    method testCodeNotValid (line 13) | public function testCodeNotValid () {

FILE: tests/MerchantConsumerLanguagesTest.php
  class MerchantConsumerLanguagesTest (line 8) | class MerchantConsumerLanguagesTest extends PHPUnitTestCase {
    method testCodeIsValid (line 9) | public function testCodeIsValid () {
    method testCodeNotValid (line 13) | public function testCodeNotValid () {

FILE: tests/MerchantCurrenciesTest.php
  class MerchantCurrenciesTest (line 8) | class MerchantCurrenciesTest extends PHPUnitTestCase {
    method testCodeIsValid (line 9) | public function testCodeIsValid () {
    method testCodeNotValid (line 13) | public function testCodeNotValid () {

FILE: tests/MerchantEnvironmentTest.php
  class MerchantEnvironmentTest (line 8) | class MerchantEnvironmentTest extends PHPUnitTestCase {
    method testCodeIsValid (line 9) | public function testCodeIsValid () {
    method testCodeNotValid (line 13) | public function testCodeNotValid () {

FILE: tests/MerchantPaymethodsTest.php
  class MerchantPaymethodsTest (line 8) | class MerchantPaymethodsTest extends PHPUnitTestCase {
    method testCodeIsValid (line 9) | public function testCodeIsValid () {
    method testCodeNotValid (line 13) | public function testCodeNotValid () {

FILE: tests/MerchantTransactionTypesTest.php
  class MerchantTransactionTypesTest (line 8) | class MerchantTransactionTypesTest extends PHPUnitTestCase {
    method testCodeIsValid (line 9) | public function testCodeIsValid () {
    method testCodeNotValid (line 13) | public function testCodeNotValid () {

FILE: tests/TpvResponseTest.php
  class TpvResponseTest (line 10) | class TpvResponseTest extends TestCase
    method test_response_error_code (line 13) | public function test_response_error_code()
    method test_successful_response (line 44) | public function test_successful_response()

FILE: tests/TpvTest.php
  class TpvTest (line 10) | class TpvTest extends PHPUnitTestCase
    method setUp (line 16) | protected function setUp(): void
    method emptyValuesProvider (line 28) | public function emptyValuesProvider()
    method isEmpty_should_handle_empty_values (line 43) | public function isEmpty_should_handle_empty_values($value)
    method nonEmptyValuesProvider (line 54) | public function nonEmptyValuesProvider()
    method isEmpty_returns_false_for_non_empty_values (line 70) | public function isEmpty_returns_false_for_non_empty_values($value)
    method identifier_by_default_required (line 77) | public function identifier_by_default_required()
    method booleanProvider (line 86) | public function booleanProvider()
    method merchant_direct_payment_return_false_or_true (line 98) | public function merchant_direct_payment_return_false_or_true($boolean)
    method amountProvider (line 106) | public function amountProvider()
    method amount_is_valid (line 123) | public function amount_is_valid($correctAmount, $amount)
    method sum_total_is_valid (line 136) | public function sum_total_is_valid($correctAmount, $amount)
    method throw_sum_total_is_invalid_number (line 147) | public function throw_sum_total_is_invalid_number()
    method dateFrecuencyProvider (line 156) | public function dateFrecuencyProvider()
    method date_frecuency_is_valid (line 170) | public function date_frecuency_is_valid($dateFrecuency)
    method invalidDateFrecuencyProvider (line 179) | public function invalidDateFrecuencyProvider()
    method throw_date_frecuency_is_invalid (line 194) | public function throw_date_frecuency_is_invalid($dateFrecuency)
    method charge_expiry_date_is_valid (line 205) | public function charge_expiry_date_is_valid()
    method invalidChargeExpiryDateProvider (line 214) | public function invalidChargeExpiryDateProvider()
    method throw_charge_expiry_date_is_invalid (line 231) | public function throw_charge_expiry_date_is_invalid($date)
    method invalidOrderNumberProvider (line 240) | public function invalidOrderNumberProvider()
    method throw_when_order_is_invalid (line 259) | public function throw_when_order_is_invalid($orderNumber)
    method orderNumberProvider (line 267) | public function orderNumberProvider()
    method should_validate_an_order_number (line 286) | public function should_validate_an_order_number($order)
    method throw_merchant_code_is_empty (line 297) | public function throw_merchant_code_is_empty()
    method throw_currency_is_not_supported (line 308) | public function throw_currency_is_not_supported()
    method throw_transaction_type_is_empty (line 319) | public function throw_transaction_type_is_empty()
    method throw_terminal_is_invalid_number (line 331) | public function throw_terminal_is_invalid_number()
    method throw_environment_is_not_test_or_live (line 342) | public function throw_environment_is_not_test_or_live()
    method SearchingFormProvider (line 350) | public function SearchingFormProvider()
    method check_if_form_create_inputs_with_parameters (line 364) | public function check_if_form_create_inputs_with_parameters($search)
    method when_set_all_parameters_should_obtain_all_ds_merchant_valid (line 375) | public function when_set_all_parameters_should_obtain_all_ds_merchant_...
    method throw_version_is_empty (line 408) | public function throw_version_is_empty()
    method urlTpvProvider (line 417) | public function urlTpvProvider()
    method check_if_url_of_tpv_is_test_or_live (line 433) | public function check_if_url_of_tpv_is_test_or_live($environment, $url)
    method force_to_send_the_form_with_javascript (line 444) | public function force_to_send_the_form_with_javascript()
    method throw_merchant_data_is_empty (line 458) | public function throw_merchant_data_is_empty()
    method throw_product_description_is_empty (line 469) | public function throw_product_description_is_empty()
    method throw_titular_is_empty (line 480) | public function throw_titular_is_empty()
    method throw_trade_name_is_empty (line 491) | public function throw_trade_name_is_empty()
    method throw_pan_is_invalid (line 502) | public function throw_pan_is_invalid()
    method invalidExpiryDateProvider (line 510) | public function invalidExpiryDateProvider()
    method throw_expiry_date_is_invalid (line 528) | public function throw_expiry_date_is_invalid($expiry_date)
    method expiry_date_is_number_and_has_four_characters (line 539) | public function expiry_date_is_number_and_has_four_characters()
    method throw_cvv2_is_invalid (line 550) | public function throw_cvv2_is_invalid()
    method invalidParameters (line 559) | public function invalidParameters()
    method throw_parameters_is_not_an_array (line 577) | public function throw_parameters_is_not_an_array($parameters)
    method set_new_parameters (line 591) | public function set_new_parameters()
    method invalidSetMethod (line 601) | public function invalidSetMethod()
    method throw_when_set_method_is_invalid (line 617) | public function throw_when_set_method_is_invalid($method)
    method methodsProvider (line 625) | public function methodsProvider()
    method should_validate_a_method (line 644) | public function should_validate_a_method($method)
    method jsPathProvider (line 652) | public function jsPathProvider()
    method should_return_the_correct_js_path (line 666) | public function should_return_the_correct_js_path($environment, $versi...
    method invalidEnvironmentVersionPathJs (line 674) | public function invalidEnvironmentVersionPathJs()
    method throw_when_set_environment_or_version_is_invalid (line 694) | public function throw_when_set_environment_or_version_is_invalid($envi...
    method cofIniProvider (line 702) | public function cofIniProvider()
    method test_should_validate_a_merchant_cof_ini (line 714) | public function test_should_validate_a_merchant_cof_ini($cofIni)
    method invalidSetMerchantCofIni (line 723) | public function invalidSetMerchantCofIni()
    method throw_when_set_method_merchnant_cof_ini_is_invalid (line 739) | public function throw_when_set_method_merchnant_cof_ini_is_invalid($co...
    method orderNumberLengthsProvider (line 752) | public function orderNumberLengthsProvider()
    method createOrderNumber_generates_valid_order_number (line 767) | public function createOrderNumber_generates_valid_order_number($length)
    method invalidOrderNumberInputsProvider (line 786) | public function invalidOrderNumberInputsProvider()
    method createOrderNumber_throws_exception_for_invalid_input (line 809) | public function createOrderNumber_throws_exception_for_invalid_input($...
    method insiteEnvironmentsProvider (line 824) | public function insiteEnvironmentsProvider()
    method setEnvironment_insite_configures_correct_urls (line 854) | public function setEnvironment_insite_configures_correct_urls($env, $e...
    method setInSite_enables_insite_mode (line 866) | public function setInSite_enables_insite_mode()
    method createInSiteForm_generates_html_with_script_tag (line 881) | public function createInSiteForm_generates_html_with_script_tag()
    method createInSiteForm_generates_div_with_container_id (line 902) | public function createInSiteForm_generates_div_with_container_id()
    method createInSiteForm_includes_all_parameters (line 918) | public function createInSiteForm_includes_all_parameters()
    method insiteRequiredParamsProvider (line 955) | public function insiteRequiredParamsProvider()
    method createInSiteForm_throws_exception_without_required_params (line 977) | public function createInSiteForm_throws_exception_without_required_par...
    method createInSiteFormJSON_generates_html_with_json_config (line 1001) | public function createInSiteFormJSON_generates_html_with_json_config()
    method createInSiteFormJSON_throws_exception_without_fuc (line 1026) | public function createInSiteFormJSON_throws_exception_without_fuc()
    method sendInSite_throws_exception_with_empty_idoper (line 1042) | public function sendInSite_throws_exception_with_empty_idoper()
    method getInSiteJsUrl_returns_js_url (line 1061) | public function getInSiteJsUrl_returns_js_url()
    method getInSiteJsUrl_returns_empty_when_not_set (line 1072) | public function getInSiteJsUrl_returns_empty_when_not_set()
Condensed preview — 33 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (395K chars).
[
  {
    "path": ".github/workflows/ci.yml",
    "chars": 1383,
    "preview": "name: Run Tests\non:\n    push:\n        branches:\n            - master\n            - develop\n    workflow_dispatch:\n\njobs:"
  },
  {
    "path": ".gitignore",
    "chars": 272,
    "preview": "# OS generated files #\n######################\n.DS_Store\n.DS_Store?\n._*\n.Spotlight-V100\n.Trashes\nehthumbs.db\nThumbs.db\n\n."
  },
  {
    "path": "CHANGELOG.md",
    "chars": 8380,
    "preview": "# Changelog\n\nAll Notable changes to `Redsys` will be documented in this file\n\n## Version 1.6.0 (2026-03-08)\n\n### Added\n\n"
  },
  {
    "path": "LICENSE.md",
    "chars": 1108,
    "preview": "# The MIT License (MIT)\n\nCopyright (c) 2015 Eduardo\n\n> Permission is hereby granted, free of charge, to any person obtai"
  },
  {
    "path": "README.md",
    "chars": 24028,
    "preview": "# Redsys - Biblioteca PHP para Pasarela de Pagos\n\n[![Latest Version on Packagist][ico-version]][link-packagist]\n[![Softw"
  },
  {
    "path": "composer.json",
    "chars": 705,
    "preview": "{\n  \"name\": \"sermepa/sermepa\",\n  \"description\": \"Pasarela de pago Redsys, Sermepa\",\n  \"version\": \"1.5.3\",\n  \"keywords\": "
  },
  {
    "path": "doc/Códigos de Respuesta.md",
    "chars": 59357,
    "preview": "# CÓDIGOS DE RESPUESTA\nhttps://pagosonline.redsys.es/codigosRespuesta.html\n\nEn este apartado se presenta un glosario de "
  },
  {
    "path": "doc/Parámetros de entrada.html",
    "chars": 146570,
    "preview": "\n\n\n\n\t\t\t\t\t<!-- \t*****************************\n        *****************************\n \t       TABLA PARÁMETROS ENTRADA\n \t "
  },
  {
    "path": "doc/Tabla DS_MERCHANT_CONSUMERLANGUAGE.md",
    "chars": 892,
    "preview": "# Tabla DS_MERCHANT_CONSUMERLANGUAGE\n| CÓDIGO ISO | IDIOMA |\n|------------|-|\n| 0 | Por defecto - Español |\n| 1 | Españo"
  },
  {
    "path": "doc/Tabla DS_MERCHANT_CURRENCY.md",
    "chars": 5959,
    "preview": "# Tabla DS_MERCHANT_CURRENCY\n| CÓDIGO ISO | MONEDA |\n|------------|-|\n| 840 | DOLAR U.S.A. USD |\n| 826 | POUND STERLING "
  },
  {
    "path": "doc/Tabla DS_MERCHANT_PAYMETHODS.md",
    "chars": 470,
    "preview": "# Tabla DS_MERCHANT_PAYMETHODS\n\n| FORMA DE PAGO | DS_MERCHANT_PAYMETHODS | DS_MERCHANT_TRANSACTIONTYPE | COMENTARIOS |\n|"
  },
  {
    "path": "doc/Tabla DS_MERCHANT_TRANSACTIONTYPE.md",
    "chars": 1540,
    "preview": "# Tabla DS_MERCHANT_TRANSACTIONTYPE\n|                TIPO DE OPERACIÓN               | DS_MERCHANT_TRANSACTIONSTYPE | EN"
  },
  {
    "path": "doc/Tabla Ds_ProcessedPayMethod.md",
    "chars": 1400,
    "preview": "# Tabla Ds_ProcessedPayMethod\n\nInforma sobre el método en el que se ha realizado la operación:\n\nhttps://pagosonline.reds"
  },
  {
    "path": "phpunit.xml.dist",
    "chars": 550,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- https://phpunit.de/manual/current/en/appendixes.configuration.html -->\n<phpu"
  },
  {
    "path": "src/Redsys/Merchant/MerchantCofTypes.php",
    "chars": 535,
    "preview": "<?php\n  declare(strict_types=1);\n\n\tnamespace Redsys\\Merchant;\n\n\tuse ReflectionClass;\n\n\tclass MerchantCofTypes {\n    publ"
  },
  {
    "path": "src/Redsys/Merchant/MerchantConsumerLanguages.php",
    "chars": 1843,
    "preview": "<?php\n  declare(strict_types=1);\n\n\tnamespace Redsys\\Merchant;\n\n\tuse ReflectionClass;\n\n\tclass MerchantConsumerLanguages {"
  },
  {
    "path": "src/Redsys/Merchant/MerchantCurrencies.php",
    "chars": 7803,
    "preview": "<?php\n  declare(strict_types=1);\n\n\tnamespace Redsys\\Merchant;\n\n\tuse ReflectionClass;\n\n\tclass MerchantCurrencies {\n\t\tpubl"
  },
  {
    "path": "src/Redsys/Merchant/MerchantEnvironment.php",
    "chars": 1066,
    "preview": "<?php\n  declare(strict_types=1);\n\n\tnamespace Redsys\\Merchant;\n\n\tuse ReflectionClass;\n\n\tclass MerchantEnvironment {\n\t\tpub"
  },
  {
    "path": "src/Redsys/Merchant/MerchantInsiteError.php",
    "chars": 3436,
    "preview": "<?php\ndeclare(strict_types=1);\n\nnamespace Redsys\\Merchant;\n\nuse ReflectionClass;\n\n/**\n * InSite Error codes for Redsys p"
  },
  {
    "path": "src/Redsys/Merchant/MerchantInsiteLanguage.php",
    "chars": 3023,
    "preview": "<?php\ndeclare(strict_types=1);\n\nnamespace Redsys\\Merchant;\n\nuse ReflectionClass;\n\n/**\n * InSite Language codes for Redsy"
  },
  {
    "path": "src/Redsys/Merchant/MerchantInsiteStyle.php",
    "chars": 563,
    "preview": "<?php\ndeclare(strict_types=1);\n\nnamespace Redsys\\Merchant;\n\nuse ReflectionClass;\n\n/**\n * InSite Style constants for Reds"
  },
  {
    "path": "src/Redsys/Merchant/MerchantPaymethods.php",
    "chars": 505,
    "preview": "<?php\n  declare(strict_types=1);\n\n\tnamespace Redsys\\Merchant;\n\n\tuse ReflectionClass;\n\n\tclass MerchantPaymethods {\n\t\tpubl"
  },
  {
    "path": "src/Redsys/Merchant/MerchantTransactionTypes.php",
    "chars": 1760,
    "preview": "<?php\n  declare(strict_types=1);\n\n\tnamespace Redsys\\Merchant;\n\n\tuse ReflectionClass;\n\n\tclass MerchantTransactionTypes {\n"
  },
  {
    "path": "src/Sermepa/Tpv/Tpv.php",
    "chars": 40865,
    "preview": "<?php\n\nnamespace Sermepa\\Tpv;\n\nuse Exception;\n\n/**\n * Class Sermepa\n */\nclass Tpv\n{\n    CONST TIMEOUT = 10;\n    CONST RE"
  },
  {
    "path": "src/Sermepa/Tpv/TpvException.php",
    "chars": 73,
    "preview": "<?php\n\nnamespace Sermepa\\Tpv;\n\nclass TpvException extends \\Exception\n{\n}\n"
  },
  {
    "path": "tests/MerchantCofTypesTest.php",
    "chars": 410,
    "preview": "<?php\r\n  declare(strict_types=1);\r\n\r\n\tnamespace Redsys\\Merchant;\r\n\r\n\tuse PHPUnit\\Framework\\TestCase as PHPUnitTestCase;\r"
  },
  {
    "path": "tests/MerchantConsumerLanguagesTest.php",
    "chars": 436,
    "preview": "<?php\r\n  declare(strict_types=1);\r\n\r\n\tnamespace Redsys\\Merchant;\r\n\r\n\tuse PHPUnit\\Framework\\TestCase as PHPUnitTestCase;\r"
  },
  {
    "path": "tests/MerchantCurrenciesTest.php",
    "chars": 416,
    "preview": "<?php\r\n  declare(strict_types=1);\r\n\r\n\tnamespace Redsys\\Merchant;\r\n\r\n\tuse PHPUnit\\Framework\\TestCase as PHPUnitTestCase;\r"
  },
  {
    "path": "tests/MerchantEnvironmentTest.php",
    "chars": 421,
    "preview": "<?php\r\n  declare(strict_types=1);\r\n\r\n\tnamespace Redsys\\Merchant;\r\n\r\n\tuse PHPUnit\\Framework\\TestCase as PHPUnitTestCase;\r"
  },
  {
    "path": "tests/MerchantPaymethodsTest.php",
    "chars": 420,
    "preview": "<?php\r\n  declare(strict_types=1);\r\n\r\n\tnamespace Redsys\\Merchant;\r\n\r\n\tuse PHPUnit\\Framework\\TestCase as PHPUnitTestCase;\r"
  },
  {
    "path": "tests/MerchantTransactionTypesTest.php",
    "chars": 442,
    "preview": "<?php\r\n  declare(strict_types=1);\r\n\r\n\tnamespace Redsys\\Merchant;\r\n\r\n\tuse PHPUnit\\Framework\\TestCase as PHPUnitTestCase;\r"
  },
  {
    "path": "tests/TpvResponseTest.php",
    "chars": 2514,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Sermepa\\Tpv;\n\nuse PHPUnit\\Framework\\TestCase;\nuse Sermepa\\Tpv\\Tpv;\n\nclass Tpv"
  },
  {
    "path": "tests/TpvTest.php",
    "chars": 29730,
    "preview": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Sermepa\\Tpv;\n\nuse ReflectionClass;\nuse PHPUnit\\Framework\\TestCase as PHPUnitT"
  }
]

About this extraction

This page contains the full source code of the ssheduardo/sermepa GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 33 files (340.7 KB), approximately 103.1k tokens, and a symbol index with 192 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!