<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>MOIP - Labs</title>
	
	<link>http://labs.moip.com.br</link>
	<description />
	<lastBuildDate>Thu, 16 Feb 2012 21:32:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MoipLabs" /><feedburner:info uri="moiplabs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Transparente: Utilize seu próprio checkout com o Moip</title>
		<link>http://feedproxy.google.com/~r/MoipLabs/~3/94P7nvHYZUs/</link>
		<comments>http://labs.moip.com.br/2012/02/16/transparente-utilize-seu-proprio-checkout-com-o-moip/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 21:32:33 +0000</pubDate>
		<dc:creator>Vagner</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://labs.moip.com.br/?p=2457</guid>
		<description><![CDATA[Que tal processar os pagamentos sem sair de sua aplicação? A integração “Moip Transparente” permitirá que você disponibilize as opções de pagamento “Cartão de crédito”, “Boleto Bancário” e “Debito em conta” sem que o cliente necessite sair de seu ambiente. E o melhor de tudo, você poderá utilizar sua integração atual com a API Moip, [...]]]></description>
			<content:encoded><![CDATA[<p>Que tal processar os pagamentos sem sair de sua aplicação?</p>
<p>A integração “Moip Transparente” permitirá que você disponibilize as opções de pagamento “Cartão de crédito”, “Boleto Bancário” e “Debito em conta” sem que o cliente necessite sair de seu ambiente.</p>
<p>E o melhor de tudo, você poderá utilizar sua integração atual com a API Moip, sendo necessário apenas importar o JavaScript da ferramenta e realizando as chamadas em camada de apresentação.</p>
<h3>Referência API</h3>
<p><head></p>

<p><link type="text/css" media="all" href="http://labs.moip.com.br/wp-content/cache/autoptimize/autoptimize_bf1bf302e4117920b834238c5245ed4b.php" rel="stylesheet" /></head><br />
<body></p>
<table width="707" height="1014" border="0" >
<tr class="header-table">
<th width="88" height="19" scope="col">
<p>Root</p>
</th>
<th width="136" scope="col">
<p>Par&acirc;metro</p>
</th>
<th width="373" scope="col">
<p>Descri&ccedil;&atilde;o</p>
</th>
<th width="92" scope="col">
<p>Aplica&ccedil;&atilde;o</p>
</th>
</tr>
<tr class="linha_old">
<td height="56" class="tam10" scope="row"><var><em>&lt;?xml&gt;</em></var></td>
<td class="tam10" id="negrito"><var><em><strong>&lt;EnviarInstrucao&gt;</strong></em></var></td>
<td class="Tabela_API">
<p>Raiz</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong>element r</strong><strong>oot</strong></p>
</td>
</tr>
<tr>
<td height="56" class="tam10" scope="row"><var><em>&lt;EnviarInstrucao&gt;</em></var></td>
<td class="tam10" id="negrito"><var><em><strong>&lt;InstrucaoUnica&gt;</strong></em></var></td>
<td class="Tabela_API">
<p>Este campo &eacute;o inicio do documento XML, presente depois da raiz.</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p> <strong><strong>element</strong> child</strong></p>
</td>
</tr>
<tr class="linha_old">
<td height="23" class="tam10" scope="row"><var><em>&lt;InstrucaoUnica&gt;</em></var></td>
<td class="tam10" id="negrito"><var><em><strong>&lt;Razao&gt;</strong></em></var></td>
<td class="Tabela_API">
<p>Informe o motivo do pagamento.</p>
<p><strong>Tipo</strong>: varchar(256)<br />
        <strong>Formato</strong>: Livre<br />
    <strong>Ex</strong>: Compra realizada em &quot;www.minhaloja.com.br&quot;.</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr>
<td height="23" class="tam10" scope="row"><var><em>&lt;InstrucaoUnica&gt;</em></var></td>
<td class="tam10" id="negrito">&lt;IdProprio&gt;</td>
<td class="Tabela_API">
<p>Seu identificador &uacute;nico, ser&aacute; a chave retornada no NASP com as altera&ccedil;&otilde;es de status.</p>
<p><strong>Tipo</strong>: varchar(64)<br />
        <strong>Formato</strong>: Livre<br />
    <strong>Ex</strong>: ABCDEFGHIJLMNOPQRSTUVXZ123456789</p>
</td>
<td class="Tabela_API">
<p>Opcional</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr class="linha_old">
<td height="23" class="tam10" scope="row"><var><em>&lt;InstrucaoUnica&gt;</em></var></td>
<td class="tam10" id="negrito">&lt;Valores&gt;</td>
<td class="Tabela_API">
<p>Inicio do n&oacute; de informa&ccedil;&otilde;es referente a valores monet&aacute;rios.</p>
<p><strong>Relacionamento</strong>: 1-1 &quot;InstrucaoUnica&quot; pode ter at&eacute; 1(um) &quot;Valores&quot;.</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>element</strong> child</strong></p>
</td>
</tr>
<tr>
<td height="23" class="tam10" scope="row">&lt;Valores&gt;</td>
<td class="tam10" id="negrito">&lt;Valor moeda=&quot;BRL&quot;&gt;</td>
<td class="Tabela_API">
<p>Valor inicial a ser pago pelo cliente.</p>
<p><strong>Tipo</strong>: decimal(9,2)<br />
        <strong>Formato</strong>: BRL<br />
      <strong>Ex</strong>: 1234567.89</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr class="linha_old">
<td height="23" class="tam10" scope="row">&lt;Valores&gt;</td>
<td class="tam10" id="negrito">&lt;Acrescimo  moeda=&quot;BRL&quot;&gt;</td>
<td class="Tabela_API">
<p>Valor para acr&eacute;scimo ao valor inicial.</p>
<p><strong>Tipo</strong>: decimal(9,2)<br />
        <strong>Formato</strong>: BRL<br />
      <strong>Ex</strong>: 1234567.89</p>
</td>
<td class="Tabela_API">
<p>Opcional</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr>
<td height="23" class="tam10" scope="row">&lt;Valores&gt;</td>
<td class="tam10" id="negrito">&lt;Deducao  moeda=&quot;BRL&quot;&gt;</td>
<td class="Tabela_API">
<p>Valor para dedu&ccedil;&atilde;o ao valor inicial.</p>
<p><strong>Tipo</strong>: decimal(9,2)<br />
        <strong>Formato</strong>: BRL<br />
      <strong>Ex</strong>: 1234567.89</p>
</td>
<td class="Tabela_API">
<p>Opcional</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr class="linha_old">
<td height="23" class="tam10" scope="row"><var><em>&lt;InstrucaoUnica&gt;</em></var></td>
<td class="tam10" id="negrito">&lt;Pagador&gt;</td>
<td class="Tabela_API">
<p>Inicio do n&oacute; de informa&ccedil;&otilde;es sobre o usu&aacute;rio que ir&aacute; realizar  o pagamento.</p>
<p><strong>Relacionamento</strong>: 1-1 &quot;InstrucaoUnica&quot; pode ter at&eacute; 1(um) &quot;Pagador&quot;.</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>element</strong> child</strong></p>
</td>
</tr>
<tr>
<td height="23" class="tam10" scope="row">&lt;Pagador&gt;</td>
<td class="tam10" id="negrito">&lt;Nome&gt;</td>
<td class="Tabela_API">
<p>Nome completo do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: varchar(256)<br />
        <strong>Formato</strong>: Nome Sobrenome<br />
    <strong>Ex</strong>: Jos&eacute; da Silva</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr class="linha_old">
<td height="23" class="tam10" scope="row">&lt;Pagador&gt;</td>
<td class="tam10" id="negrito">&lt;Email&gt;</td>
<td class="Tabela_API">
<p>Email  do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: varchar(45)<br />
        <strong>Formato</strong>: login@dominio.com<br />
        <strong>Ex</strong>: cliente@seudominio.com.br</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr>
<td height="23" class="tam10" scope="row">&lt;Pagador&gt;</td>
<td class="tam10" id="negrito">&lt;IdPagador&gt;</td>
<td class="Tabela_API">
<p>Id &uacute;nido de identifica&ccedil;&atilde;o de seu cliente.</p>
<p><strong>Tipo</strong>: varchar(20)<br />
        <strong>Formato</strong>: Livre<br />
    <strong>Ex</strong>: cliente@seudominio.com.br</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr class="linha_old">
<td height="23" class="tam10" scope="row">&lt;Pagador&gt;</td>
<td class="tam10" id="negrito">&lt;EnderecoCobranca&gt;</td>
<td class="Tabela_API">
<p>Inicio do n&oacute; de informa&ccedil;&otilde;es do endere&ccedil;o de cobran&ccedil;a do usu&aacute;rio.</p>
<p><strong>Relacionamento</strong>: 1-1 &quot;Pagador&quot; pode ter at&eacute; 1(um) &quot;EnderecoCobranca&quot;.</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr>
<td height="23" class="tam10" scope="row">&lt;EnderecoCobranca&gt;</td>
<td class="tam10" id="negrito">&lt;Logradouro&gt;</td>
<td class="Tabela_API">
<p>Lagradoudo do endere&ccedil;o de cobran&ccedil;a do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: varchar(45)<br />
        <strong>Formato</strong>: Livre<br />
    <strong>Ex</strong>: Av. Brigadeiro Faria Lima</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr class="linha_old">
<td height="23" class="tam10" scope="row">&lt;EnderecoCobranca&gt;</td>
<td class="tam10" id="negrito">&lt;Numero&gt;</td>
<td class="Tabela_API">
<p>N&uacute;mero do endere&ccedil;o de cobran&ccedil;a do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: smallint(5)<br />
      <strong>Formato</strong>: Num&eacute;rico<br />
      <strong>Ex</strong>: 001</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr>
<td height="23" class="tam10" scope="row">&lt;EnderecoCobranca&gt;</td>
<td class="tam10" id="negrito">&lt;Complemento&gt;</td>
<td class="Tabela_API">
<p>Informa&ccedil;&atilde;o complementar do endere&ccedil;o de cobran&ccedil;a do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: varchar(45)<br />
        <strong>Formato</strong>: Livre<br />
    <strong>Ex</strong>: Ap. 00</p>
</td>
<td class="Tabela_API">
<p>Opcional</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr class="linha_old">
<td height="23" class="tam10" scope="row">&lt;EnderecoCobranca&gt;</td>
<td class="tam10" id="negrito">&lt;Bairro&gt;</td>
<td class="Tabela_API">
<p>Bairro  ou distrito do endere&ccedil;o de cobran&ccedil;a do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: varchar(45)<br />
        <strong>Formato</strong>: Livre<br />
    <strong>Ex</strong>: Jardim Paulistano</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr>
<td height="23" class="tam10" scope="row">&lt;EnderecoCobranca&gt;</td>
<td class="tam10" id="negrito">&lt;Cidade&gt;</td>
<td class="Tabela_API">
<p>Cidade do endere&ccedil;o de cobran&ccedil;a do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: varchar(32)<br />
        <strong>Formato</strong>: Livre<br />
    <strong>Ex</strong>: S&atilde;o Paulo</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr class="linha_old">
<td height="23" class="tam10" scope="row">&lt;EnderecoCobranca&gt;</td>
<td class="tam10" id="negrito">&lt;Estado&gt;</td>
<td class="Tabela_API">
<p>Siglas do estado do endere&ccedil;o de cobran&ccedil;a do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: varchar(2)<br />
        <strong>Formato</strong>: UF<br />
    <strong>Ex</strong>: SP</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr>
<td height="23" class="tam10" scope="row">&lt;EnderecoCobranca&gt;</td>
<td class="tam10" id="negrito">&lt;Pais&gt;</td>
<td class="Tabela_API">
<p>Pais do endere&ccedil;o de cobran&ccedil;a do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: smallint(5)<br />
        <strong>Formato</strong>: Livre<br />
    <strong>Ex</strong>: Av. Brigadeiro Faria Lima</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr class="linha_old">
<td height="23" class="tam10" scope="row">&lt;EnderecoCobranca&gt;</td>
<td class="tam10" id="negrito">&lt;CEP&gt;</td>
<td class="Tabela_API">
<p>CEP do endere&ccedil;o de cobran&ccedil;a do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: varchar(20)<br />
        <strong>Formato</strong>: 00000-000<br />
    <strong>Ex</strong>: 01452-000</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
<tr>
<td height="23" class="tam10" scope="row">&lt;EnderecoCobranca&gt;</td>
<td class="tam10" id="negrito">&lt;TelefoneFixo&gt;</td>
<td class="Tabela_API">
<p>Telefone do endere&ccedil;o de cobran&ccedil;a do usu&aacute;rio.</p>
<p><strong>Tipo</strong>: varchar(20)<br />
        <strong>Formato</strong>: (00)0000-0000<br />
    <strong>Ex</strong>: (11)3165-4020</p>
</td>
<td class="Tabela_API">
<p>Obrigat&oacute;ria</p>
<p><strong><strong>text</strong> child</strong></p>
</td>
</tr>
</table>
<p></body></p>
<h3>Exemplo: Instrução Simples</h3>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:620px;height:300px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;EnviarInstrucao<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;InstrucaoUnica<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Razao<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Pagamento para loja X<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Razao<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Valores<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Valor</span> <span style="color: #000066;">moeda</span>=<span style="color: #ff0000;">&quot;BRL&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>1.00<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Valor<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Valores<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;IdProprio<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>MEU_ID_UNICO<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/IdProprio<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Pagador<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Nome<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Cliente Sobrenome<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Nome<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Email<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>login@meudominio.com.br<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Email<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;IdPagador<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>MEU_CLIENTE_ID<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/IdPagador<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;EnderecoCobranca<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Logradouro<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Av. Brigadeiro Faria Lima<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Logradouro<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Numero<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2927<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Numero<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Complemento<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>8° Andar<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Complemento<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Bairro<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Jardim Paulistao<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Bairro<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Cidade<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>São Paulo<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Cidade<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Estado<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>SP<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Estado<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Pais<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>BRA<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Pais<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CEP<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>01452-000<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CEP<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TelefoneFixo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>(11)3165-4020<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/TelefoneFixo<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/EnderecoCobranca<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Pagador<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/InstrucaoUnica<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/EnviarInstrucao<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></div>
<img src="http://feeds.feedburner.com/~r/MoipLabs/~4/94P7nvHYZUs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://labs.moip.com.br/2012/02/16/transparente-utilize-seu-proprio-checkout-com-o-moip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://labs.moip.com.br/2012/02/16/transparente-utilize-seu-proprio-checkout-com-o-moip/</feedburner:origLink></item>
		<item>
		<title>Desvendando a API – Parte 8: Adicionais – Frete</title>
		<link>http://feedproxy.google.com/~r/MoipLabs/~3/frEMB-MJwJA/</link>
		<comments>http://labs.moip.com.br/2012/01/19/desvendando-a-api-parte-8-adicionais-frete/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 13:29:03 +0000</pubDate>
		<dc:creator>MoIP Labs</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://labs.moip.com.br/?p=2353</guid>
		<description><![CDATA[Utilizando a API do Frete no MoIP você possui facilidade em sua aplicação do calculo do frete junto ao processamento da compra, por exemplo, frete próprio, correios com encomenda normal, correios com Sedex 10 e outros. Com isso co liente seleciona a forma do frete direto de sua aplicação já adicionando ao valor da compra. A seguir [...]]]></description>
			<content:encoded><![CDATA[<p>Utilizando a API do <em>Frete</em> no MoIP você possui facilidade em sua aplicação do calculo do frete junto ao processamento da compra, por exemplo, frete próprio, correios com encomenda normal, correios com Sedex 10 e outros. Com isso co liente seleciona a forma do frete direto de sua aplicação já adicionando ao valor da compra. A seguir vamos ver um exemplo de cada uma das opções citadas:</p>
<h3>Frete próprio</h3>
<pre class="brush: php; gutter: true">&lt;?php ob_start();
$token = "SEU TOKEN";
$key = "SUA KEY";

$base = $token . ":" . $key;
$auth = base64_encode($base);
$header[] = "Authorization: Basic " . $auth;
$param = "
&lt;EnviarInstrucao&gt;
    &lt;InstrucaoUnica&gt;
        &lt;Razao&gt;Pagamento direto com boleto&lt;/Razao&gt;
        &lt;IdProprio&gt;". rand(1,1000) ."&lt;/IdProprio&gt;
        &lt;Pagador&gt;
            &lt;Nome&gt;Luiz Inácio Lula da Silva&lt;/Nome&gt;
            &lt;Email&gt;presidente@planalto.gov.br&lt;/Email&gt;
            &lt;TelefoneCelular&gt;(61)9999-9999&lt;/TelefoneCelular&gt;
            &lt;Apelido&gt;Lula&lt;/Apelido&gt;
            &lt;Identidade&gt;111.111.111-11&lt;/Identidade&gt;
            &lt;EnderecoCobranca&gt;
                &lt;Logradouro&gt;Praça dos Três Poderes&lt;/Logradouro&gt;
                &lt;Numero&gt;0&lt;/Numero&gt;
                &lt;Complemento&gt;Palácio do Planalto&lt;/Complemento&gt;
                &lt;Bairro&gt;Zona Cívico-Administrativa&lt;/Bairro&gt;
                &lt;Cidade&gt;Brasília&lt;/Cidade&gt;
                &lt;Estado&gt;DF&lt;/Estado&gt;
                &lt;Pais&gt;BRA&lt;/Pais&gt;
                &lt;CEP&gt;70100-000&lt;/CEP&gt;
                &lt;TelefoneFixo&gt;(61)3211-1221&lt;/TelefoneFixo&gt;
            &lt;/EnderecoCobranca&gt;
        &lt;/Pagador&gt;
        &lt;Entrega&gt;
            &lt;Destino&gt;MesmoCobranca&lt;/Destino&gt;
            &lt;CalculoFrete&gt;
                &lt;Tipo&gt;Proprio&lt;/Tipo&gt;
                &lt;ValorFixo&gt;2.30&lt;/ValorFixo&gt;
                &lt;Prazo Tipo=\"Corridos\"&gt;3&lt;/Prazo&gt;
            &lt;/CalculoFrete&gt;
        &lt;/Entrega&gt;
        &lt;PagamentoDireto&gt;
            &lt;Forma&gt;BoletoBancario&lt;/Forma&gt;
        &lt;/PagamentoDireto&gt;
        &lt;Boleto&gt;
            &lt;DiasExpiracao Tipo=\"Corridos\"&gt;5&lt;/DiasExpiracao&gt;
        &lt;/Boleto&gt;
        &lt;Valores&gt;
            &lt;Valor moeda=\"BRL\"&gt;100.00&lt;/Valor&gt;
        &lt;/Valores&gt;
    &lt;/InstrucaoUnica&gt;
&lt;/EnviarInstrucao&gt;";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica");
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_USERPWD, $user . ":" . $passwd);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $param);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$ret = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$xml = new SimpleXMLElement($ret);
echo "&lt;pre&gt;";
print_r($xml);
$token = $xml-&gt;Resposta-&gt;Token[0];
$url = 'https://desenvolvedor.moip.com.br/sandbox/Instrucao.do?token='.$token;
echo $url;</pre>
<h3>Correios com encomenda normal</h3>
<pre class="brush: php; gutter: true">&lt;?php ob_start();
$token = "SEU TOKEN";
$key = "SUA KEY";

$base = $token . ":" . $key;
$auth = base64_encode($base);
$header[] = "Authorization: Basic " . $auth;
$param = "
&lt;EnviarInstrucao&gt;
    &lt;InstrucaoUnica&gt;
        &lt;Razao&gt;Pagamento direto com boleto&lt;/Razao&gt;
        &lt;IdProprio&gt;". rand(1,1000) ."&lt;/IdProprio&gt;
        &lt;Pagador&gt;
            &lt;Nome&gt;Luiz Inácio Lula da Silva&lt;/Nome&gt;
            &lt;Email&gt;presidente@planalto.gov.br&lt;/Email&gt;
            &lt;TelefoneCelular&gt;(61)9999-9999&lt;/TelefoneCelular&gt;
            &lt;Apelido&gt;Lula&lt;/Apelido&gt;
            &lt;Identidade&gt;111.111.111-11&lt;/Identidade&gt;
            &lt;EnderecoCobranca&gt;
                &lt;Logradouro&gt;Praça dos Três Poderes&lt;/Logradouro&gt;
                &lt;Numero&gt;0&lt;/Numero&gt;
                &lt;Complemento&gt;Palácio do Planalto&lt;/Complemento&gt;
                &lt;Bairro&gt;Zona Cívico-Administrativa&lt;/Bairro&gt;
                &lt;Cidade&gt;Brasília&lt;/Cidade&gt;
                &lt;Estado&gt;DF&lt;/Estado&gt;
                &lt;Pais&gt;BRA&lt;/Pais&gt;
                &lt;CEP&gt;70100-000&lt;/CEP&gt;
                &lt;TelefoneFixo&gt;(61)3211-1221&lt;/TelefoneFixo&gt;
            &lt;/EnderecoCobranca&gt;
        &lt;/Pagador&gt;
        &lt;Entrega&gt;
            &lt;Destino&gt;MesmoCobranca&lt;/Destino&gt;
            &lt;CalculoFrete&gt;
                &lt;Tipo&gt;Correios&lt;/Tipo&gt;
                &lt;Prazo Tipo=\"Corridos\"&gt;3&lt;/Prazo&gt;
                &lt;Correios&gt;
                    &lt;PesoTotal&gt;1.00&lt;/PesoTotal&gt;
                    &lt;FormaEntrega&gt;EncomendaNormal&lt;/FormaEntrega&gt;
                &lt;/Correios&gt;
            &lt;/CalculoFrete&gt;
        &lt;/Entrega&gt;
        &lt;PagamentoDireto&gt;
            &lt;Forma&gt;BoletoBancario&lt;/Forma&gt;
        &lt;/PagamentoDireto&gt;
        &lt;Boleto&gt;
            &lt;DiasExpiracao Tipo=\"Corridos\"&gt;5&lt;/DiasExpiracao&gt;
        &lt;/Boleto&gt;
        &lt;Valores&gt;
            &lt;Valor moeda=\"BRL\"&gt;100.00&lt;/Valor&gt;
        &lt;/Valores&gt;
    &lt;/InstrucaoUnica&gt;
&lt;/EnviarInstrucao&gt;";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica");
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_USERPWD, $user . ":" . $passwd);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $param);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$ret = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$xml = new SimpleXMLElement($ret);
echo "&lt;pre&gt;";
print_r($xml);
$token = $xml-&gt;Resposta-&gt;Token[0];
$url = 'https://desenvolvedor.moip.com.br/sandbox/Instrucao.do?token='.$token;
echo $url;</pre>
<h3>Correios com Sedex 10</h3>
<pre class="brush: php; gutter: true">&lt;?php ob_start();
$token = "SUA TOKEN";
$key = "SUA KEY";

