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
email
etoken
citados 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"
}
]
}
}
}