O plugin premium da Redsys que vocês podem encontrar em WooCommerce.com, incorpora uma API própria que vocês podem utilizar a partir de qualquer outro plugin ou tema para WordPress. Isso facilita a vida dos desenvolvedores e lhes dá ferramentas para que possam explorar suas ideias baseando-se no plugin premium e Redsys.
A função mágica criada é WCRed() e através dela é possível conseguir muita informação, que irá aumentando nas novas versões.
WCRed()->get_order( $order_id );É utilizada para conseguir $order
WCRed()->get_ds_error();Retorna um Array() com todos os erros DS e o que são.
WCRed()->get_ds_response();Retorna um Array() com todos os códigos de resposta DS e o que significam.
WCRed()->get_msg_error();Retorna um Array() com todos os erros msg e o que significam.
WCRed()->is_ds_error( $error_code = null );Deve-se passar o erro, e retorna true ou false dependendo se é um erro DS ou não.
WCRed()->is_ds_response( $error_code = null );Deve-se passar a mensagem, e retorna true ou false dependendo se é uma resposta DS ou não.
WCRed()->is_msg_error( $error_code = null );Deve-se passar o msg, e retorna true ou false dependendo se é um erro msg ou não.
WCRed()->get_msg_error_by_code( $error_code = null );Deve-se passar a mensagem, e retorna o que significa se é um erro msg. Se não for, retorna false.
WCRed()->get_error_by_code( $error_code = null );Deve-se passar o erro DS, e retorna o que significa se é um erro DS. Se não for, retorna false.
WCRed()->get_response_by_code( $error_code = null );Deve-se passar a resposta DS, e retorna o que significa se é uma mensagem DS. Se não for, retorna false.
WCRed()->is_redsys_error( $error_code = null );Passa-se o erro ou resposta, e retorna true ou false dependendo se é um erro da Redsys ou não.
WCRed()->get_error( $error_code = null );Passa-se o erro DS, o erro msg ou a resposta DS, e retorna o que significa. Não é necessário especificar o que é. Se não for nada do anterior, retorna false.
WCRed()->get_error_type( $error_code = null );Passa-se o erro, e retorna o tipo que é:
- ds_error
- ds_response
- msg_error
WCRed()->get_currencies();Retorna um Array() com todas as moedas da Redsys e seus códigos.
WCRed()->allowed_currencies();Retorna um Array() com as moedas permitidas na Redsys. Estar permitidas, não significa que estejam ativas no terminal.
WCRed()->get_redsys_languages();Retorna um array com os idiomas e seu código. Os idiomas não são códigos, ou seja, por exemplo no Array() está Espanhol, English – Inglês, Català, Français – Francês, e cada um relacionado com seu código na Redsys.
WCRed()->get_redsys_wp_languages();Retorna um Array() com todos os códigos de idiomas do WordPress, relacionados com o código na Redsys.
WCRed()->get_orders_type();Retorna um Array() com as diferentes formas de pagamento da Redsys possíveis através do plugin.
WCRed()->get_lang_code( $lang = 'en' );Passa-se o código de idiomas, e retorna o código deste na Redsys. Pode-se passar tanto código padronizado (pt, fr, en, etc), como código do WordPress (pt_PT, ca, en_US, en, en_GB).
Se o idioma não existir na Redsys, sempre retornará «2», que é o código para o inglês.
WCRed()->order_exist( $order_id );Passa-se o ID do pedido, e diz se o pedido existe, retorna true ou false.
WCRed()->post_exist( $post_id );Passa-se o ID do $POST, e diz se existe. Atenção, pode ser qualquer Post, Post Type ou Custom Post Type, apenas diz se existe.
WCRed()->is_redsys_order( $order_id, $type = null );Pode-se passar um parâmetro, ou dois. Se passar apenas o primeiro parâmetro (o ID do pedido), dirá se o pedido foi realizado através da Redsys em qualquer uma das formas de pagamento que o plugin adiciona, retornando true ou false. Se passar junto ao segundo parâmetro, responderá true ou false, dependendo se o pagamento foi realizado através deste tipo de pagamento específico.
Os valores possíveis para $type são:
- redsys
- masterpass
- redsysbank
- bizumredsys
- iupay
- insite
- redsyspreauthorizations
WCRed()->get_gateway( $order_id );Passa-se o ID do pedido, e retorna o ID da passarela com a qual foi pago. Se o ID do pedido não existir, retorna false.
WCRed()->get_order_date( $order_id );Passa-se o ID do pedido, e retorna a data de pagamento na Redsys. Se não houver data, ou não for um pagamento da Redsys, retorna false.
WCRed()->get_order_hour( $order_id );Passa-se o ID do pedido, e retorna a hora de pagamento na Redsys. Se não houver hora, ou não for um pagamento da Redsys, retorna false.
WCRed()->get_order_auth( $order_id );Passa-se o ID do pedido, e retorna o código de autenticação do pagamento na Redsys. Se não houver código, ou não for um pagamento da Redsys, retorna false.
WCRed()->get_status_pending();Retorna um Array() com os estados possíveis de pendente de pagamento que o plugin da Redsys e WooCommerce adiciona.
apply_filters( 'redsys_status_pending', $status );Este filtro que se encontra dentro de WCRed()->get_status_pending() serve para que se possam adicionar facilmente mais estados se necessário e que a função WCRed()->get_status_pending() retorne os estados pendentes corretos.
WCRed()->is_paid( $order_id );Passa-se o ID do pedido, e diz se está pago ou não.
WCRed()->get_redsys_option( $option, $gateway );Deve-se passar a opção que se quer saber, e o ID da passarela (seja qual for). Retorna o valor da opção.
WCRed()->is_gateway_enabled( $gateway );Passa-se o ID da passarela, e retorna true ou false dependendo se existe e está ativada ou não.
WCRed()->check_if_token_is_valid( $token_id );Verifica se um token com o ID $token_id é válido (verifica a data de expiração do cartão). Se for válido retorna «true», se não for válido (data expirada), o elimina e retorna false.
WCRed()->get_redsys_users_token();Retorna o token da Redsys do usuário identificado no site.
WCRed()->get_users_token_bulk( $user_id );Retorna o token de um usuário por ID. Deve-se passar o valor $user_id.
WCRed()->prepare_order_number( $order_id );Prepara o número do pedido para ser enviado à Redsys.
WCRed()->clean_order_number( $ordernumber );Converte o número do pedido enviado à Redsys para o número do WooCommerce.
WCRed()->redsys_amount_format( $total );Converte o total a pagar no formato da Redsys.
WCRed()->set_txnid( $token_num, $redsys_txnid );Salva o código TXNID. Deve-se passar o token ao qual queremos relacionar e o TXNID.
WCRed()->get_txnid( $token_num );Recupera o código TXNID, devem-se passar o token do qual queremos recuperá-lo.
