PagSeguro
Esta documentação descreve a integração com a plataforma de pagamento PagSeguro e as configurações necessárias no ambiente do e-SiTef.
ATENÇÃO: Em ambiente de homologação, o comportamento do PagSeguro será simulado pelo e-SiTef a fim de tornar o processo de homologação mais confiável e satisfatório, uma vez que o ambiente de testes (Sandbox) do PagSeguro ainda não fornece todas as funcionalidades disponíveis em produção.
Dessa maneira, o comportamento das transações feitas com a autorizadora PagSeguro no ambiente de homologação pode não refletir o ambiente de produção.
Apesar do esforço empregado em manter o simulador sempre atualizado, mudanças efetuadas pelo PagSeguro podem ocorrer sem que haja aviso prévio à equipe e-SiTef.
Interfaces suportadas
- Pagamento HTML
- Cancelamento REST
- Cancelamento Portal
Configurações necessárias no e-SiTef
Antes de efetuar transações PagSeguro com o e-SiTef, devem ser seguidos os passos de configuração apresentados a seguir.
Dados cadastrais do PagSeguro
- A loja deve possuir um cadastro ativo no PagSeguro. Mais informações no site oficial do PagSeguro
- A tabela a seguir mostra as credenciais PagSeguro que devem ser obtidas pela loja, e que posteriormente serão cadastradas no e-SiTef:
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
email | Identificação do cliente | SIM |
token | Chave de acesso | SIM |
Inserir dados cadastrais no e-SiTef
Tendo em mãos os dados cadastrais PagSeguro citados acima, o lojista deve solicitar à equipe de atendimento do e-SiTef:
- A ativação do PagSeguro como uma autorizadora ativa no cadastro do e-SiTef.
- Caso não possua, um usuário e senha de acesso ao Portal do Lojista no e-SiTef.
Assim que a Autorizadora PagSeguro estiver associada à loja, o lojista deve acessar o Portal do Lojista e informar os dados cadastrais do PagSeguro no item "Configuração de Autorizadoras". Além dos parâmetros
emailetokencitados anteriormente.
Para mais detalhes de como cadastrar os dados no portal do lojista, consulte a seção específica do Portal do Lojista.
Código de Autorizadora para PagSeguro no e-SiTef
Para realizar pagamentos com a autorizadora pré-definida, envie o código 403 que se refere a autorizadora PagSeguro.
Parâmetros para transação via PagSeguro
Os parâmetros usados para fazer uma transação de pagamento com o PagSeguro devem ser enviados ao e-SiTef obrigatoriamente no formato JSON, através da URL do ambiente de homologação disponibilizada:
https://esitef-homologacao.softwareexpress.com.br/e-sitef/init.se
Para maiores informações sobre a interface de pagamento HTML, consulte a seção específica nessa documentação.
ATENÇÃO: Transações que entrarem em disputa no PagSeguro permanecerão com o status confirmado (
CON) no e-SiTef assim como os seus possíveis resultados (devolução ou pagamento confirmado). Cabe ao comprador verificar a situação da transação junto ao PagSeguro.
Abaixo estão listados os parâmetros que a loja pode enviar ao e-SiTef para possibilitar ao comprador fazer um pagamento no PagSeguro.
| Parâmetro | Descrição | Formato | Obrigatório |
|---|---|---|---|
additional_data | |||
extra_info | Informações adicionais. | < 1024 | NÃO |
currency | Indica a moeda na qual o pagamento será feito, no formato ISO 4217. No momento, a única opção disponível é BRL (Real). | < 1024 | NÃO |
extra_amount | Especifica um valor extra que deve ser adicionado ou subtraído ao valor total do pagamento. Esse valor pode representar uma taxa extra a ser cobrada no pagamento ou um desconto a ser concedido, caso o valor seja negativo. Formato: centavos. Exemplo: 123456 (R$ 1234, 56) ou -123456 (R$-1234,56) | < 1024 | NÃO |
additional_data.items[] | |||
id | Identificação do item. | < 1024 | NÃO |
title | Título do item. | < 1024 | SIM |
quantity | Quantidade do item. | < 1024 | SIM |
unit_price | Preço unitário do item em centavos. | < 1024 | SIM |
description | Descrição do item. | < 1024 | NÃO |
shipping_cost | Representam os custos de frete de cada item sendo pago. | < 1024 | NÃO |
weight | Correspondem ao peso (em gramas) de cada item sendo pago. Utilizado para calcular o frete, caso não seja informado o custo do frete (shipping_cost). Exemplo: 3000 (3kg) | < 1024 | NÃO |
additional_data.payer | |||
name | Nome do comprador. | < 1024 | NÃO |
surname | Sobrenome do comprador. | < 1024 | NÃO |
email | E-mail do comprador. | < 1024 | NÃO |
phone_area_code | Código da área do telefone. | < 1024 | NÃO |
phone_number | Número do telefone do comprador. | < 1024 | NÃO |
identification_type | Tipo de identificação do comprador. Somente o valor CPF é aceito. | < 1024 | NÃO |
identification_number | Número de identificação do comprador. | < 1024 | NÃO |
address_street_name | Endereço do comprador. | < 1024 | NÃO |
address_street_number | Número do endereço do comprador. | < 1024 | NÃO |
born_date | Especifica a data de nascimento do comprador que está realizando o pagamento. Formato ISO 8601. | < 1024 | NÃO |
additional_data.shipment | |||
cost | Informa o valor total de frete do pedido. Formato: centavos. Exemplo: 123456 (R$ 1234, 56) | < 1024 | NÃO |
type | Informa o tipo de frete a ser usado para o envio do produto. Valores aceitos: 1 – Encomenda Normal (PAC)2 – SEDEX3 – Tipo de frete não especificado. | < 1024 | NÃO |
additional_data.shipment.receiver_address | |||
zip_code | CEP do endereço a ser entregue. Formato: Número de 8 dígitos. Exemplo: 12345678 | < 1024 | NÃO |
street_number | Número do endereço a ser entregue. | < 1024 | NÃO |
street_name | Endereço a ser entregue. | < 1024 | NÃO |
floor | Número do andar a ser entregue. | < 1024 | NÃO |
apartment | Número do apartamento a ser entregue. | < 1024 | NÃO |
district | Informa o bairro do endereço de envio do produto. | < 1024 | NÃO |
complement | Informa o complemento (bloco, apartamento, etc.) do endereço de envio do produto. | < 1024 | NÃO |
city | Informa a cidade do endereço de envio do produto. | < 1024 | NÃO |
state | Informa o estado do endereço de envio do produto. Exemplo: SC (Santa Catarina), SP (São Paulo), etc. | < 1024 | NÃO |
country | Informa o país do endereço de envio do produto. No momento apenas o valor BRA é permitido | < 1024 | NÃO |
additional_data.extra_param.metadata[] | |||
key | Permite adicionar informações extras, agrupadas ou não, em sua requisição de pagamento. São aceitos apenas os valores descritos aqui. | < 1024 | NÃO |
value | Permite especificar valores para os metadados definidos em sua requisição de pagamento. | < 1024 | NÃO |
group | Permite agrupar dois ou mais metadados, como por exemplo CPF e nome de um mesmo passageiro. | < 1024 | NÃO |
Fluxo de pagamento PagSeguro
Após enviar os dados de criação da transação e escolher o meio de pagamento PagSeguro, o seguinte fluxo de telas será iniciado:
- Uma Janela LightBox do PagSeguro será aberta no browser para efetuar o pagamento:

