<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Felipe Theodoro &#187; pagseguro</title>
	<atom:link href="http://blog.ftgoncalves.com/tag/pagseguro/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ftgoncalves.com</link>
	<description>sempre Realimentação positiva</description>
	<lastBuildDate>Tue, 31 Aug 2010 15:17:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Plugin PagSeguro para CakePHP</title>
		<link>http://blog.ftgoncalves.com/2009/07/plugin-pagseguro-para-cakephp/</link>
		<comments>http://blog.ftgoncalves.com/2009/07/plugin-pagseguro-para-cakephp/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 14:05:00 +0000</pubDate>
		<dc:creator>Felipe Theodoro</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[cake php]]></category>
		<category><![CDATA[pagseguro]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://blog.ftgoncalves.com/?p=73</guid>
		<description><![CDATA[Plugin para o CakePHP do PagSeguro, criando um checkOut em minutos sem complicação.]]></description>
			<content:encoded><![CDATA[<p><strong>Plugin PagSeguro</strong></p>
<p>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.</p>
<p>Segue um exemplo:</p>
<p><strong>Utilizando o pligin</strong></p>
<p>Em seu controller, chame o component e o helper:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$components</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Pagseguro.PagSeguro?'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$helpers</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Pagseguro.Formpg'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

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

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>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
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"> <span style="color: #000088;">$sale</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'email_cobranca'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'tipo'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'CP'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'moeda'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'BRL'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'tipo_frete'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'SD'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
        <span style="color: #0000ff;">'ref_transacao'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
        <span style="color: #0000ff;">'produto'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
           <span style="color:#800080;">1.</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
                  <span style="color: #0000ff;">'item_id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span>
                  <span style="color: #0000ff;">'item_descr'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span>
                  <span style="color: #0000ff;">'item_valor'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span>
                  <span style="color: #0000ff;">'item_quant'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span>
                  <span style="color: #0000ff;">'item_frete'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
                  <span style="color: #0000ff;">'item_peso'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
                  <span style="color: #0000ff;">'item_quant'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span> 
            <span style="color: #009900;">&#41;</span> 
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
        <span style="color: #0000ff;">'cliente'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'nome'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'cep'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'end'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'num'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'compl'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'bairro'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'cidade'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'uf'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'pais'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'ddd'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'tel'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'email'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #666666; font-style: italic;">//opcional </span>
        <span style="color: #009900;">&#41;</span> 
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

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

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$valor</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PagSeguro</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">parcePagSeguro</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'30.98'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//retorno 3098;</span></pre></div></div>

<p>Setando os dados:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PagSeguro</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setSale</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sale</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Arrumando no padrão e mandando para a view:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'data'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PagSeguro</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">generateInformation</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Na view:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">echo</span> <span style="color: #000088;">$formpg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">echo</span> <span style="color: #000088;">$formpg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hidden</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">echo</span> <span style="color: #000088;">$formpg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">submit</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'img'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'btnFinalizar.jpg'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//opções: btnFinalizaBR.jpg btnConcluirBR.jpg btnFinalizar.jpg btnConcluir.jpg</span>
<span style="color: #990000;">echo</span> <span style="color: #000088;">$formpg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">end</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Download</strong></p>
<p>Repositório em desenvolvimeto<strong><br />
</strong></p>
<p>svn checkout http://pagseguro.googlecode.com/svn/trunk/</p>
<p>Última versão estável</p>
<p>svn checkout http://pagseguro.googlecode.com/svn/tags/0.1.0</p>
<p>Site do oficial das ferramentas PagSeguro</p>
<p>http://visie.com.br/pagseguro/cake.php</p>
<p>Bugs, sugestões, duvídas ou elogios:<br />
<a href=" http://code.google.com/p/pagseguro/"><br />
http://code.google.com/p/pagseguro/</a></p>
<p> <img src='http://blog.ftgoncalves.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftgoncalves.com/2009/07/plugin-pagseguro-para-cakephp/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
