Criando o módulo

O primeiro passo para desenvolver é compreender como o modulo é organizado dentro do sistema. Para tanto, tenha em mente que cada modulo deve ser representado por um arquivo com nome exclusivo, escrito em minúsculo e armazenado no diretório /modulos/pagamentos sendo seu respectivo arquivo de retorno (caso aplicável) armazenado, com o mesmo nome, no diretório /módulos/pagamentos/retorno.
Disponibilizamos no github os arquivos de exemplo para o desenvolvimento do primeiro modulo, que desmembramos abaixo.

Variável $moduloPagamento

<?php
# MODULO DE PAGAMENTO DE EXEMPLO
$moduloPagamento=array('nome'=>'exemplo','nomeVisivel'=>'Modulo de exemplo');
É uma variável do tipo array que recebe informações básicas sobre o modulo, onde “nome” deve ser o mesmo nome dado ao arquivo que contem as informações do modulo sem a extensão “.php”, nesse caso, “exemplo”.
No mesmo sentido, a chave “nomeVisivel” é o nome da forma de pagamento mostrada ao usuário quando da utilização do modulo. Esse valor é apenas uma referencia, pois pode ser alterado pelo administrador após ativar o modulo no sistema.

Variável $dadosModuloPagamento

$dadosModuloPagamento=array(
/*ex: array('a', 'b', 'c', 300, d, e, f, g),
a = tipo de campo (textfield, select, textarea, radio, checkbox, password)
b = nome/Rotulo do campo, legenda a ser exibida ao usuario
c = nome do campo, parametro a ser utilizado
300 = largura do campo em pixels
d = altura do campo (aplicavel ao textarea)
e = campo obrigatorio (true = sim, false = nao)
f = array com valores das opções, usado em select e radio ex: array('opcao1' => 1, 'opcao2' => 2)
g = rotulo adicional ao usuario, aplicado ao final do campo
*/
array('textfield', 'Token', 'token', 300, '', true, '', 'seu token'),
array('radio', 'Campo2', 'campo2', 300, '', true, array('opcao1' => 1, 'opcao2' => 2), ''),
);
Contem informações sobre os campos de configuração do modulo.
Neste array são gerados os campos que o administrador deverá preencher ao ativar o modulo.
Os campos comumente cadastrados são: Email, Conta, token, taxa, dentre outros dados configuráveis que você possa precisar para criar o seu modulo de pagamento.
Os campos são gerados na ordem cadastrada seguindo a regra de um array/campo por linha como no arquivo de exemplo.

Função moduloFatura_exemplo()

function ModuloFatura_exemplo(){ //substituia exemplo pelo nome de seu arquivo/modulo
global $parametros, $config;
/*$parametros['fatura']
$parametros['cliente']
$parametros['moduloPagamento']*/
$codigo = 'Código html/javascript visivel na fatura.<br />Token: ';
$codigo.= $parametros['moduloPagamento']['token'];
return $codigo;
}
O nome dessa função é composto pelo prefixo “ModuloFatura_” sucedido do nome de seu modulo. No nosso caso, “exemplo”.
A função é executada toda vez que o cliente final abre uma fatura que utiliza esse modulo/forma de pagamento, ou quando a forma de pagamento em questão é selecionada.
As principais informações estão armazenadas na variável $parametros onde estão organizados os dados distribuídos em arrays.
$parametros['fatura'] – Array que contem os dados referentes a fatura como (id_fatura, valor, valor_pago, data_vencimento)
$parametros['cliente'] – Array que contem os dados do cliente como (nome, empresa, telefone, email, endereço, numero, bairro, cidade, estado, cpf_cnpj)
$parametros['moduloPagamento'] – Array que contem os dados referentes ao seu modulo. São os valores configurados para os campos que você criou no item acima. No nosso exemplo, token e campo2
Caso haja alguma dúvida quanto ao correto nome do campo a ser utilizado você pode listar todos os dados por meio da função print_r($parametros).