- Caso a transação seja abortada, a seguinte tela será exibida:

- Caso a transação seja confirmada, a tela a seguir será apresentada:
d
- Caso a transação não seja confirmada, a seguinte tela será apresentada:

Aviso de Status - dados específicos
No Aviso de Status para pagamento feitos com o PagSeguro, são retornados adicionalmente os seguintes campos:
| Parâmetro | Descrição | Tamanho |
|---|---|---|
pagseguro_status_payment | Status da transação no PagSeguro.1 = Aguardando pagamento2 = Em análise3 = Paga4 = Disponível5 = Em disputa6 = Devolvida7 = Cancelada | < 15 AN |
pagseguro_type | Tipo da transação no PagSeguro. Normalmente, tipo 1 = Pagamento | < 5 AN |
pagseguro_cancellation_source | Origem do cancelamento no PagSeguro, apenas quando o parâmetro pagseguro_payment_status for igual a 7.INTERNAL = PagSeguroEXTERNAL = Instituições Financeiras | < 10 AN |
pagseguro_discount_amount | Valor do desconto dado. | < 10 AN |
pagseguro_fee_amount | Valor total das taxas cobradas. | < 10 AN |
ATENÇÃO: os dados apresentados são dados devolvidos pelo PagSeguro, logo o e-SiTef não possui controle sobre estes. Além disso, estes podem não retornar sempre.
Transação de Estorno - Cancelamento REST
Para realizar o estorno de uma transação PagSeguro, utilize a interface de Cancelamento REST. Para mais detalhes, consulte a seção específica na documentação.
Portal do Lojista
Para orientações gerais sobre o Portal do Lojista, por favor consulte a seção específica nesta documentação.
URL de acesso ao Portal do Lojista - Produção:
https://esitef-ec.softwareexpress.com.br/e-sitef-loja
URL de acesso ao Portal do Lojista - Homologação:
https://esitef-homologacao.softwareexpress.com.br/e-sitef-loja/
- Para realizar o estorno de uma transação PagSeguro, acesse o Portal do Lojista e clique no menu Cancelamento, conforme imagem abaixo:

