---
title: "API WooCommerce Redsys Gateway"
description: "El plugin premium de Redsys que podéis encontrar en WooCommerce.com , incorpora una API propia que la podéis utilizar desde cualquier otro plugin o tema para WordPress. Esto facilita la vida a los des..."
url: https://plugins.joseconti.com/api-woocommerce-redsys-gateway/
date: 2020-04-24
modified: 2024-07-31
author: "jconti"
image: https://plugins.joseconti.com/wp-content/uploads/2020/04/API-WooCommerce-Redsys-Gateway.png
type: page
lang: es
---

# API WooCommerce Redsys Gateway

El plugin premium de Redsys que podéis encontrar en [WooCommerce.com](https://plugins.joseconti.com/product/plugin-woocommerce-redsys-gateway/), incorpora una API propia que la podéis utilizar desde cualquier otro plugin o tema para WordPress. Esto facilita la vida a los desarrolladores y les da herramientas para que puedan exprimir sus ideas basándose en el plugin premium y Redsys.

La función mágica creada, es **WCRed()** y a través de ella se puede conseguir mucha información, y que irá aumentando en las nuevas versiones.

```php
WCRed()->get_order( $order_id );
```

Se utiliza para conseguir $order

```php
WCRed()->get_ds_error();
```

Devuelve un Array() con todos los errores DS y lo que son.

```php
WCRed()->get_ds_response();
```

Devuelve un Array() con todas los códigos de respuesta DS y lo que significan.

```php
WCRed()->get_msg_error();
```

Devuelve un Array() con todos los errores msg y lo que significan.

```php
WCRed()->is_ds_error( $error_code = null );
```

Se debe pasar el error, y te devuelve true o false dependiendo si es un error DS o no lo es.

```php
WCRed()->is_ds_response( $error_code = null );
```

Se debe pasar el mensaje, y te devuelve true o false dependiendo si es una respuesta DS o no lo es.

```php
WCRed()->is_msg_error( $error_code = null );
```

Se debe pasar el msg, y te devuelve true o false dependiendo si es un error msg o no lo es.

```php
WCRed()->get_msg_error_by_code( $error_code = null );
```

Se debe pasar el mensaje, y te devuelve lo que significa si es un error msg. Si no lo es, devuelve false.

```php
WCRed()->get_error_by_code( $error_code = null );
```

Se debe pasar el error DS, y te devuelve lo que significa si es un error DS. Si no lo es, devuelve false.

```php
WCRed()->get_response_by_code( $error_code = null );
```

Se debe pasar la respuesta DS, y te devuelve lo que significa si es un mensaje DS. Si no lo es, devuelve false.

```php
WCRed()->is_redsys_error( $error_code = null );
```

Se pasa el error o rspuesta, y te devuelve true o false dependiendo si es un error de Redsys o no lo es.

```php
WCRed()->get_error( $error_code = null );
```

Se le pasa el error DS, el error msg o la respuesta DS, y te devuelve lo que significa. No hace falta specificar que es. Si no es nada de lo anterior, devuelve false.

```php
WCRed()->get_error_type( $error_code = null );
```

Se pasa el error, y devuelve el tipo que es:

- ds_error
- ds_response
- msg_error

```php
WCRed()->get_currencies();
```

Devuelve un Array() con todas las monedas de Redsys y sus códigos.

```php
WCRed()->allowed_currencies();
```

Devuelve un Array() con las monedas permitidas en Redsys. Que estén permitidas, no quiere decir que estén activas en el terminal.

```php
WCRed()->get_redsys_languages();
```

Devuelve una array con los idiomas y si código. Los idiomas no son código, es decir, por ejemplo en el Array() está Español, English – Inglés, Català, Français – Frances, y cada uno relacionado con su código en Redsys.

```php
WCRed()->get_redsys_wp_languages();
```

Devuelve un Array() con con todos los códigos de idiomas de WordPress, relacionados con el código en Redsys.

```php
WCRed()->get_orders_type();
```

Devuelve un Array() con las diferentes formas de pago de Redsys posibles mediante el plugin.

```php
WCRed()->get_lang_code( $lang = 'en' );
```

Se le pasa el código de idiomas, y devuelve el código de este en Redsys. Se le puede pasar tanto código estandarizado (es, fr, en, etc), cómo código de WordPress (es_ES, ca, en_US, en, en_GB).

Si el idioma no existe en Redsys, devolverá siempre «2», que es el código para el inglés.

```php
WCRed()->order_exist( $order_id );
```

Se le pasa el ID del pedido, y te dice si existe el pedido devuelve true o false.

```php
WCRed()->post_exist( $post_id );
```

Se le pasa el ID del $POST, y te dice si existe. Ojo, puede ser cualquier Post, Post Type o Custom Post Type, solo te dice si existe.

```php
WCRed()->is_redsys_order( $order_id, $type = null );
```

Se le puede pasar un parámetro, o dos. Si se le pasa solo el primer parámetro (el ID del pedido), te dirá si el pedido se ha realizado mediante Redsys en cualquiera de las formas de pago que añade el plugin devolviendo true o false. Si se pasa junto al segundo parámetro, responderá true o false, dependiendo se se ha realizado el pago mediante este tipo de de pago específico.

Los valores posibles para $type son:

- redsys
- masterpass
- redsysbank
- bizumredsys
- iupay
- insite
- redsyspreauthorizations

```php
WCRed()->get_gateway( $order_id );
```

Se le pasa el ID del pedido, y te devuelve el ID de la pasarela con la que se ha pagado. Si el ID de pedido no existe, devuelve false.

```php
WCRed()->get_order_date( $order_id );
```

Se le pasa el ID del pedido, y devuelve la fecha de pago en Redsys. Si no hay fecha, o no es un pago de Redsys, devuelve false.

```php
WCRed()->get_order_hour( $order_id );
```

Se le pasa el ID del pedido, y devuelve la la hora de pago en Redsys. Si no hay hora, o no es un pago de Redsys, devuelve false.

```php
WCRed()->get_order_auth( $order_id );
```

Se le pasa el ID del pedido, y devuelve la código de autentificación del pago en Redsys. Si no hay código, o no es un pago de Redsys, devuelve false.

```php
WCRed()->get_status_pending();
```

Devuelve un Array() con los estados posibles de pendiente de pago que añade el plugin de Redsys y WooCommerce

```php
apply_filters( 'redsys_status_pending', $status );
```

Este filtro que se encuentra dentro de **WCRed()->get_status_pending()** sirve para que se puedan añadir fácilmente más estado si fuera necesario y que la función **WCRed()->get_status_pending()** devuelva los estados pendientes correctos.

```php
WCRed()->is_paid( $order_id );
```

Se le pasa el ID del pedido, y te dice si está pagado o no lo está.

```php
WCRed()->get_redsys_option( $option, $gateway );
```

Se le debe pasar la opción que se quiere saber, y el ID de la pasarela (se la que sea). Devuelve el valor de la opción.

```php
WCRed()->is_gateway_enabled( $gateway );
```

Se le pasa el ID de la pasarela, y devuelve true o false dependiendo si existe y está activada o no.

```php
WCRed()->check_if_token_is_valid( $token_id );
```

Comprueba si un token con el ID $token_id es valido (comprueba la fecha de caducidad de la tarjeta). Si es válido devuelve «true», si no es válido (fecha caducada), lo elimina y devuelve false.

```php
WCRed()->get_redsys_users_token();
```

Devuelve el token de Redsys del usuario identificado en el sitio.

```php
WCRed()->get_users_token_bulk( $user_id );
```

Devuelve el token de un usuario por ID. Se le debe pasar el valor $user_id.

```php
WCRed()->prepare_order_number( $order_id );
```

Prepara el número de pedido para ser enviado a Redsys.

```php
WCRed()->clean_order_number( $ordernumber );
```

Convierte el número de pedido enviado a Redsys al número de WooCommerce.

```php
WCRed()->redsys_amount_format( $total );
```

Convierte el total a pagar en formato de Redsys.

```php
WCRed()->set_txnid( $token_num, $redsys_txnid );
```

Guarda el código TXNID. Se le debe pasar el token al que lo queremos relacionar y el TXNID.

```php
WCRed()->get_txnid( $token_num );
```

Recupera el código TXNID, se le deben pasar el token del cual queremos recuperarlo.
