El plugin premium de Redsys que podeu trobar a WooCommerce.com, incorpora una API pròpia que podeu utilitzar des de qualsevol altre plugin o tema per WordPress. Això facilita la vida als desenvolupadors i els dóna eines perquè puguin exprimi les seves idees basant-se en el plugin premium i Redsys.
La funció màgica creada és WCRed() i a través d’ella es pot aconseguir molta informació, i que anirà augmentant en les noves versions.
WCRed()->get_order( $order_id );Es fa servir per aconseguir $order
WCRed()->get_ds_error();Retorna un Array() amb tots els errors DS i el que són.
WCRed()->get_ds_response();Retorna un Array() amb tots els codis de resposta DS i el que signifiquen.
WCRed()->get_msg_error();Retorna un Array() amb tots els errors msg i el que signifiquen.
WCRed()->is_ds_error( $error_code = null );Cal passar l’error, i et retorna true o false depenent si és un error DS o no ho és.
WCRed()->is_ds_response( $error_code = null );Cal passar el missatge, i et retorna true o false depenent si és una resposta DS o no ho és.
WCRed()->is_msg_error( $error_code = null );Cal passar el msg, i et retorna true o false depenent si és un error msg o no ho és.
WCRed()->get_msg_error_by_code( $error_code = null );Cal passar el missatge, i et retorna el que significa si és un error msg. Si no ho és, retorna false.
WCRed()->get_error_by_code( $error_code = null );Cal passar l’error DS, i et retorna el que significa si és un error DS. Si no ho és, retorna false.
WCRed()->get_response_by_code( $error_code = null );Cal passar la resposta DS, i et retorna el que significa si és un missatge DS. Si no ho és, retorna false.
WCRed()->is_redsys_error( $error_code = null );Es passa l’error o resposta, i et retorna true o false depenent si és un error de Redsys o no ho és.
WCRed()->get_error( $error_code = null );Es passa l’error DS, l’error msg o la resposta DS, i et retorna el que significa. No cal especificar què és. Si no és res de l’anterior, retorna false.
WCRed()->get_error_type( $error_code = null );Es passa l’error, i retorna el tipus que és:
- ds_error
- ds_response
- msg_error
WCRed()->get_currencies();Retorna un Array() amb totes les monedes de Redsys i els seus codis.
WCRed()->allowed_currencies();Retorna un Array() amb les monedes permeses a Redsys. Que estiguin permeses, no vol dir que estiguin actives al terminal.
WCRed()->get_redsys_languages();Retorna un array amb els idiomes i el seu codi. Els idiomes no són codi, és a dir, per exemple a l’Array() hi ha Español, English – Anglès, Català, Français – Francès, i cadascun relacionat amb el seu codi a Redsys.
WCRed()->get_redsys_wp_languages();Retorna un Array() amb tots els codis d’idiomes de WordPress, relacionats amb el codi a Redsys.
WCRed()->get_orders_type();Retorna un Array() amb les diferents formes de pagament de Redsys possibles mitjançant el plugin.
WCRed()->get_lang_code( $lang = 'en' );Se li passa el codi d’idiomes, i retorna el codi d’aquest a Redsys. Se li pot passar tant codi estandarditzat (es, fr, en, etc), com codi de WordPress (es_ES, ca, en_US, en, en_GB).
Si l’idioma no existeix a Redsys, retornarà sempre «2», que és el codi per a l’anglès.
WCRed()->order_exist( $order_id );Se li passa l’ID de la comanda, i et diu si existeix la comanda retorna true o false.
WCRed()->post_exist( $post_id );Se li passa l’ID del $POST, i et diu si existeix. Atenció, pot ser qualsevol Post, Post Type o Custom Post Type, només et diu si existeix.
WCRed()->is_redsys_order( $order_id, $type = null );Se li pot passar un paràmetre, o dos. Si se li passa només el primer paràmetre (l’ID de la comanda), et dirà si la comanda s’ha realitzat mitjançant Redsys en qualsevol de les formes de pagament que afegeix el plugin retornant true o false. Si se passa juntament amb el segon paràmetre, respondrà true o false, depenent si s’ha realitzat el pagament mitjançant aquest tipus de pagament específic.
Els valors possibles per a $type són:
- redsys
- masterpass
- redsysbank
- bizumredsys
- iupay
- insite
- redsyspreauthorizations
WCRed()->get_gateway( $order_id );Se li passa l’ID de la comanda, i et retorna l’ID de la passarel·la amb la qual s’ha pagat. Si l’ID de comanda no existeix, retorna false.
WCRed()->get_order_date( $order_id );Se li passa l’ID de la comanda, i retorna la data de pagament a Redsys. Si no hi ha data, o no és un pagament de Redsys, retorna false.
WCRed()->get_order_hour( $order_id );Se li passa l’ID de la comanda, i retorna l’hora de pagament a Redsys. Si no hi ha hora, o no és un pagament de Redsys, retorna false.
WCRed()->get_order_auth( $order_id );Se li passa l’ID de la comanda, i retorna el codi d’autenticació del pagament a Redsys. Si no hi ha codi, o no és un pagament de Redsys, retorna false.
WCRed()->get_status_pending();Retorna un Array() amb els estats possibles de pendent de pagament que afegeix el plugin de Redsys i WooCommerce
apply_filters( 'redsys_status_pending', $status );Aquest filtre que es troba dins de WCRed()->get_status_pending() serveix perquè es puguin afegir fàcilment més estats si fos necessari i que la funció WCRed()->get_status_pending() retorni els estats pendents correctes.
WCRed()->is_paid( $order_id );Se li passa l’ID de la comanda, i et diu si està pagat o no ho està.
WCRed()->get_redsys_option( $option, $gateway );Se li ha de passar l’opció que es vol saber, i l’ID de la passarel·la (sigui la que sigui). Retorna el valor de l’opció.
WCRed()->is_gateway_enabled( $gateway );Se li passa l’ID de la passarel·la, i retorna true o false depenent si existeix i està activada o no.
WCRed()->check_if_token_is_valid( $token_id );Comprova si un token amb l’ID $token_id és vàlid (comprova la data de caducitat de la targeta). Si és vàlid retorna «true», si no és vàlid (data caducada), l’elimina i retorna false.
WCRed()->get_redsys_users_token();Retorna el token de Redsys de l’usuari identificat al lloc.
WCRed()->get_users_token_bulk( $user_id );Retorna el token d’un usuari per ID. Se li ha de passar el valor $user_id.
WCRed()->prepare_order_number( $order_id );Prepara el número de comanda per ser enviat a Redsys.
WCRed()->clean_order_number( $ordernumber );Converteix el número de comanda enviat a Redsys al número de WooCommerce.
WCRed()->redsys_amount_format( $total );Converteix el total a pagar en format de Redsys.
WCRed()->set_txnid( $token_num, $redsys_txnid );Guarda el codi TXNID. Se li ha de passar el token al qual el volem relacionar i el TXNID.
WCRed()->get_txnid( $token_num );Recupera el codi TXNID, se li han de passar el token del qual volem recuperar-lo.