$base = $token . ":" . $key;
$auth = base64_encode($base);
$header[] = "Authorization: Basic " . $auth;
$param = "
&lt;EnviarInstrucao&gt;
    &lt;InstrucaoUnica&gt;
        &lt;Razao&gt;Pagamento direto com boleto&lt;/Razao&gt;
        &lt;IdProprio&gt;". rand(1,1000) ."&lt;/IdProprio&gt;
        &lt;Pagador&gt;
            &lt;Nome&gt;Luiz Inácio Lula da Silva&lt;/Nome&gt;
            &lt;Email&gt;presidente@planalto.gov.br&lt;/Email&gt;
            &lt;TelefoneCelular&gt;(61)9999-9999&lt;/TelefoneCelular&gt;
            &lt;Apelido&gt;Lula&lt;/Apelido&gt;
            &lt;Identidade&gt;111.111.111-11&lt;/Identidade&gt;
            &lt;EnderecoCobranca&gt;
                &lt;Logradouro&gt;Praça dos Três Poderes&lt;/Logradouro&gt;
                &lt;Numero&gt;0&lt;/Numero&gt;
                &lt;Complemento&gt;Palácio do Planalto&lt;/Complemento&gt;
                &lt;Bairro&gt;Zona Cívico-Administrativa&lt;/Bairro&gt;
                &lt;Cidade&gt;Brasília&lt;/Cidade&gt;
                &lt;Estado&gt;DF&lt;/Estado&gt;
                &lt;Pais&gt;BRA&lt;/Pais&gt;
                &lt;CEP&gt;70100-000&lt;/CEP&gt;
                &lt;TelefoneFixo&gt;(61)3211-1221&lt;/TelefoneFixo&gt;
            &lt;/EnderecoCobranca&gt;
        &lt;/Pagador&gt;
        &lt;Entrega&gt;
            &lt;Destino&gt;MesmoCobranca&lt;/Destino&gt;
            &lt;CalculoFrete&gt;
                &lt;Tipo&gt;Correios&lt;/Tipo&gt;
                &lt;Prazo Tipo=\"Corridos\"&gt;5&lt;/Prazo&gt;
                &lt;Correios&gt;
                    &lt;PesoTotal&gt;1.12&lt;/PesoTotal&gt;
                    &lt;FormaEntrega&gt;Sedex10&lt;/FormaEntrega&gt;
                &lt;/Correios&gt;
            &lt;/CalculoFrete&gt;
        &lt;/Entrega&gt;
        &lt;PagamentoDireto&gt;
            &lt;Forma&gt;BoletoBancario&lt;/Forma&gt;
        &lt;/PagamentoDireto&gt;
        &lt;Boleto&gt;
            &lt;DiasExpiracao Tipo=\"Corridos\"&gt;5&lt;/DiasExpiracao&gt;
        &lt;/Boleto&gt;
        &lt;Valores&gt;
            &lt;Valor moeda=\"BRL\"&gt;100.00&lt;/Valor&gt;
        &lt;/Valores&gt;
    &lt;/InstrucaoUnica&gt;
