Carrinho Próprio

Trabalhando com carrinho próprio, sua loja mantém os dados do carrinho. O processo de inclusão de produtos no carrinho de compras acontece todo na loja. Ao final do processo, quando o comprador está satisfeito com sua compra, ele é enviado ao PagSeguro uma única vez com todos os dados de seu pedido. Aqui também, você tem duas opções. Pode enviar os dados do pedido e deixar o PagSeguro solicitar os dados do comprador, ou pode solicitar todos os dados necessários para a compra em sua loja e enviá-los ao PagSeguro.

Deixando o PagSeguro cuidar dos dados do comprador

Nesta opção você envia ao PagSeguro apenas os dados da compra, assim:

<form target="pagseguro" method="post"
action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx">
<input type="hidden" name="email_cobranca"
value="suporte@lojamodelo.com.br">
<input type="hidden" name="tipo" value="CP">
<input type="hidden" name="moeda" value="BRL">

<input type="hidden" name="item_id_1" value="12345">
<input type="hidden" name="item_descr_1"
value="Descrição do item à ser vendido">
<input type="hidden" name="item_quant_1" value="1">
<input type="hidden" name="item_valor_1" value="100">
<input type="hidden" name="item_frete_1" value="0">
<input type="hidden" name="item_peso_1" value="0">

<input type="hidden" name="item_id_2" value="67890">
<input type="hidden" name="item_descr_2"
value="Descrição do item 2 à ser vendido">
<input type="hidden" name="item_quant_2" value="1">
<input type="hidden" name="item_valor_2" value="199">
<input type="hidden" name="item_frete_2" value="0">
<input type="hidden" name="item_peso_2" value="0">

<input type="hidden" name="tipo_frete" value="EN">
<input type="image"
src="https://pagseguro.uol.com.br/Security/Imagens/btnfinalizaBR.jpg"
name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!">
</form>

Você deve notar que há dois blocos semelhantes de campos: item_id_1, item_descr_1, item_quant_1 e etc. e item_id_2, item_desc_2 e etc. Neste formulário, estamos enviando dois itens para o PagSeguro. Você pode enviar de um a vinte e cinco itens.

Os dados enviados são:

Campos Obrigatórios
Nome Descrição
email_cobranca Informar aqui o seu email que deverá estar cadastrado e verificado junto ao PagSeguro.
tipo Informar o tipo de POST que está sendo enviado ao PagSeguro. (CBR para usar o carrinho PagSeguro e CP para usar seu próprio carrinho). Para Carrinho próprio use “CP” (que é o padrão)
moeda Formato da moeda a qual será utilizada pelo PagSeguro.
Atualmente, o único valor aceito é BRL (Brasil – Real).
item_id_x Número do primeiro produto do carrinho. Número único que identifica o produto em sua loja (não pode se repetir).
item_descr_x Descrição do primeiro produto no carrinho. Título do Produto.
item_quant_x Quantidade do primeiro produto adicionado ao carrinho.
item_valor_x Valor do primeiro produto em seu carrinho, sem vírgulas ou pontos. Para um produto que custa R$ 1,00 você deverá informar 100 (somente números).
submit Você poderá utilizar uma das imagens dos botões do PagSeguro, como ex: https://pagseguro.uol.com.br/Security/Imagens/btnfinalizaBR.jpg
ou poderá usar botão próprio (informando o link do mesmo).
Campos Opcionais
(Obs: o campo tipo_frete só será utilizado se você usar o campo item_peso_x)
Nome Descrição
ref_transacao Código identificador para seu website.
Este campo é livre e poderá ser usado para identificar um cliente (cliente ID), ou como o numero do pedido ou qualquer outra referência que você queira usar.
item_frete_x Valor do frete da mercadoria sem vírgulas ou pontos. Para um frete de R$ 2,00 você deverá informar 200 (somente números).
item_peso_x Informe em gramas, o peso total dos produtos à venda Para 1kg informe 1000 e para 30 gramas informe 30
tipo_frete Este campo só será utilizado se você usar o campo acima, item_ peso_x
Aqui você deverá informar EN para PAC ou SD para Sedex. Se você não enviar essa informação, o PagSeguro perguntará ao usuário que tipo de frete ele gostaria de usar.
Imagens PagSeguro disponíveis (botões finalizar):
btnFinalizaBR.jpg btnConcluirBR.jpg btnFinalizar.jpg btnConcluir.jpg

Ao enviar esse formulário, o usuário será enviado para uma tela do PagSeguro, assim (clique para ampliar):


Ao preencher o CEP, os dados de endereço são autopreenchidos e é exibido o cadastro completo, assim (clique para ampliar):