Procure pela transação que se deseja realizar o estorno utilizando os filtros:

Clique na transação que se deseja realizar o estorno, a seguinte tela se abrirá:

- Verifique se os dados estão corretos e clique em Cancelar Pagamento e, em seguida, confirme. Caso a transação seja estornada com sucesso, um comprovante de estorno semelhante ao abaixo será apresentado:

Apêndices
Valores de chave para Metadata
| Valor | Descrição | Formato |
|---|---|---|
PASSENGER_CPF | CPF do passageiro | [0-9]{11} |
PASSENGER_PASSPORT | Passaporte do passageiro | .+ |
ORIGIN_CITY | Cidade de origem | .+ |
DESTINATION_CITY | Cidade de destino | .+ |
ORIGIN_AIRPORT_CODE | Código do aeroporto de origem | .+ |
DESTINATION_AIRPORT_CODE | Código do aeroporto de destino | .+ |
GAME_NAME | Nome do jogo | .+ |
PLAYER_ID | ID do jogador | .+ |
TIME_IN_GAME_DAYS | Tempo no jogo em dias | [0-9]+ |
MOBILE_NUMBER | Celular de recarga | ([0-9]{2})?([0-9]{2})([0-9]{4,5}[0-9]{4}) |
PASSENGER_NAME | Nome do passageiro | .+ |
Exemplo de JSON
{
"merchant_id": "CODIGO_LOJA",
"order_id": "1123456",
"redirect": "M",
"authorizer_id": "600",
"amount": "2000",
"installments": "1",
"back_url": {
"url_success": "url relativa de sucesso cadastrada no e-SiTef",
"url_failure": " url relativa de fracasso cadastrada no e-SiTef",
"url_cancel": " url relativa de cancelameto cadastrada no e-SiTef"
},
"additional_data": {
"extra_info": "dados extras",
"currency":"BRL",
"items": [
{
"description": "descricao",
"id": "123",
"quantity": "2",
"title": "Produto 1",
"unit_price": "1000",
"weight": "4000",
"shipping_cost": "1000"
},
{
"description": "descricao",
"id": "1234",
"quantity": "3",
"title": "Produto 2",
"unit_price": "2000",
"weight": "3000",
"shipping_cost": "1000"
}
],
"payer": {
"name": "João",
"surname": "Silva",
"email": "joao.silva@exemplo.com",
"phone_area_code": "11",
"phone_number": "78945123",
"identification_type": "CPF",
"identification_number": "12345678906",
"address_street_name": "Rua do Exemplo",
"address_street_number": "123",
"born_date": "12/12/1900"
},
"shipment": {
"cost": "2000",
"type": "1",
"receiver_address": {
"zip_code": "12345678",
"street_number": "Rua do Exemplo",
"street_name": "123",
"floor": "3",
"apartment": "901",
"city": "São Paulo",
"complement": "Sobreloja 3",
"country": "BRA",
"district": "Jardim do Exemplo",
"state": "SP"
}
},
"extra_param": {
"metadata": [
{
"key": "PASSENGER_CPF",
"value": "12345678901",
"group": "1"
},
{
"key": "PASSENGER_PASSPORT",
"value": "1594825512",
"group": "1"
}
]
}
}
}