&lt;/EnviarInstrucao&gt;";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica");
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_USERPWD, $user . ":" . $passwd);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $param);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$ret = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$xml = new SimpleXMLElement($ret);
echo "&lt;pre&gt;";
print_r($xml);
$token = $xml-&gt;Resposta-&gt;Token[0];
$url = 'https://desenvolvedor.moip.com.br/sandbox/Instrucao.do?token='.$token;
echo $url;</pre>
<p>Confira o resultado abaixo do frete com correios usando encomenda normal:</p>
<p><a href="http://labs.moip.com.br/2012/01/19/desvendando-a-api-parte-8-adicionais-frete/screen-shot-2011-12-16-at-10-28-46-am/" rel="attachment wp-att-2358"><img class="alignnone size-full wp-image-2358" title="Boleto" src="http://labs.moip.com.br/wp-content/uploads/Screen-Shot-2011-12-16-at-10.28.46-AM.png" alt="" width="652" height="683" /></a></p>
<img src="http://feeds.feedburner.com/~r/MoipLabs/~4/frEMB-MJwJA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://labs.moip.com.br/2012/01/19/desvendando-a-api-parte-8-adicionais-frete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://labs.moip.com.br/2012/01/19/desvendando-a-api-parte-8-adicionais-frete/</feedburner:origLink></item>
		<item>
		<title>Quer trabalhar na Moip? Estamos contratando!</title>
		<link>http://feedproxy.google.com/~r/MoipLabs/~3/E0SyU6eUzzM/</link>
		<comments>http://labs.moip.com.br/2011/12/31/quer-trabalhar-na-moip-estamos-contratando/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 22:09:28 +0000</pubDate>
		<dc:creator>Alan Leal</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://labs.moip.com.br/?p=2376</guid>
		<description><![CDATA[Se você gosta de desafios, dinamismo e de trabalhar num segmento que oferece aprendizado, o Moip tem muito a contribuir com a sua carreira. Procuramos programadores apaixonados por tecnologia e desenvolvimento de software, que queiram aprender e contribuir com o nosso time. Não somos apegados a uma tecnologia / metodologia específica, e procuramos empregá- las [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.youtube.com/embed/BLiBfnxamR8" frameborder="0" width="560" height="315"></iframe><br />
Se você gosta de desafios, dinamismo e de trabalhar num segmento que oferece aprendizado, o Moip tem muito a contribuir com a sua carreira.</p>
<p>Procuramos programadores apaixonados por tecnologia e desenvolvimento de software, que queiram aprender e contribuir com o nosso time. Não somos apegados a uma tecnologia / metodologia específica, e procuramos empregá- las em função da necessidade de cada projeto.</p>
<p>Para participar, basta criar um, ou mais projetos seguindo o caso de uso descrito abaixo, escrever um documento especificando como instalar o(s) projeto(s), anexar tudo em um arquivo zip junto com o seu currículo. Envie o zip para o e-mail: relacionamento@labs.moip.com.br.</p>
<p>Acesse <a href="http://labs.moip.com.br/trabalheconosco/">http://labs.moip.com.br/trabalheconosco/</a> e saiba mais.</p>
<img src="http://feeds.feedburner.com/~r/MoipLabs/~4/E0SyU6eUzzM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://labs.moip.com.br/2011/12/31/quer-trabalhar-na-moip-estamos-contratando/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://labs.moip.com.br/2011/12/31/quer-trabalhar-na-moip-estamos-contratando/</feedburner:origLink></item>
		<item>
		<title>Desvendando a API – Parte 7: Adicionais – PagamentoDireto: boleto bancário, cartão de crédito e débito</title>
		<link>http://feedproxy.google.com/~r/MoipLabs/~3/_10Yaus2sLI/</link>
		<comments>http://labs.moip.com.br/2011/12/01/desvendando-a-api-parte-7-adicionais-pagamentodireto-boleto-bancario-cartao-de-credito-e-debito/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 13:44:09 +0000</pubDate>
		<dc:creator>MoIP Labs</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://labs.moip.com.br/?p=2334</guid>
		<description><![CDATA[Utilizando a API do PagamentoDireto no MoIP você possui flexibilidade em sua aplicação para três opções de pagamento: 1) boleto bancário; 2) cartão de crédito; e 3) débito. Ela faz com que o seu cliente/comprador selecione a forma de pagamento direto do seu site/aplicativo. Isso evita que o cliente seja redirecionado para a página de checkout [...]]]></description>
			<content:encoded><![CDATA[<p>Utilizando a API do <em>PagamentoDireto</em> no MoIP você possui flexibilidade em sua aplicação para três opções de pagamento: 1) boleto bancário; 2) cartão de crédito; e 3) débito. Ela faz com que o seu cliente/comprador selecione a forma de pagamento direto do seu site/aplicativo. Isso evita que o cliente seja redirecionado para a página de checkout do MoIP, permitindo uma maior flexibilidade.</p>
