Faturamento de estadia
Registra o faturamento de uma estadia, com ou sem cartão de crédito, libera a estadia para saída e gera documento fiscal. Em casos onde o integrador possui acordo com a garagem que permita a liberação de estadias 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, o parâmetro cartao_credito_token será suprimido. 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 da estadia, 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. Caso o parâmetro documento_fiscal não seja informado, o documento fiscal é gerado sem identificação do tomador do serviço. Caso o parâmetro documento_fiscal seja informado, os parâmetros para identificação do tomador são obrigatórios. O parâmetro transacao_id 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/estadias_faturamentos
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_id
|
Identificador único e temporário da transação de consulta.
|
SIM |
modalidade_pagamento_id |
Código interno do sistema, solicitar a garagem o código a ser informado nesse, caso não seja enviado, assumiremos o valor padrão definido nas configurações do usuário. |
NÃO |
documento_fiscal
|
JSON contendo dados para emissão de documento fiscal. Caso não seja fornecido, será gerado documento fiscal na garagem sem identificação do tomador do serviço.
|
NÃO
|
documento_fiscal.nome
|
Nome do tomador de serviço.
|
SIM
|
documento_fiscal.documento
|
CPF/CNPJ do tomador de serviço.
|
SIM
|
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.
|
SIM
|
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".
|
SIM
|
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.
|
SIM
|
tag_externa
|
Identificador do integrador, utilizado como marcador para consultas futuras. (no máximo 20 caracteres)
|
NÃO
|
RETORNO EM CASO DE SUCESSO (200 – OK)
CHAVE |
DESCRIÇÃO | |
id
|
Identificador único da transação de pagamento.
|
|
localizador
|
Localizador da estadia.
|
|
entrada_solicitada_em
|
Data e hora da entrada no estacionamento.
|
|
registrado_em
|
Data e hora da transação na garagem.
|
|
saida_ate
|
Data e hora para saída da garagem.
|
|
valor_pago
|
Valor pago pela estadia.
|
|
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.
|
|
documento_fiscal.serie_contador
|
Número do documento fiscal gerado na garagem. Caso a garagem não emita documento fiscal, este parâmetro não é retornado.
|
|
documento_fiscal.serie_codigo
|
Código do documento fiscal gerado na garagem. Caso a garagem não emita documento fiscal, este parâmetro não é retornado.
|
|
tag_externa
|
Identificador do integrador.
|
|
modalidades
|
Lista das modalidades utilizadas no faturamento.
|
|
modalidades[].id
|
Código da modalidade de pagamento.
|
|
modalidades[].identificacao
|
Identificação da modalidade de pagamento.
|
|
modalidades[].valor
|
Valor pago através da modalidade de pagamento.
|
|
parceiros
|
Lista dos parceiros utilizados no faturamento.
|
|
parceiros[].id
|
Código do parceiro.
|
|
parceiros[].identificacao
|
Identificação do parceiro.
|
|
parceiros[].valor_cliente
|
Valor pago pelo cliente.
|
|
parceiros[].valor_parceiro
|
Valor a ser cobrando do parceiro.
|
|
parceiros[].periodo_inicio_em
|
Início do período.
|
|
parceiros[].periodo_fim_em
|
Fim do período.
|
RETORNO EM CASO DE SUCESSO DE PAGAMENTO
{
"estadia_faturamento": {
"id": "73b4cab7-ea27-426c-b247-bf0f006e0f05",
"localizador": "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",
"documento_fiscal_numero": "000000123456",
"tag": "ABCDEF0123456789",
"modalidade_pagamento_id": "73b4cab7-ea27-426c-b247-bf0f006e0f05",
"modalidade_pagamento_nome": "CARTÃO"
}
}
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."
}