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/

:)