<p>Para que o seu site possua o <em>PagamentoDireto</em> é necessário que ele cumpra algumas exigências. Para saber quais são e pedir a habilitação da funcionalidade na sua conta MoIP, mande um e-mail para <a href="mailto:integracao@moip.com.br" target="_top">integracao@moip.com.br</a>.</p>
<p>A seguir vamos mostrar cada um dos métodos de pagamente usando o Pagamento Único no Sandbox, será mostrado como preparar o XML para fazer o  POST na URL https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica com todas as instruções do pagamento.</p>
<h3>Boleto Bancário</h3>
<p>Veja o XML abaixo:</p>
<pre class="brush: xml; gutter: true">&lt;EnviarInstrucao&gt;
    &lt;InstrucaoUnica&gt;
        &lt;Razao&gt;Pagamento direto com boleto&lt;/Razao&gt;
        &lt;Valores&gt;
            &lt;Valor moeda=\"BRL\"&gt;150.25&lt;/Valor&gt;
        &lt;/Valores&gt;
        &lt;IdProprio&gt;". rand(1,1000) ."&lt;/IdProprio&gt;
        &lt;PagamentoDireto&gt;
            &lt;Forma&gt;BoletoBancario&lt;/Forma&gt;
        &lt;/PagamentoDireto&gt;
        &lt;Pagador&gt;
            &lt;Nome&gt;Luiz Inácio Lula da Silva&lt;/Nome&gt;
            &lt;Email&gt;presidente@planalto.gov.br&lt;/Email&gt;
            &lt;TelefoneCelular&gt;(61)9999-9999&lt;/TelefoneCelular&gt;
            &lt;Apelido&gt;Lula&lt;/Apelido&gt;
            &lt;Identidade&gt;111.111.111-11&lt;/Identidade&gt;
            &lt;EnderecoCobranca&gt;
                &lt;Logradouro&gt;Praça dos Três Poderes&lt;/Logradouro&gt;
                &lt;Numero&gt;0&lt;/Numero&gt;
                &lt;Complemento&gt;Palácio do Planalto&lt;/Complemento&gt;
                &lt;Bairro&gt;Zona Cívico-Administrativa&lt;/Bairro&gt;
                &lt;Cidade&gt;Brasília&lt;/Cidade&gt;
                &lt;Estado&gt;DF&lt;/Estado&gt;
                &lt;Pais&gt;BRA&lt;/Pais&gt;
                &lt;CEP&gt;70100-000&lt;/CEP&gt;
                &lt;TelefoneFixo&gt;(61)3211-1221&lt;/TelefoneFixo&gt;
            &lt;/EnderecoCobranca&gt;
        &lt;/Pagador&gt;
        &lt;Boleto&gt;
            &lt;DiasExpiracao Tipo=\"Corridos\"&gt;5&lt;/DiasExpiracao&gt;
        &lt;/Boleto&gt;
    &lt;/InstrucaoUnica&gt;
&lt;/EnviarInstrucao&gt;</pre>
<p>Nele podemos notar alguns componentes que serão semelhantes em todos os três métodos, são eles: &lt;Razao&gt;, &lt;Valores&gt;, &lt;IdProprio&gt;, &lt;PagamentoDireto&gt; e &lt;Pagador&gt;. No caso do boleto, teremos o campo a mais &lt;Boleto&gt; com informações adicionais ao boleto. Como podemos perceber no campo &lt;PagamentoDireto&gt; basta definir o campo &lt;Forma&gt; com <em>BoletoBancario </em>para implementar o método. Já no campo &lt;Boleto&gt; é passado as intruções quanto ao vencimento do boleto.</p>
<p>Com a instrução XML preparada basta autenticar o seu POST e enviar ao Sandbox. O Sandbox irá retornar um XML informando o resultado da sua transação e confirmada a transação o ID e Token gerado a ser utilizado para gerar a página do boleto através da URL https://desenvolvedor.moip.com.br/sandbox/Instrucao.do?token=&lt;Token&gt;.</p>
<p>Veja um exemplo de código em PHP completo para o boleto bancário:</p>
<pre class="brush: php; gutter: true">&lt;?php ob_start();
$token = "SEU TOKEN";
$key = "SUA KEY";

$base = $token . ":" . $key;
$auth = base64_encode($base);
$header[] = "Authorization: Basic " . $auth;
$param = "
&lt;EnviarInstrucao&gt;
    &lt;InstrucaoUnica&gt;
        &lt;Razao&gt;Pagamento direto com boleto&lt;/Razao&gt;
        &lt;Valores&gt;
            &lt;Valor moeda=\"BRL\"&gt;150.25&lt;/Valor&gt;
        &lt;/Valores&gt;
        &lt;IdProprio&gt;". rand(1,1000) ."&lt;/IdProprio&gt;
        &lt;PagamentoDireto&gt;
            &lt;Forma&gt;BoletoBancario&lt;/Forma&gt;
        &lt;/PagamentoDireto&gt;
        &lt;Pagador&gt;
            &lt;Nome&gt;Luiz Inácio Lula da Silva&lt;/Nome&gt;
            &lt;Email&gt;presidente@planalto.gov.br&lt;/Email&gt;
            &lt;TelefoneCelular&gt;(61)9999-9999&lt;/TelefoneCelular&gt;
            &lt;Apelido&gt;Lula&lt;/Apelido&gt;
            &lt;Identidade&gt;111.111.111-11&lt;/Identidade&gt;
            &lt;EnderecoCobranca&gt;
                &lt;Logradouro&gt;Praça dos Três Poderes&lt;/Logradouro&gt;
                &lt;Numero&gt;0&lt;/Numero&gt;
                &lt;Complemento&gt;Palácio do Planalto&lt;/Complemento&gt;
                &lt;Bairro&gt;Zona Cívico-Administrativa&lt;/Bairro&gt;
                &lt;Cidade&gt;Brasília&lt;/Cidade&gt;
                &lt;Estado&gt;DF&lt;/Estado&gt;
                &lt;Pais&gt;BRA&lt;/Pais&gt;
                &lt;CEP&gt;70100-000&lt;/CEP&gt;
                &lt;TelefoneFixo&gt;(61)3211-1221&lt;/TelefoneFixo&gt;
            &lt;/EnderecoCobranca&gt;
        &lt;/Pagador&gt;
        &lt;Boleto&gt;
            &lt;DiasExpiracao Tipo=\"Corridos\"&gt;5&lt;/DiasExpiracao&gt;
        &lt;/Boleto&gt;
    &lt;/InstrucaoUnica&gt;
