Pagamento de ticket
Registra o pagamento de um ticket, com ou sem cartão de crédito, libera o ticket para saída e gera Recibo Provisório de Serviço (RPS). Em casos onde o integrador possui acordo com a garagem que permita a liberação de tickets sem pagamento, o parâmetro cartao_credito não é obrigatório, o processamento do pagamento não direciona a transação para os adquirentes e no retorno, os parâmetros autorizacao, transacao, retorno_codigo, retorno_mensagem e cartao_credito_token são suprimidos. Atualmente, a API permite o pagamento através dos adquirentes Cielo, Getnet, Maxipago e Stone (via e-SiTef). Embora a API encapsule as particularidades de cada adquirente, de forma a criar uma linguagem padronizada para pagamento do ticket para o integrador, independente do adquirente em uso, essas particularidades precisam ser respeitadas pelo desenvolvedor do aplicativo de pagamento. Em ambiente de desenvolvimento, a Cielo, a Maxipago e e-SiTef permitem o reaproveitamento do token do cartão de crédito para pagamento de mais de uma estadia, enquanto a Getnet não permite o reaproveitamento do token do cartão de crédito para pagamento de mais de uma estadia e exige que um novo token seja gerado a cada transação. Para pagamento através do token do cartão de crédito, a Cielo, a Maxipago e e-SiTef esperam somente o parâmetro cartao_credito.token, enquanto a Getnet espera os parâmetros cartao_credito.token, cartao_credito.portador e cartao_credito.validade, mesmo que esses parâmetros tenham sido enviados para a Getnet no momento da tokenização do cartão. Observe que a GenPag, por padrão, ativa o anti-fraude. Assim, os parâmetros de consumidor são obrigatórios para a GenPag. Caso o parâmetro rps não seja informado, o RPS é gerado sem identificação do tomador do serviço. Caso o parâmetro rps seja informado, os parâmetros para identificação do tomador são obrigatórios. O parâmetro transacao identifica a consulta feita previamente. A transação possui tempo de validade, entre a consulta e a confirmação do pagamento, dependente de configuração em cada garagem. Após o tempo de validade, a transação não é mais válida e não poder ser mais utilizada. Neste caso, deve ser requisitada uma nova consulta de ticket e gerada nova transação. Em ambiente de desenvolvimento o retorno da transação com cartão de crédito depende do adquirente e do número do cartão de crédito utilizado, conforme a lista a seguir.
Quando o adquirente for a Cielo:
STATUS DA TRANSAÇÃO |
FINAL DO CARTÃO |
CÓDIGO DE RETORNO |
MENSAGEM DE RETORNO |
Autorizado
|
0000.0000.0000.0001
0000.0000.0000.0004
|
4/6
|
Operação realizada com sucesso
|
Não Autorizado
|
0000.0000.0000.0002
|
05
|
Operação não autorizada
|
Não Autorizado
|
0000.0000.0000.0003
|
57
|
Cartão expirado
|
Não Autorizado
|
0000.0000.0000.0005
|
78
|
Cartão bloqueado
|
Não Autorizado
|
0000.0000.0000.0006
|
99
|
Tempo esgotado
|
Não Autorizado
|
0000.0000.0000.0007
|
77
|
Cartão cancelado
|
Não Autorizado
|
0000.0000.0000.0008
|
70
|
Problemas com o cartão de crédito
|
Autorização Aleatória
|
0000.0000.0000.0009
|
99
|
Operação realizada com sucesso
Tempo esgotado
|
Quando o adquirente for a Getnet:
BANDEIRA |
CARTÃO |
TIPO DE TESTE |
RESULTADO DO TESTE |
Mastercard
|
5155901222280001
|
Transação autorizada
|
Transação aprovada
|
Mastercard
|
5155901222280002
|
Transação não autorizada
|
Cartão inválido
|
Mastercard
|
5155901222280003
|
Transação não autorizada
|
Cartão vencido
|
Mastercard
|
5155901222280004
|
Transação não autorizada
|
Estabelecimento inválido
|
Mastercard
|
5155901222280005
|
Transação não autorizada
|
Saldo insuficiente
|
Mastercard
|
5155901222280006
|
Transação não autorizada
|
Autorização recusada
|
Mastercard
|
5155901222280007
|
Transação não autorizada
|
Transação não processada |
Mastercard
|
5155901222280008
|
Transação não autorizada
|
Excede o limite de retiradas
|
Visa
|
4012001037141112
|
Transação autorizada
|
Transação aprovada
|
Quando for e-SiTef:
BANDEIRA |
CARTÃO |
TIPO DE TESTE |
RESULTADO DO TESTE |
Mastercard
|
539000000000000009
|
Transação autorizada
|
Cartão válido
|
Visa
|
400000000000004
|
Transação autorizada
|
Cartão válido
|
Quando o adquirente for a Maxipago:
CENÁRIO |
RESULTADO DA TRANSAÇÃO |
Venda Direta (“sale”) com valor par, menor que R$300 ou maior que R$500. Exemplo: R$1,00 ou R$299,92 ou R$610,06
|
Aprovada
|
Venda Direta (“sale”) com valor ímpar, menor que R$300 ou maior que R$500. Exemplo: R$1,01 ou R$20,09 ou R$700,55
|
Recusada
|
Autorização (“auth”) com valor par, menor que R$300 ou maior que R$500 e com o número de cartão 4901720380077300.
|
Recusada por fraude
|
Autorização (“auth”) com valor par, menor que R$300,00 ou maior que R$500,00 e com o número de cartão 4901720366459100.
|
Em revisão de fraude
|
O pagamento de um ticket por cartão de crédito é realizado em três etapas: a primeira etapa cria uma transação na adquirente; a segunda registra o pagamento na garagem; e a terceira captura a transação na adquirente. Esse processo garante que a transação somente seja cobrada do cliente se ela for registrada na garagem. Caso a primeira ou segunda etapa não seja concluída com sucesso, a transação é cancelada na adquirente.
POST api/integradores/permanencia_pagamentos
HEADERS
CHAVE |
VALOR |
DESCRIÇÃO |
OBRIGATÓRIO |
Accept |
application/vnd.linkc.com.br; version=1 | Versão da API. | SIM |
Authorization |
Bearer <TOKEN> |
Token obtido na autenticação |
SIM |
Content-Type |
application/json |
Tipo de conteúdo do request |
SIM |
PARÂMETROS (BODY)
Todos os valores devem ser enviados como strings.
CHAVE |
DESCRIÇÃO |
OBRIGATÓRIO |
transacao
|
Identificador único e temporário da transação de consulta.
|
SIM |
session_id | Este parâmetro é necessário para que sejam localizados os dados do dispositivo no momento da análise da transação. | SIM para Genpag, NÃO para as demais |
tipo |
Tipo da transação (credito/pix). Como padrão, caso não seja enviado nenhum valor, a API assumirá o valor "credito". |
NÃO |
forma_pagamento |
Código interno do sistema, solicitar a garagem o código a ser informado nesse campo, caso não seja enviado, assumiremos o valor padrão definido nas configurações do usuário. O tipo do campo a ser enviado é um texto e não um número. |
NÃO |
rps
|
JSON contendo dados para emissão de RPS. Caso não seja fornecido, será gerado RPS na garagem sem identificação do tomador do serviço.
|
NÃO
|
rps.pessoa_fisica
|
JSON contendo dados da pessoa física tomadora do serviço.
|
SIM
|
rps.pessoa_fisica.email
|
E-mail do tomador do serviço.
|
SIM
|
rps.pessoa_fisica.cpf
|
CPF do tomador de serviço.
|
SIM
|
rps.pessoa_fisica.nome
|
Nome do tomador de serviço.
|
SIM
|
rps.pessoa_fisica.logradouro
|
JSON contendo dados do endereço do tomador do serviço.
|
SIM
|
rps.pessoa_fisica.logradouro.tipo
|
Tipo do logradouro. Um valor dentre “RUA”, “AV” e “ROD”.
|
SIM
|
rps.pessoa_fisica.logradouro.nome |
Nome do logradouro. |
SIM
|
rps.pessoa_fisica.logradouro.numero |
Número do logradouro. |
SIM
|
rps.pessoa_fisica.logradouro.complemento
|
Complemento do logradouro.
|
SIM
|
rps.pessoa_fisica.logradouro.bairro
|
Bairro do logradouro.
|
SIM
|
rps.pessoa_fisica.logradouro.cidade
|
Cidade do logradouro.
|
SIM
|
rps.pessoa_fisica.logradouro.uf
|
UF do logradouro.
|
SIM
|
rps.pessoa_fisica.logradouro.cep
|
CEP do logradouro.
|
SIM
|
rps.pessoa_juridica
|
JSON contendo dados da pessoa jurídica tomadora do serviço.
|
SIM
|
rps.pessoa_juridica.email
|
E-mail do tomador do serviço.
|
SIM
|
rps.pessoa_juridica.cnpj
|
CNPJ do tomador de serviço.
|
SIM
|
rps.pessoa_juridica.nome
|
Nome do tomador de serviço.
|
SIM
|
rps.pessoa_juridica.logradouro
|
JSON contendo dados do endereço do tomador do serviço.
|
SIM
|
rps.pessoa_fisica.logradouro.tipo
|
Tipo do logradouro. Um valor dentre “RUA”, “AV” e “ROD”.
|
SIM
|
rps.pessoa_fisica.logradouro.nome |
Nome do logradouro. |
SIM
|
rps.pessoa_fisica.logradouro.numero |
Número do logradouro. |
SIM
|
rps.pessoa_fisica.logradouro.complemento
|
Complemento do logradouro.
|
SIM
|
rps.pessoa_fisica.logradouro.bairro
|
Bairro do logradouro.
|
SIM
|
rps.pessoa_fisica.logradouro.cidade
|
Cidade do logradouro.
|
SIM
|
rps.pessoa_fisica.logradouro.uf
|
UF do logradouro.
|
SIM
|
rps.pessoa_fisica.logradouro.cep
|
CEP do logradouro.
|
SIM
|
tag
|
Identificador do integrador, utilizado como marcador para consultas futuras. (no máximo 20 caracteres)
|
NÃO
|
external_id
|
Identificador externo.
|
NÃO
|
Tipo: pix
CHAVE |
DESCRIÇÃO |
OBRIGATÓRIO |
consumidor.nome |
Nome consumidor |
SIM
|
consumidor.cpf |
CPF do consumidor |
SIM
|
webhook |
Url de retorno do pagamento. Essa configuração poderá ser realizada diretamente nos sistema da Link. Essa url será utilizada para avisar, assim que o pagamento do pix for identificado no nosso sistema. Precisamos de uma url válida. Caso não envia a url de retorno, o status do pagamento poderá ser consulta nesse endpoint. |
NÃO
|
token |
Se o token for enviado, colocaremos o valor no HEADER no retorno da informação na url cadastrada para webhook. O valor será configurado no Authorization: Bearer<token> |
NÃO
|
Observação: Caso queira, o token pode ser enviado como hash na url do campo webhook, nesse caso, não enviaremos o token pele HEADER.
Tipo: credito
cartao_credito.portador | Nome do portador do cartão de crédito. | SIM |
cartao_credito.validade
|
Data de validade do cartão de crédito no formato MM/YYYY.
|
SIM |
cartao_credito.codigo_seguranca
|
Código de segurança do cartão de crédito.
|
NÃO para Genpag, SIM para as demais
|
cartao_credito.bandeira
|
Bandeira do cartão de crédito.
Para Cielo, um valor entre "Visa", "Master", "Amex", "Elo", "Aura", "JCB", "Diners", "Discover", "Hipercard" e "Hiper".
Para Getnet, um valor entre "Visa", "Mastercard", "Amex", "Elo", e "Hipercard".
|
NÃO para Genpag, SIM para as demais
|
cartao_credito.tokeniza
|
True para armazenar o cartão de crédito e gerar token para futuros pagamentos. False para não armazenar o cartão de crédito.
|
NÃO para Genpag, SIM para as demais
|
cartao_credito.consumidor
|
JSON contendo dados do portador do cartão de crédito.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.nome
|
Nome e sobrenome do portador, separado por espaço simples.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.cpf
|
CPF do cliente.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.email
|
Email do cliente, até 50 caracteres.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.telefone
|
Telefone do cliente, até 15 caracteres.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.data_nascimento
|
Data de nascimento do cliente no formato YYYY-MM-DD
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.endereco
|
JSON contendo dados do endereço do cliente.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.endereco.logradouro
|
Nome do logradouro.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.endereco.numero
|
Número do logradouro.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.endereco.complemento
|
Complemento do logradouro.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.endereco.bairro
|
Bairro do logradouro.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.endereco.cidade
|
Cidade do logradouro.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.endereco.uf
|
UF do logradouro.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.endereco.cep
|
CEP do logradouro.
|
SIM para Genpag, NÃO para as demais
|
cartao_credito.consumidor.endereco.pais
|
Sigla do país do logradouro.
|
SIM para Genpag, NÃO para as demais
|
RETORNO EM CASO DE SUCESSO (200 – OK)
CHAVE |
DESCRIÇÃO |
id
|
Identificador único da transação de pagamento.
|
ticket
|
Número do ticket.
|
entrada_datahora
|
Data e hora de registro de entrada no estacionamento.
|
registro_datahora
|
Data e hora de registro da transação na garagem.
|
validade_datahora
|
Data e hora de validade para saída da garagem.
|
valor_pago
|
Valor pago pela estadia.
|
autorizacao
|
Identificação de autorização do pagamento na adquirente.
|
transacao
|
Identificação de transação do pagamento no adquirente.
|
retorno_codigo
|
Código de retorno do adquirente da transação de pagamento.
|
retorno_mensagem
|
Mensagem de retorno do adquirente da transação de pagamento.
|
cartao_credito_token
|
Token do cartão de crédito para futuros pagamentos. O token não fica armazenado na API e não pode ser consultado novamente.
|
rps_numero
|
Número do RPS gerado na garagem. Caso a garagem não emita RPS, este parâmetro não é retornado.
|
nfce_qrcode
|
URL de consulta da NFC-e. Será gerado somente quando a garagem for obrigada a emitir NFC-e.
|
nfce_chave_acesso
|
Chave de acesso de consulta NFC-e. Será gerado somente quando a garagem for obrigada a emitir NFC-e.
|
tag
|
Identificador do integrador.
|
qrcode_pix
|
QRCode do pix para pagamento, no caso do tipo "pix"
|
tipo
|
CREDITO/PIX
|
status
|
1 - Pago / 2 - Pendente / 3 - Cancelado
|
RETORNO EM CASO DE SUCESSO DE PAGAMENTO POR TICKET POR CARTÃO
{
"permanencia_pagamento": {
"id": "69d5b2f7",
"ticket": "1234567890",
"entrada_datahora": "2019-08-30T18:35:25.000-03:00",
"registro_datahora": "2019-08-30T20:49:20.000-03:00",
"validade_datahora": "2019-08-30T21:35:25.000-03:00",
"valor_pago": "5.0",
"autorizacao": "12345678",
"transacao": "1234567890",
"retorno_codigo": "4",
"retorno_mensagem": "Operation Successful",
"cartao_credito_token": "db62dc71-d07b-4745-9969-42697b988ccb",
"rps_numero": "000000123456",
"nfce_qrcode": "http://dec.fazenda.uf.gov.br/ConsultarNFCe.aspx?p=5019131613336820762580901",
"nfce_chave_acesso": "38010022300500997503763196132135776124080302",
"tag": "ABCDEF0123456789",
"tipo": "CREDITO"
}
}
RETORNO EM CASO DE SUCESSO DE GERAR O QRCODE PARA PAGAMENTO POR PIX
{
"permanencia_pagamento": {
"id": "69d5b2f7",
"ticket": "1234567890",
"entrada_datahora": "2019-08-30T18:35:25.000-03:00",
"registro_datahora": "2019-08-30T20:49:20.000-03:00",
"validade_datahora": "2019-08-30T21:35:25.000-03:00",
"valor_pago": "5.0",
"autorizacao": "12345678",
"transacao": "1234567890",
"retorno_codigo": "4",
"retorno_mensagem": "Operation Successful",
"cartao_credito_token": "",
"rps_numero": "",
"nfce_qrcode": "",
"nfce_chave_acesso": "",
"qrcode_pix": "00020101021226880014br.gov.bcb.pix2566qrcodes-h.cielo.com.br/pix-qr/d05b1a34-ec52-4201-ba1e-d3cc2a43162552040000530398654041.005802BR5918Merchant Teste HML6009Sao Paulo62120508000101296304031C",
"tag": "ABCDEF0123456789",
"tipo": "PIX"
}
}
RETORNO EM CASO DE SUCESSO DE PAGAMENTO POR TICKET POR PIX,
FAREMOS UM POST PARA O URL CADASTRA NO WEBHOOK.
POST {url informada no webhook}
RETORNO DE SUCESSO DO PIX
{
"permanencia_pagamento": {
"id": "69d5b2f7",
"ticket": "1234567890",
"entrada_datahora": "2019-08-30T18:35:25.000-03:00",
"registro_datahora": "2019-08-30T20:49:20.000-03:00",
"validade_datahora": "2019-08-30T21:35:25.000-03:00",
"valor_pago": "5.0",
"autorizacao": "12345678",
"transacao": "1234567890",
"retorno_codigo": "4",
"retorno_mensagem": "Operation Successful",
"cartao_credito_token": "",
"rps_numero": "000000123456",
"nfce_qrcode": "http://dec.fazenda.uf.gov.br/ConsultarNFCe.aspx?p=5019131613336820762580901",
"nfce_chave_acesso": "38010022300500997503763196132135776124080302",
"tag": "ABCDEF0123456789",
"tipo": "PIX",
"status": "1"
}
}
RETORNO DE CANCELAMENTO DO PIX
{
"permanencia_pagamento": {
"id": "69d5b2f7",
"ticket": "1234567890",
"entrada_datahora": "2019-08-30T18:35:25.000-03:00",
"registro_datahora": "2019-08-30T20:49:20.000-03:00",
"validade_datahora": "2019-08-30T21:35:25.000-03:00",
"valor_pago": "",
"autorizacao": "12345678",
"transacao": "1234567890",
"retorno_codigo": "3",
"retorno_mensagem": "Cancelado",
"cartao_credito_token": "",
"rps_numero": "",
"nfce_qrcode": "",
"nfce_chave_acesso": "",
"tag": "ABCDEF0123456789",
"tipo": "PIX",
"status": "3"
}
}
OUTROS RETORNOS
CÓDIGO HTTP |
DESCRIÇÃO |
400 |
Caso os parâmetros passados estejam incorretos. |
401 |
Caso as credenciais sejam inválidas. |
404
|
Caso o identificador único da transação de consulta não seja encontrado ou tenha expirado.
|
422 |
Caso haja problema na transação com a adquirente, dois parâmetros adicionais serão retornados: retorno_codigo e retorno_mensagem, contendo o código de retorno da adquirente e uma mensagem produzida pela API referente ao código retornado pela adquirente. |
502
|
Caso não seja possível registrar o pagamento na automação da garagem, um parâmetro adicional error será retornado com uma mensagem de erro para o usuário.
|
EXEMPLO DE RETORNO EM CASO DE ERRO (422 – UNPROCESSABLE ENTITY)
{
"error": {
"retorno_codigo": "05",
"retorno_mensagem": "Operação não autorizada"
}
}
EXEMPLO DE RETORNO EM CASO DE ERRO (502 – BAD GATEWAY)
{
"error": "Serviço indisponível no momento. Realize o pagamento nos caixas do estacionamento."
}