Trabalhar com esse método tem algumas vantagens:

  1. Se o usuário já tem cadastro no PagSeguro, não precisará preencher seus dados novamente, basta fazer o login no PagSeguro.
  2. Você precisa desenvolver uma tela a menos. Você obterá os dados do usuário no retorno automático.
  3. O usuário não terá que fornecer seus dados num site que talvez seja desconhecido para ele. Fornecerá seus dados apenas no site do PagSeguro.

Solicitando os dados do comprador em sua loja

Nesta opção, você envia, junto com os dados da compra, os dados do usuário. Assim (diferenças em negrito):

<form target="pagseguro" method="post"
action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx">
<input type="hidden" name="email_cobranca"
value="suporte@lojamodelo.com.br">
<input type="hidden" name="tipo" value="CP">
<input type="hidden" name="moeda" value="BRL">

<input type="hidden" name="item_id_1" value="12345">
<input type="hidden" name="item_descr_1"
value="Descrição do item à ser vendido">
<input type="hidden" name="item_quant_1" value="1">
<input type="hidden" name="item_valor_1" value="100">
<input type="hidden" name="item_frete_1" value="0">
<input type="hidden" name="item_peso_1" value="0">

<input type="hidden" name="item_id_2" value="67890">
<input type="hidden" name="item_descr_2"
value="Descrição do item 2 à ser vendido">
<input type="hidden" name="item_quant_2" value="1">
<input type="hidden" name="item_valor_2" value="199">
<input type="hidden" name="item_frete_2" value="0">
<input type="hidden" name="item_peso_2" value="0">

<input type="hidden" name="tipo_frete" value="EN">
<input type="hidden" name="cliente_nome"
value="Nome do cliente">
<input type="hidden" name="cliente_cep" value="29200720">
<input type="hidden" name="cliente_end"
value="Rua José Barcelos de Mattos">
<input type="hidden" name="cliente_num" value="12">
<input type="hidden" name="cliente_compl" value="Sala 109">
<input type="hidden" name="cliente_bairro"
value="Bairro do cliente">
<input type="hidden" name="cliente_cidade"
value="Cidade do cliente">
<input type="hidden" name="cliente_uf" value="ES">
<input type="hidden" name="cliente_pais" value="BRA">
<input type="hidden" name="cliente_ddd" value="27">
<input type="hidden" name="cliente_tel" value="12345678">
<input type="hidden" name="cliente_email"
value="emaildocliente@cliente.com.br">
<input type="image"
src="https://pagseguro.uol.com.br/Security/Imagens/btnfinalizaBR.jpg"
name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!">
</form>

Os dados extra enviados são:

Campos Opcionais (cadastro do cliente)
Nome Descrição
cliente_nome Nome completo do cliente.
cliente_cep O CEP de 8 dígitos do cliente. Somente números (ex: 12345678)
cliente_end Logradouro do cliente (ex: Rua, Av, etc.)
cliente_num N° do imóvel do cliente (ex: 12)
cliente_compl Complemento (ex: Sala 109 ou Casa 1)
cliente_bairro Bairro do cliente
cliente_cidade Cidade do cliente (ex: São Paulo)
cliente_uf Estado do Cliente (SP) no formato dua letras
cliente_pais País do cliente. Atualmente o PagSeguro só está aceitando BRA (Brasil) em breve aceitaremos outros países.
cliente_ddd DDD do Telefone do cliente (ex: 11) no formato 2 números
cliente_tel Telefone fixo do cliente
cliente_email Email do cliente

Ao enviar esse formulário, o usuário será enviado para uma tela do PagSeguro onde ele escolhe seu meio de pagamento, assim (clique para ampliar):


ATENÇÃO: para que isso funcione, você precisa passar todos os dados obrigatórios. Um dos erros mais comuns é deixar de enviar o DDD, ou enviar o número no campo de endereço. Isso é muito comum, por exemplo, entre os usuários de OSCommerce, porque a tela de cadastro desse sistema não possui um campo separado para número ou para DDD. Nesses casos, você pode modificar a tela de cadastro de sua loja, ou tratar os dados digitados. Se você não enviar o DDD, por exemplo, veja como vai ficar a tela para onde o usuário será enviado (clique para ampliar):


Se você estiver trabalhando com frete por peso e não enviar o campo tipo_frete, o PagSeguro perguntará ao usuário o tipo de frete. Mas ele verá novamente a tela de cadastro. Então, se você vai pedir o cadastro do cliente em seu site, o ideal é perguntar o tipo de frete e enviar essa informação ao PagSeguro.

Mantido por Visie Padrões Web