&lt;/EnviarInstrucao&gt;";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica");
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_USERPWD, $user . ":" . $passwd);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $param);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$ret = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$xml = new SimpleXMLElement($ret);
$token = $xml-&gt;Resposta-&gt;Token[0];
$url = 'Location: https://desenvolvedor.moip.com.br/sandbox/Instrucao.do?token='.$token;
header($url);</pre>
<p>Na imagem a seguir o resultado do código acima:</p>
<p><a href="http://labs.moip.com.br/2011/12/01/desvendando-a-api-parte-7-adicionais-pagamentodireto-boleto-bancario-cartao-de-credito-e-debito/screen-shot-2011-12-01-at-10-31-44-am/" rel="attachment wp-att-2342"><img class="alignnone size-large wp-image-2342" title="PagamentoDireto - Boleto Bancário - exemplo" src="http://labs.moip.com.br/wp-content/uploads/Screen-Shot-2011-12-01-at-10.31.44-AM-1024x712.png" alt="" width="1024" height="712" /></a></p>
<h3>Débito</h3>
<p>No caso do débito os procedimentos serão os mesmos do boleto bancário. Toda a mudança ocorre no XML a ser enviado para o Sandbox, veja como fica:</p>
<pre class="brush: xml; gutter: true">&lt;EnviarInstrucao&gt;
    &lt;InstrucaoUnica&gt; &lt;!-- Identificador do tipo de instrução --&gt;
    &lt;!-- *********** DADOS OBRIGATÓRIOS *********** --&gt;
        &lt;Razao&gt;Pagamento direto com debito online&lt;/Razao&gt;
        &lt;Valores&gt;
             &lt;Valor moeda="BRL"&gt;121.75&lt;/Valor&gt;
        &lt;/Valores&gt;
        &lt;IdProprio&gt;dir_deb_3&lt;/IdProprio&gt;
        &lt;PagamentoDireto&gt;
             &lt;Forma&gt;DebitoBancario&lt;/Forma&gt;
             &lt;Instituicao&gt;BancoDoBrasil&lt;/Instituicao&gt;
        &lt;/PagamentoDireto&gt;
        &lt;Pagador&gt;
        	&lt;Nome&gt;Luiz Inácio Lula da Silva&lt;/Nome&gt;
        	&lt;LoginMoIP&gt;lula&lt;/LoginMoIP&gt;
        	&lt;Email&gt;presidente@planalto.gov.br&lt;/Email&gt;
        	&lt;TelefoneCelular&gt;(61)9999-9999&lt;/TelefoneCelular&gt;
        	&lt;Apelido&gt;Lula&lt;/Apelido&gt;
        	&lt;Identidade&gt;111.111.111-11&lt;/Identidade&gt;
        	&lt;EnderecoCobranca&gt;
        		&lt;Logradouro&gt;Praça dos Três Poderes&lt;/Logradouro&gt;
        		&lt;Numero&gt;0&lt;/Numero&gt;
        		&lt;Complemento&gt;Palácio do Planalto&lt;/Complemento&gt;
        		&lt;Bairro&gt;Zona Cívico-Administrativa&lt;/Bairro&gt;
        		&lt;Cidade&gt;Brasília&lt;/Cidade&gt;
        		&lt;Estado&gt;DF&lt;/Estado&gt;
        		&lt;Pais&gt;BRA&lt;/Pais&gt;
        		&lt;CEP&gt;70100-000&lt;/CEP&gt;
        		&lt;TelefoneFixo&gt;(61)3211-1221&lt;/TelefoneFixo&gt;
        	&lt;/EnderecoCobranca&gt;
        &lt;/Pagador&gt;
    &lt;/InstrucaoUnica&gt;
&lt;/EnviarInstrucao&gt;</pre>
<p>Neste caso é possível perceber não criamos outro campo &lt;Debito&gt; como no caso do boleto, as informações adicionais para a instrução de débito foram passadas dentro com campo &lt;PagamentoDireto&gt;.</p>
<h3>Cartão de crédito</h3>
<p>Novamente, a mudança na instrução de envio ao Sandbox vai acontecer no XML a ser trocado com o MoIP. Veja exemplo de XML abaixo um exemplo de instrução:</p>
<pre class="brush: xml; gutter: true">&lt;EnviarInstrucao&gt;
    &lt;InstrucaoUnica&gt; &lt;!-- Identificador do tipo de instrução --&gt;
    &lt;!-- *********** DADOS OBRIGATÓRIOS *********** --&gt;
        &lt;Razao&gt;Pagamento direto com cartão de crédito&lt;/Razao&gt;
        &lt;Valores&gt;
             &lt;Valor moeda="BRL"&gt;213.25&lt;/Valor&gt;
        &lt;/Valores&gt;
        &lt;IdProprio&gt;dir_card_2&lt;/IdProprio&gt;
        &lt;PagamentoDireto&gt;
             &lt;Forma&gt;CartaoCredito&lt;/Forma&gt;
             &lt;Instituicao&gt;AmericanExpress&lt;/Instituicao&gt;
             &lt;CartaoCredito&gt;
             	&lt;Numero&gt;345678901234564&lt;/Numero&gt;
             	&lt;Expiracao&gt;08/11&lt;/Expiracao&gt;
             	&lt;CodigoSeguranca&gt;1234&lt;/CodigoSeguranca&gt;
             	&lt;Portador&gt;
             		&lt;Nome&gt;Nome do Portador&lt;/Nome&gt;
             		&lt;Identidade Tipo="CPF"&gt;111.111.111-11&lt;/Identidade&gt;
             		&lt;Telefone&gt;(11)1111-1111&lt;/Telefone&gt;
             		&lt;DataNascimento&gt;30/11/1980&lt;/DataNascimento&gt;
             	&lt;/Portador&gt;
             &lt;/CartaoCredito&gt;
             &lt;Parcelamento&gt;
             	&lt;Parcelas&gt;2&lt;/Parcelas&gt;
             	&lt;Recebimento&gt;AVista&lt;/Recebimento&gt;
             &lt;/Parcelamento&gt;
        &lt;/PagamentoDireto&gt;
        &lt;Pagador&gt;
        	&lt;Nome&gt;Luiz Inácio Lula da Silva&lt;/Nome&gt;
        	&lt;LoginMoIP&gt;lula&lt;/LoginMoIP&gt;
        	&lt;Email&gt;presidente@planalto.gov.br&lt;/Email&gt;
        	&lt;TelefoneCelular&gt;(61)9999-9999&lt;/TelefoneCelular&gt;
        	&lt;Apelido&gt;Lula&lt;/Apelido&gt;
        	&lt;Identidade&gt;111.111.111-11&lt;/Identidade&gt;
        	&lt;EnderecoCobranca&gt;
        		&lt;Logradouro&gt;Praça dos Três Poderes&lt;/Logradouro&gt;
        		&lt;Numero&gt;0&lt;/Numero&gt;
        		&lt;Complemento&gt;Palácio do Planalto&lt;/Complemento&gt;
        		&lt;Bairro&gt;Zona Cívico-Administrativa&lt;/Bairro&gt;
        		&lt;Cidade&gt;Brasília&lt;/Cidade&gt;
        		&lt;Estado&gt;DF&lt;/Estado&gt;
        		&lt;Pais&gt;BRA&lt;/Pais&gt;
        		&lt;CEP&gt;70100-000&lt;/CEP&gt;
        		&lt;TelefoneFixo&gt;(61)3211-1221&lt;/TelefoneFixo&gt;
        	&lt;/EnderecoCobranca&gt;
        &lt;/Pagador&gt;
    &lt;/InstrucaoUnica&gt;
