Plugin PagSeguro para CakePHP

Plugin PagSeguro
Finalmente consegui achar tempo para fazer este plugin. A idéia dele é bem simples. Você tem à disposição um component e um helper. Você manda um array com todas as informações da compra para o component e ele reorganiza tais informações, passando para o padrão do PagSeguro. Após isso, é só mandar para view e chamar o helper para criar o form e os hiddens padrões.
Segue um exemplo:
Utilizando o pligin
Em seu controller, chame o component e o helper:

var $components = array('Pagseguro.PagSeguro?');
var $helpers = array('Pagseguro.Formpg');

Array padrão referente às informações necessárias e opcionais para o PagSeguro:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$sale = array(
'email_cobranca' => null,
'tipo' => 'CP',
'moeda' => 'BRL',
'tipo_frete' => 'SD', //opcional
'ref_transacao' => null, //opcional
'produto' => array(
1. => array(
'item_id' => null,
'item_descr' => null,
'item_valor' => null,
'item_quant' => null,
'item_frete' => null, //opcional
'item_peso' => null, //opcional
'item_quant' => null
)
),
'cliente' => array( //opcional
'nome' => null, //opcional
'cep' => null, //opcional
'end' => null, //opcional
'num' => null, //opcional
'compl' => null, //opcional
'bairro' => null, //opcional
'cidade' => null, //opcional
'uf' => null, //opcional
'pais' => null, //opcional
'ddd' => null, //opcional
'tel' => null, //opcional
'email' => null //opcional
)
);

Arrumando valores referentes à dinheiro, se seu sistema jogar o valor com vírgula ou ponto. Exemplo: 30,99 ou 30.99.

$valor = $this->PagSeguro->parcePagSeguro('30.98');
//retorno 3098;

Setando os dados:

$this->PagSeguro->setSale($sale);

Arrumando no padrão e mandando para a view:

$this->set('data', $this->PagSeguro->generateInformation());

Na view:

echo $formpg->create();
echo $formpg->hidden($data);
echo $formpg->submit(array('img' => 'btnFinalizar.jpg')); //opções: btnFinalizaBR.jpg btnConcluirBR.jpg btnFinalizar.jpg btnConcluir.jpg
echo $formpg->end();

Download
Repositório em desenvolvimeto

svn checkout http://pagseguro.googlecode.com/svn/trunk/
Última versão estável
svn checkout http://pagseguro.googlecode.com/svn/tags/0.1.0
Site do oficial das ferramentas PagSeguro
http://visie.com.br/pagseguro/cake.php
Bugs, sugestões, duvídas ou elogios:

http://code.google.com/p/pagseguro/