&lt;/EnviarInstrucao&gt;</pre>
<p>No caso do cartão de crédito algumas informações complementares foram informadas para a transação, por exemplo, o número do cartão, código de segurança e outros. É muito importante que sua aplicação verifique bem as informações a serem passadas ao MoIP para executar a transação sem falhas.</p>
<p>Mais detalhes sobre como criar uma instrução de pagamento usando a API do <em>PagamentoDireto </em>podem ser vista na documentação da API e através de dúvidas no nosso Fórum.</p>
<p>Que tal começar sua aplicação agora? Divirta-se! =D</p>
<img src="http://feeds.feedburner.com/~r/MoipLabs/~4/_10Yaus2sLI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://labs.moip.com.br/2011/12/01/desvendando-a-api-parte-7-adicionais-pagamentodireto-boleto-bancario-cartao-de-credito-e-debito/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://labs.moip.com.br/2011/12/01/desvendando-a-api-parte-7-adicionais-pagamentodireto-boleto-bancario-cartao-de-credito-e-debito/</feedburner:origLink></item>
		<item>
		<title>O que é Django?</title>
		<link>http://feedproxy.google.com/~r/MoipLabs/~3/Ywp15FbbTFY/</link>
		<comments>http://labs.moip.com.br/2011/11/03/o-que-e-django/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 12:11:46 +0000</pubDate>
		<dc:creator>MoIP Labs</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://labs.moip.com.br/?p=2233</guid>
		<description><![CDATA[Django é um framework Web para desenvolvimento ágil, escrito em Python, que utiliza o padrão MVC (Model-View-Controller), protegido por uma licença BSD hoje se encontra na versão 1.3.1. O nome Django foi inspirado no músico de jazz Django Reinhardt. Django utiliza o princípio DRY (Don&#8217;t Repeat Yourself), onde faz com que o desenvolvedor aproveite ao [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://labs.moip.com.br/2011/11/03/o-que-e-django/logo_django/" rel="attachment wp-att-2260"><img class="alignnone size-large wp-image-2260" src="http://labs.moip.com.br/wp-content/uploads/logo_django-1024x356.png" alt="logo do Django" width="491" height="171" /></a></p>
<p>Django é um framework Web para desenvolvimento ágil, escrito em Python, que utiliza o padrão MVC (Model-View-Controller), protegido por uma licença BSD hoje se encontra na versão 1.3.1. O nome Django foi inspirado no músico de jazz Django Reinhardt. Django utiliza o princípio DRY (Don&#8217;t Repeat Yourself), onde faz com que o desenvolvedor aproveite ao máximo o código já feito, evitando a repetição.</p>
<p>As principais características do Django são:</p>
<ul>
<li>Mapeamento Objeto-Relacional (ORM): com o ORM do Django você define a modelagem de dados através de classes em Python. Com isso é possível gerar suas tabelas no banco de dados e manipulá-las sem necessidade de utilizar SQL (o que também é possivel);</li>
<li>Interface Administrativa: no Django é possivel gerar automaticamente uma interface para administração para os modelos criados através do ORM;</li>
<li>Formulários: é possível gerar formulários automaticamente através dos modelos de dados;</li>
<li>URLs Elegantes: no Django não há limitações para criação de URLs elegantes e de maneira simples;</li>
<li>Sistema de Templates: o Django tem uma linguagem de &#8221;templates&#8221; poderosa, extensível e amigável. Com ela você pode separar design, conteúdo e código em Python;</li>
<li>Sistema de Cache: o Django possui um sistema de &#8221;cache&#8221; que se integra ao memcached ou em outros frameworks de cache.</li>
<li>Internacionalização: Django tem total suporte para aplicações multi-idioma, deixando você especificar strings de tradução e fornecendo ganchos para funcionalidades específicas do idioma.</li>
</ul>
<p>A instação do Django é bem simples, a maneira mais recomendável é utilizar o pip ou easy_install para facilitar a manutenção nas atualizações:</p>
<pre class="brush: bash; gutter: true">pip:
$ sudo pip install django
easy_install
$ sudo easy_install django</pre>
<p>Após instalado o Django talvez algmas dependências ainda fiquem faltando. Recomenda-se que instale as bibliotecas de Python para suporte a banco de dados de acordo com o banco de dados de deseja utilizar e o docutils para ver as páginas de documentação administrativas do admin.<br />
Feito isso, o desenvolverdo já estará habilitado a criar seu primeiro projeto em Django, para fazer isso basta executar o seguinte comando:</p>
<pre class="brush: bash; gutter: true">$ django-admin.py startproject exemplo</pre>
<p>Agora, com o projeto criado veja como ficou a organização do mesmo:</p>
<pre class="brush: bash; gutter: true">exemplo/
|-- __init__.py
|-- manage.py
|-- settings.py
|-- urls.py</pre>
<p>Então, para iniciar o seu projeto é preciso fazer algumas configurações básicas no projeto.<br />
No arquivo settings.py descomente a linha 7 e insira os seus dados e na linha 14 troque para:</p>
<pre class="brush: python; gutter: true">'ENGINE': 'django.db.backends.sqlite3',</pre>
<p>Nessa modificação estamos dizendo que o banco de dados a ser utilizado pelo projeto será o SQLite. Agora, na linha 15 insira o caminho para o arquivo que irá conter os dados do projeto:</p>
<pre class="brush: python; gutter: true">'NAME':  'exemplo.db',</pre>
<p>Na linha 30, tem a opção de TIME_ZONE, no caso desse exemplo foi alteradad para &#8216;America/Sao_Paulo&#8217;, mude para a de sua preferência. Outra opção, na linha 34, é a de linguagem, nesse exemplo mudamos para &#8216;pt-BR&#8217;, na linha acima tem um link para todos códigos possíveis.<br />
Agora, uma funcionalidade interessante a ser habilitada são as páginas do admin, para proceder a instalação descomente as linhas 119 e 121 do settings.py. Com essas modificações o settings.py esta configurado para o exemplo.<br />
Lembre-se de criar o arquivo do banco de dados:</p>
<pre class="brush: bash; gutter: true">$ touch exemplo.db</pre>
<p>Agora, vamos configurar o arquivo urls.py, basta descomentar as linhas 4, 5, 13 e 16, resultando em:</p>
<pre></pre>
<pre></pre>
<pre class="brush: python; gutter: true">from django.conf.urls.defaults import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'exemplo.views.home', name='home'),
    # url(r'^exemplo/', include('exemplo.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
)</pre>
<p>Agora, com as edições básicas feitas é preciso de fato criar o banco de dados, veja:</p>
<pre></pre>
<pre class="brush: bash; gutter: true">[root@localhost exemplo]# python manage.py syncdb
Creating tables ...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table django_admin_log

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (Leave blank to use 'root'):
E-mail address: root@exemplo.com
Password:
Password (again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
No fixtures found.</pre>
<pre></pre>
<p>Feita todas as configurações devidas é hora de iniciar o projeto, na ocasião desse exemplo o servidor esta localizado na máquina com IP 192.168.1.125 mas pode ser inciado localmente:</p>
<pre></pre>
<pre class="brush: bash; gutter: true">$  python manage.py 192.168.1.125:8000
Validating models...
0 errors found
Django version 1.3.1, using settings 'exemplo.settings'
Development server is running at http://192.168.1.125:8000/
Quit the server with CONTROL-C.</pre>
<pre></pre>
<p>Será possível observar no terminal todo o log HTTP do projeto. Agora, basta ir na url http://192.168.1.125:8000/admin do projeto e autenticar o usuário criado no banco de dados. O login tendo ocorrido com sucesso a página a ser exibida será:</p>
<p><a href="http://labs.moip.com.br/2011/11/03/o-que-e-django/attachment/1/" rel="attachment wp-att-2253"><img class="alignnone size-medium wp-image-2253" src="http://labs.moip.com.br/wp-content/uploads/1-300x204.png" alt="http://192.168.1.125:8000/admin" width="300" height="204" /></a></p>
<p><a href="http://labs.moip.com.br/2011/11/03/o-que-e-django/attachment/2/" rel="attachment wp-att-2256"><img class="alignnone size-medium wp-image-2256" src="http://labs.moip.com.br/wp-content/uploads/2-300x82.png" alt="" width="300" height="82" /></a></p>
<p><a href="http://labs.moip.com.br/2011/11/03/o-que-e-django/attachment/3/" rel="attachment wp-att-2257"><img class="alignnone size-medium wp-image-2257" src="http://labs.moip.com.br/wp-content/uploads/3-300x109.png" alt="http://192.168.1.125:8000/admin/doc" width="300" height="109" /></a></p>
<p>Como foi possível ver nesse artigo é bem simples começar um projeto em Django.<br />
Por hora, finalizamos esse artigo e em próximos artigo veremos como dar continuidade a esse projeto.</p>
<p>Links:<br />
Django: www.djangoproject.com<br />
Django Brasil: www.djangobrasil.org<br />
Django Book: www.djangobook.com<br />
Django Videos: www.djangovideos.com</p>
<img src="http://feeds.feedburner.com/~r/MoipLabs/~4/Ywp15FbbTFY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://labs.moip.com.br/2011/11/03/o-que-e-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://labs.moip.com.br/2011/11/03/o-que-e-django/</feedburner:origLink></item>
		<item>
		<title>MySQL e PHP (Recebendo NASP MoIP e persistindo)</title>
		<link>http://feedproxy.google.com/~r/MoipLabs/~3/zMMy3A7FhmM/</link>
		<comments>http://labs.moip.com.br/2011/10/26/mysql-e-php-recebendo-nasp-moip-e-persistindo/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 15:00:15 +0000</pubDate>
		<dc:creator>MoIP Labs</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://labs.moip.com.br/?p=2230</guid>
		<description />
			<content:encoded><![CDATA[<object data="http://www.youtube.com/v/5HVSNvFZGdk?version=3&rel=0&fs=1&showinfo=0" type="application/x-shockwave-flash" width="604" height="370">
	<param name="movie" value="http://www.youtube.com/v/5HVSNvFZGdk?version=3&rel=0&fs=1&showinfo=0"></param>
	<param name="wmode" value="opaque"></param>
	<param name="allowFullScreen" value="true"></param>
	<param name="allowScriptAccess" value="always"></param>
</object>
<img src="http://feeds.feedburner.com/~r/MoipLabs/~4/zMMy3A7FhmM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://labs.moip.com.br/2011/10/26/mysql-e-php-recebendo-nasp-moip-e-persistindo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://labs.moip.com.br/2011/10/26/mysql-e-php-recebendo-nasp-moip-e-persistindo/</feedburner:origLink></item>
		<item>
		<title>Exemplos criando base de dados com informações de NASP</title>
		<link>http://feedproxy.google.com/~r/MoipLabs/~3/VAkfCzl5mKk/</link>
		<comments>http://labs.moip.com.br/2011/10/18/exemplos-criando-base-de-dados-com-informacoes-de-nasp/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 13:02:51 +0000</pubDate>
		<dc:creator>MoIP Labs</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://labs.moip.com.br/?p=2187</guid>
		<description />
			<content:encoded><![CDATA[<object data="http://www.youtube.com/v/BuPBRBgBijE?version=3&rel=0&fs=1&showinfo=0" type="application/x-shockwave-flash" width="604" height="370">
	<param name="movie" value="http://www.youtube.com/v/BuPBRBgBijE?version=3&rel=0&fs=1&showinfo=0"></param>
	<param name="wmode" value="opaque"></param>
	<param name="allowFullScreen" value="true"></param>
	<param name="allowScriptAccess" value="always"></param>
</object>
<img src="http://feeds.feedburner.com/~r/MoipLabs/~4/VAkfCzl5mKk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://labs.moip.com.br/2011/10/18/exemplos-criando-base-de-dados-com-informacoes-de-nasp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://labs.moip.com.br/2011/10/18/exemplos-criando-base-de-dados-com-informacoes-de-nasp/</feedburner:origLink></item>
		<item>
		<title>Organizze &amp; MoIP</title>
		<link>http://feedproxy.google.com/~r/MoipLabs/~3/CB-p5hh46P0/</link>
		<comments>http://labs.moip.com.br/2011/10/17/organizze-moip/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 22:04:46 +0000</pubDate>
		<dc:creator>Alan Leal</dc:creator>
				<category><![CDATA[Cases]]></category>

		<guid isPermaLink="false">http://labs.moip.com.br/?p=2177</guid>
		<description><![CDATA[O Organizze é um software de controle financeiro online. Nosso modelo de comercialização é o Freemium. Possuímos uma versão grátis e uma versão paga. A proposta do Organizze é ser um controle financeiro simples, fácil de usar e seguro. O MoIP entrou como grande parceiro do Organizze por ser o único serviço de pagamento digital [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://www.organizze.com.br">Organizze</a> é um software de controle financeiro online. Nosso modelo de comercialização é o Freemium. Possuímos uma versão grátis e uma versão paga. A proposta do <a href="http://www.organizze.com.br">Organizze</a> é ser um controle financeiro simples, fácil de usar e seguro. O MoIP entrou como grande parceiro do <a href="http://www.organizze.com.br">Organizze</a> por ser o único serviço de pagamento digital que nos permitiu oferecer a solução se adequava a nossa proposta. Queríamos que todo o processo de pagamento fosse simples e totalmente integrado ao nosso ambiente, sem necessidade de redirecionar o usuário à uma página de pagamentos de terceiros. </p>
<p>Atualmente utiliza a tecnologia do MoIP &#8220;Pagamento Direto&#8221; para fazer toda a integração via web-service. Aceitamos todos os cartões de créditos e boleto bancário.</p>
<p>&#8220;Nossa experiência com o pessoal do suporte também tem sido excelente. O MoIP realmente foi um facilitador para o nosso negócio.&#8221;</p>
<p>Luis Felipe Luz<br />
Co-fundador Organizze<br />
<a href="http://www.organizze.com.br">www.organizze.com.br</a></p>
<img src="http://feeds.feedburner.com/~r/MoipLabs/~4/CB-p5hh46P0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://labs.moip.com.br/2011/10/17/organizze-moip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://labs.moip.com.br/2011/10/17/organizze-moip/</feedburner:origLink></item>
		<item>
		<title>BDD com RSpec</title>
		<link>http://feedproxy.google.com/~r/MoipLabs/~3/fZ6LWiZMXAM/</link>
		<comments>http://labs.moip.com.br/2011/10/17/bdd-com-rspec/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 19:04:10 +0000</pubDate>
		<dc:creator>MoIP Labs</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://labs.moip.com.br/?p=2108</guid>
		<description><![CDATA[Uma das boas práticas de desenvolvimento conhecidas hoje com a advento do desenvolvimento ágil é o Behavior Driven Development (BDD). Uma das formas de trabalhar com essa técnica é com o uso do RSpec. Neste artigo, será visto como utilizar BDD usando o RSpec, porém vamos ver mais sobre ambos individualmente. Behavior Driven Development O [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das boas práticas de desenvolvimento conhecidas hoje com a advento do desenvolvimento ágil é o Behavior Driven Development (<a href="http://en.wikipedia.org/wiki/Behavior_driven_development">BDD</a>). Uma das formas de trabalhar com essa técnica é com o uso do RSpec. Neste artigo, será visto como utilizar BDD usando o <a href="http://en.wikipedia.org/wiki/RSpec">RSpec</a>, porém vamos ver mais sobre ambos individualmente.</p>
<h3>Behavior Driven Development</h3>
<p>O BDD é uma técnica de desenvolvimento ágil que busca a maior colaboração entre desenvolvedores, gerente de projetos, clientes e outros membros relacionados ao projeto. Criada em 2003 como resposta à Test Driven Development (TDD) e tem se expandido nos últimos tempos. O foco é automatizar testes e prover um feedback rápido e criando testes para avaliar comportamentos da aplicação ou unidades do código.</p>
<h3>RSpec</h3>
<p>O RSpec é um framework para BDD feito para a linguagem de programação Ruby.  Considerando que o Ruby já tenha sido instalado devidamente para instalar o RSpec basta executar:</p>
<pre class="brush: bash; gutter: false">$ sudo gem install rspec</pre>
<p>Verifique se o comando rspec já esta presente no sistema após a instalação.</p>
<h3>BDD com RSpec</h3>
<p>Voltando ao foco do artigo agora vamos mostrar um exempĺo de desenvolvimento utilizando ambos.</p>
<p>O problema a ser resolvido será o “Nomes de Autores de Obras Bibliográficas” retirado do <a href="http://dojopuzzles.com/problemas/exibe/nomes-de-autores-de-obras-bibliograficas/">Dojo Puzzles</a>, fonte comum de problemas de praticantes de Coding Dojo.</p>
<p>Agora, vamos preparar a organização do projeto para resolver o problema. O RSpec possui um padrão não-obrigatório de organização de diretórios e vamos seguir eles aqui, veja como fica:</p>
<pre class="brush: bash; gutter: false">$ mkdir author
$ cd author/
$ mkdir lib
$ mkdir spec
$ touch lib/Author.rb
$ touch spec/Author_spec.rb</pre>
<p>Com os diretórios e arquivos criados temos a base do projeto pronto. Perceba que em “author/lib” ficará a classe foco de testes e em “author/spec” os testes, é obrigatório o uso do “_spec” no nome do arquivo de teste.</p>
<p>Durante o desenvolvimento do projeto espera-se que os desenvolvedores escrevam gradativamente os testes e criem implementações que resolvam os mesmos até que todo escopo do projeto esteja resolvido. Para simplificar o artigo vamos ver agora um exemplo de teste falhando.</p>
<p>Arquivo Author.rb</p>
<pre class="brush: ruby; gutter: true">#coding: utf-8
class Author
    attr_accessor :names

    def name_for_book
    end

end</pre>
<p>Arquivo Author_spec.rb:</p>
<pre class="brush: ruby; gutter: true">#coding: utf-8
require “Author”

describe Author do

    it ‘deveria retorna MENDES, Almir’ do
        author = Author.new(["Almir Mendes"])
        author.name_for_book.should eql([ "MENDES, Almir" ])
    end

end</pre>
<p>Rodando o teste:</p>
<pre class="brush: bash; gutter: false">$ rspec specF
Failures:
1) Author deveria retorna MENDES, Almir
Failure/Error: author.name_for_book.should eql([ "MENDES, Almir" ]) expected ["MENDES, Almir"] got nil (compared using eql?)
# ./spec/Author_spec.rb:9:in `block (2 levels) in ‘
Finished in 0.00058 seconds
1 example, 1 failure
Failed examples:
rspec ./spec/Author_spec.rb:7 # Author deveria retorna MENDES, Almir</pre>
<p>Agora, vamos mostrar uma solução para o problema.<br />
Arquivo Author.rb:</p>
<pre class="brush: ruby; gutter: true"># coding: utf-8

class Author
    attr_accessor :names

    def initialize(names=[])
        @names           = names
        @names_especials = ["Neto", "Filho", "Sobrinho", "Neta", "Filha",
                            "Sobrinha", "Junior"]
        @prepositions    = ["da", "de", "do", "das", "dos"]
    end

    def name_for_book
        res = []
        @names.each do |name|
            name_tokens = name.split(" ")
            if name_tokens.size &gt; 1
                surname = name_tokens.delete_at(name_tokens.size - 1)
                if @names_especials.include?(surname.unicode_capitalize) and
                   name_tokens.size &gt; 1 and
                   not @prepositions.include?(name_tokens.last)
                   last_name = name_tokens.delete_at(name_tokens.size - 1)
                   res &lt;&lt; last_name.unicode_upcase + " " +
                          surname.unicode_upcase + ", " +
                          capitalize_name(name_tokens).join(" ")
                else
                    res &lt;&lt; surname.unicode_upcase + ", " +
                           capitalize_name( name_tokens ).join(" ")
                end
            else
                res &lt;&lt; name_tokens.join.upcase
            end
        end

        res
    end

    def capitalize_name(names)
        names.map do |n|
            @prepositions.include?(n.downcase) ? n.downcase : n.unicode_capitalize
        end
    end

end

class String
    def unicode_upcase
        s = ""
        char_map = {"á" =&gt; "Á", "à" =&gt; "À", "â" =&gt; "Â", "ã" =&gt; "Ã", "ç" =&gt; "Ç",
                    "é" =&gt; "É", "è" =&gt; "È", "í" =&gt; "Í", "ó" =&gt; "Ó", "ô" =&gt; "Ô",
                    "ú" =&gt; "Ú"}
        self.each_char do |c|
            if char_map.include? c
                s += char_map[c]
            else
                s += c.upcase
            end
        end

        s
    end

    def unicode_capitalize
        s = self.downcase
        char_map = {"á" =&gt; "Á", "à" =&gt; "À", "â" =&gt; "Â", "ã" =&gt; "Ã", "ç" =&gt; "Ç",
                    "é" =&gt; "É", "è" =&gt; "È", "í" =&gt; "Í", "ó" =&gt; "Ó", "ô" =&gt; "Ô",
                    "ú" =&gt; "Ú"}
        if char_map.include? s[0]
            s[0] = char_map[s[0]]
        else
            s.capitalize!
        end

        s
    end

end</pre>
<p>Arquivo Author_spec.rb:</p>
<pre class="brush: ruby; gutter: true">#coding: utf-8

require "Author"

describe Author do

    it 'deveria retorna MENDES, Almir' do
        author = Author.new(["Almir Mendes"])
        author.name_for_book.should eql([ "MENDES, Almir" ])
    end

    it "deveria retorna VALLE, Uriel Juliatti" do
        author = Author.new(["Uriel Juliatti Valle"])
        author.name_for_book.should eql([ "VALLE, Uriel Juliatti" ])
    end

    it "deveria retorna ANDREIA" do
        author = Author.new(["Andreia"])
        author.name_for_book.should eql([ "ANDREIA" ])
    end

    it "deveria retornar MENDES, Almir e TAGLIATI, Andre" do
        author = Author.new(["Almir Mendes","Andre Tagliati"])
        author.name_for_book.should eql(["MENDES, Almir","TAGLIATI, Andre"])
    end

    it 'deveria retorna "MENDES NETO, Almir"' do
        author = Author.new(["Almir Mendes Neto"])
        author.name_for_book.should eql(["MENDES NETO, Almir"])
    end

    it 'deveria retorna "SYMEONIDIS JUNIOR, Petros"' do
        author = Author.new(["Petros Symeonidis Junior"])
        author.name_for_book.should eql(["SYMEONIDIS JUNIOR, Petros"])
    end

    it 'deveria retorna "JUNIOR, Petros"' do
        author = Author.new(["Petros Junior"])
        author.name_for_book.should eql(["JUNIOR, Petros"])
    end

    it 'deveria retornar "MENDES, Andreia de"' do
        author = Author.new(["ANDREIA de MENDES"])
        author.name_for_book.should eql(["MENDES, Andreia de"])
    end

    it 'deveria retornar "MENDES, Ághata de"' do
        author = Author.new(["ághata De MENDES"])
        author.name_for_book.should eql(["MENDES, Ághata de"])
    end

    it 'deveria retornar "JUNIOR, Uriel de"' do
        author = Author.new(["Uriel de Junior"])
        author.name_for_book.should eql(["JUNIOR, Uriel de"])
    end

    it 'deveria retornar "NETO, Silva "' do
        author = Author.new(["silva neto"])
        author.name_for_book.should eql(["NETO, Silva"])
    end

    it 'deveria retornar "NETO JUNIOR, Silva dos Santos"' do
        author = Author.new(["silva dos santos neto junior"])
        author.name_for_book.should eql(["NETO JUNIOR, Silva dos Santos"])
    end

    it 'deveria retornar "MC\'LOUD, John"' do
        author = Author.new(["John Mc'loud"])
        author.name_for_book.should eql(["MC'LOUD, John"])
    end

end</pre>
<p>Rodando o teste:</p>
<pre class="brush: bash; gutter: true">$ rspec spec.............
Finished in 0.00402 seconds
13 examples, 0 failures</pre>
<p>Agora é praticar, Have Fun!</p>
<img src="http://feeds.feedburner.com/~r/MoipLabs/~4/fZ6LWiZMXAM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://labs.moip.com.br/2011/10/17/bdd-com-rspec/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://labs.moip.com.br/2011/10/17/bdd-com-rspec/</feedburner:origLink></item>
		<item>
		<title>Desvendando a API – Part. 6 : Adicionais – Mensagens e Configuração de Boleto</title>
		<link>http://feedproxy.google.com/~r/MoipLabs/~3/9EL-XaAvu5I/</link>
		<comments>http://labs.moip.com.br/2011/10/03/desvendando-a-api-part-6-adicionais-mensagens-e-configuracao-de-boleto/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 14:22:27 +0000</pubDate>
		<dc:creator>MoIP Labs</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://labs.moip.com.br/?p=2095</guid>
		<description><![CDATA[Utilizando a API MOIP você possui flexibilidade em sua aplicação, no caso de pagamentos por boleto bancário é possível definir a quantidade de dias para vencimento ou uma data fixa para vencimento do mesmo, além de poder informar instruções e um logotipo personalizado que serão visualizadas por seus clientes ao gerarem um boleto. Utilizando o [...]]]></description>
			<content:encoded><![CDATA[<p>Utilizando a API MOIP você possui flexibilidade em sua aplicação, no caso de pagamentos por boleto bancário é possível definir a quantidade de dias para vencimento ou uma data fixa para vencimento do mesmo, além de poder informar instruções e um logotipo personalizado que serão visualizadas por seus clientes ao gerarem um boleto.</p>
<p>Utilizando o parâmetro DiasExpiracao em sua aplicação será possível estipular a quantidade de dias desejados para expiração do boleto, para isso é necessário informar os valores Corridos ou Uteis que correspondem a dias corridos ou dias úteis, conforme exemplo:</p>
<p>Código HTML:</p>
<div>
<pre class="brush: html; gutter: true">      &lt;Boleto&gt;
         &lt;DiasExpiracao Tipo="Corridos"&gt;7&lt;/DiasExpiracao&gt;
      &lt;/Boleto&gt;</pre>
</div>
<p>Repare que o parâmetro recebe o valor Corridos para definir que o tipo de contagem de dias para vencimento do boleto, no exemplo anterior são 7 dias corridos.</p>
<p>Invés de estipular uma quantidade de dias você também pode fixar uma data fixa para que ocorra o vencimento do boleto utilizando o parâmetro DataVencimento, seguindo exemplo:</p>
<p>Código HTML:</p>
<pre class="brush: html; gutter: true">      &lt;Boleto&gt;
         &lt;DataVencimento&gt;2011-04-06T12:01:48.703-02:00&lt;/DataVencimento&gt;
      &lt;/Boleto&gt;</pre>
<p>Ressaltando que o parâmetro recebe um valor em formato dateTime, onde deve ser estipulado conforme exemplo anterior. Para maiores informações orientamos que acesse o seguinte artigo:<br />
<a href="http://labs.moip.com.br/forum/showthread.php?17-lt-DataVencimento-gt" target="_blank">http://labs.moip.com.br/forum/showthread.php?17-lt-DataVencimento-gt</a></p>
<p>Caso os dois parâmetros sejam enviados (DiasExpiracao e DataVencimento), a data de vencimento do boleto será calculada a partir do DiasExpiracao. Caso a data calculada supere a DataVencimento, a DataVencimento é usada no Boleto.</p>
<p>Você também poderá informar o parâmetro Instrucao que exibirá o valor atribuído a mesma no boleto bancário, sendo que é possível a utilização de três parâmetros com a mesma funcionalidade, no caso Instrucao1, Instrucao2 e Instrucao3.</p>
<p>Código HTML:</p>
<pre class="brush: html; gutter: true">      &lt;Boleto&gt;
         &lt;Instrucao1&gt;Primeira instrução de pagamento do boleto bancário&lt;/Instrucao1&gt;
         &lt;Instrucao2&gt;Segundo teste de instrução&lt;/Instrucao2&gt;
         &lt;Instrucao3&gt;Testando terceira instrução&lt;/Instrucao3&gt;
      &lt;/Boleto&gt;</pre>
<p>As informações inseridas no parâmetro em questão deve possuir o formato String e possuir no máximo 63 caracteres.</p>
<p>Além das informações em questão você poderá inserir um logotipo personalizado em seus boletos bancários, para efetuar o procedimento em questão basta utilizar o parâmetro URLLogo.</p>
<p>Código HTML:</p>
<pre class="brush: html; gutter: true">      &lt;Boleto&gt;
         &lt;URLLogo&gt;https://desenvolvedor.moip.com.br/sandbox/imgs/logo_moip.gif&lt;/URLLogo&gt;
      &lt;/Boleto&gt;</pre>
<p>No parâmetro você deverá informar a URL onde a imagem de seu logo encontra-se, sendo que a imagem deverá possuir largura de 75 pixels e altura de 40 pixels. Imagens maiores ou menores que o tamanho citado serão automaticamente redimensionadas.</p>
<p>Segue instrução única utilizando todos os parâmetros abordados no tópico:</p>
<p>Utilizando o parâmetro DiasExpiracao :</p>
<p>Código HTML:</p>
<pre class="brush: xml; gutter: true">&lt;EnviarInstrucao&gt;
 &lt;InstrucaoUnica&gt;
 &lt;Razao&gt;MoIP Labs - Boleto Bancário&lt;/Razao&gt;
      	&lt;Valores&gt;
         &lt;Valor moeda="BRL"&gt;41&lt;/Valor&gt;
	&lt;/Valores&gt;
      	&lt;IdProprio&gt;MoIP Labs&lt;/IdProprio&gt;
       		&lt;FormasPagamento&gt;
		&lt;FormaPagamento&gt;BoletoBancario&lt;/FormaPagamento&gt;
		&lt;/FormasPagamento&gt;
	      	&lt;Boleto&gt;
		&lt;DiasExpiracao Tipo="Corridos"&gt;7&lt;/DiasExpiracao&gt;
		&lt;Instrucao1&gt;Primeira instrução de pagamento do boleto bancário&lt;/Instrucao1&gt;
		&lt;Instrucao2&gt;Segundo teste de instrução&lt;/Instrucao2&gt;
		&lt;Instrucao3&gt;Testando terceira instrução&lt;/Instrucao3&gt;
		&lt;URLLogo&gt;https://desenvolvedor.moip.com.br/sandbox/imgs/logo_moip.gif&lt;/URLLogo&gt;
		&lt;/Boleto&gt;
	&lt;/InstrucaoUnica&gt;
&lt;/EnviarInstrucao&gt;</pre>
<p>Utilizando o parâmetro DataVencimento:</p>
<p>Código HTML:</p>
<pre class="brush: xml; gutter: true">&lt;EnviarInstrucao&gt;
 &lt;InstrucaoUnica&gt;
 &lt;Razao&gt;MoIP Labs - Boleto Bancário&lt;/Razao&gt;
      	&lt;Valores&gt;
         	&lt;Valor moeda="BRL"&gt;41&lt;/Valor&gt;
	&lt;/Valores&gt;
      	&lt;IdProprio&gt;MoIP Labs&lt;/IdProprio&gt;
       	&lt;FormasPagamento&gt;
		&lt;FormaPagamento&gt;BoletoBancario&lt;/FormaPagamento&gt;
        &lt;/FormasPagamento&gt;
	&lt;Boleto&gt;
	&lt;DataVencimento&gt;2020-04-06T12:01:48.703-02:00&lt;/DataVencimento&gt;
	&lt;Instrucao1&gt;Primeira instrução de pagamento do boleto bancário&lt;/Instrucao1&gt;
	&lt;Instrucao2&gt;Segundo teste de instrução&lt;/Instrucao2&gt;
	&lt;Instrucao3&gt;Testando terceira instrução&lt;/Instrucao3&gt;
	&lt;URLLogo&gt;https://desenvolvedor.moip.com.br/sandbox/imgs/logo_moip.gif&lt;/URLLogo&gt;
	&lt;/Boleto&gt;
	&lt;/InstrucaoUnica&gt;
&lt;/EnviarInstrucao&gt;</pre>
<p>Enjoy!!!</p>
<p>P.S. Esse artigo foi originalmente escrito por Fernando Feitosa (Integração MoIP)</p>
<img src="http://feeds.feedburner.com/~r/MoipLabs/~4/9EL-XaAvu5I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://labs.moip.com.br/2011/10/03/desvendando-a-api-part-6-adicionais-mensagens-e-configuracao-de-boleto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://labs.moip.com.br/2011/10/03/desvendando-a-api-part-6-adicionais-mensagens-e-configuracao-de-boleto/</feedburner:origLink></item>
	</channel>
</rss><!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->

