Pular para o conteúdo principal

TransacoesPBM

Transações PBM

atenção

Os itens descritos abaixo desse alerta são customizações liberadas a partir da release de Paykit 8.22.23.0012 (inclusive)

Esse trecho da documentação irá esclarecer o formato de integração com o Paykit para as transações PBM de: (1) Consulta Redes PBM Ativas, (2) Consulta Pré Autorização, (3) Consulta Produtos PBM, (4) Venda PBM, (5) Confirmação PBM, (6) Desfazimento PBM e (7) Cancelamento PBM.

Método de integração

Para efetuar as transações PBM's, é necessario a integração apenas com o método abaixo, sendo que por ele será possivel interagir com todas as transações disponiveis no fluxo de PBM.

    const char *DIRETIVA_CALLBACK TransacaoPBM(char *pJsonSolicitacao, int *status)
ItemTamanhoObrigatorioDescrição
pJsonSolicitacaoVariavelsimponteiro para char, que contém o json com o input da automação para a operação de PBM. É necessario que no final da "string" exista o caracter de final de linha '\0'
status--simponteiro para uma variavel que guarda o tipo inteiro.

O parametro de retorno const char* do método em questão conterá o json de reposta do TEF, todavia caso a automação deseje capturar em um segundo momento os dados de retorno da transação Consulta Pré-Autorização, Venda, Consulta Produtos e Cancelamento, conseguirá através do método Obter Log Transação.

O const char* de retorno do método não deve ser manipulado pela automação, a automação deve copiar o retorno para dentro de um objeto interno da mesma antes de tomar qualquer ação. Caso a automação tente realizar um free ou deixe com que o garbage colector da linguagem utilizada realize um free do retorno, poderá ocorrer um crash em um momento inesperado do fluxo.

Lista de PBM's suportadas

CodigoNome
5VidaLink
8Orizon
73ePharma
76Funcional
230Interplayers
231Golden Farma

Consulta Redes PBM Ativas

Transação para consultar as redes PBM's cadastradas no TEF e ativas para o estabelecimento em questão

Requisição

Envio - Clique para mostrar o Objeto

Json de Exemplo

{
"codigoTransacao": 8029
}

Descritivo

ItemTipoObrigatorioDescrição
codigoTransacaointsimCódigo da transação a ser executada no TEF, para esta operação utilizar 8029

Resposta

Resposta TEF - Clique para mostrar o objeto

Json de Exemplo

{
"parametrosRetorno":{
"redes":[
{
"codigo":"76",
"nome":"PBMFuncional"
},
{
"codigo":"5",
"nome":"VidaLink"
},
{
"codigo":"8",
"nome":"Orizon"
},
{
"codigo":"230",
"nome":"Interplayers"
}
]
}
}

Descritivo

ItemSub-itemTipoDescrição
redesObjetoLista das redes PBM disponíveis
codigostringCodigo da rede no TEF a qual a PBM deverá ser processada
nomestringNome da rede PBM
tipoIntegracaostringUso interno

Consulta Pré Autorização

Transação para obter dados de uma pré-autorização gerada no portal da PBM.

Requisição

Envio - Clique para mostrar o Objeto

Json de Exemplo

{
"codigoTransacao": 8030,
"parametrosEntrada": {
"codigoRede": "76",
"dataCriacao": "2025-07-04T12:07:47Z",
"nsuPreAutorizacaoPBM": "147032",
"codigoCliente": "4444444444"
}
}

Descritivo

ItemSub-itemTipoObrigatorioDescrição
codigoTransacaointSimCódigo da transação a ser executada no TEF, para esta operação utilizar: 8030
parametrosEntradaObjetoSimDados a serem processados pelo TEF e quem tem como requisito as redes PBM
codigoRedestringSimCodigo da rede no TEF a qual a PBM deverá ser processada
dataCriacaostringSim"2025-07-17T16:28:51Z" -> data no formato YYYY-MM-DD (ano-mês-dia)
T: separador entre a data e a hora.
16:28:51: hora no formato de 24 horas (HH:MM:SS).
Z: indica que o horário está em UTC (Tempo Universal)
nsuPreAutorizacaoPBMstringSimNSU Gerado pela rede PBM no momento da pré-autorização
codigoClientestringSimCPF ou Cartão Convenio do cliente. Caso o dado informado seja um CPF valido, o campo será tratado como CPF, se não como cartão convenio

Resposta

Resposta TEF - Clique para mostrar o objeto

Json de Exemplo

{
"parametrosRetorno": {
"status": "",
"mensagemStatus": "",
"detalheStatus": "",
"valorAVista": "",
"nsuPreAutorizacaoPBM": "",
"dataCriacao": "",
"valorTransacao": "",
"valorCartao": "",
"codigoCliente": "",
"comprovante": "",
"saldoCartao": "",
"origem": "",
"medicamento": [
{
"codigo": "",
"descricao": "",
"precoMaxConsumidor": "",
"precoRepasseVarejo": "",
"precoAquisicaoUnitario": "",
"quantidadeAutorizada": "",
"dataReceita": "",
"crm": "",
"crm_cro": "",
"uf_crm": ""
}
]
}
}

Descritivo

ItemSub-itemSub-item²TipoDescrição
parametrosRetornoObjetoObjeto contendo os dados de resposta do TEF
statusstringResultado da transação. Valores possíveis. "Sucesso" ou "Erro"
mensagemStatusstringMensagem retornada pelo TEF para a aplicação
detalheStatusstringMensagem adicional retornada exatamente como recebida da rede PBM. O campo só será enviado se recebido na resposta da rede PBM. Não será feita nenhuma validação ou padronização neste campo.
valorAVistastringValor pago à vista pelo cliente expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
nsuPreAutorizacaoPBMstringNSU Gerado pela rede PBM no momento da pré-autorização.
valorTransacaostringValor total da transação expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
valorCartaostringValor pago via cartão/convênio PBM. Valor cobrado no cartão PBM. Expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
codigoClientestringCPF ou Cartão Convenio do cliente. Caso o dado informado seja um CPF valido, o campo será tratado como CPF, se não como cartão convenio
comprovantestringComprovante da transação. O caracter "@" representa o início de uma nova linha.
saldoCartaostringSaldo disponível no cartão PBM após a transação. Expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
origemstringInformação da origem da transação, pode variar para cada rede PBM ou não ser enviado.
medicamentoArray de objDados dos medicamentos
codigostringCódigo ean do produto
descricaostringNome do produto
precoMaxConsumidorstringPreço máximo ao consumidor expresso em centavos
precoRepasseVarejostringValor de repasseo ao varejo, expresso em centavos
precoAquisicaoUnitariostringPreço de aquisição unitário, expresso em centavos
quantidadeAutorizadastringQuantidade autorizada
dataReceitastringdata no formato YYYY-MM-DD (ano-mês-dia)
T: separador entre a data e a hora.
16:28:51: hora no formato de 24 horas (HH:MM:SS).
Z: indica que o horário está em UTC (Tempo Universal)
crm_crostringIndica se é um CRM ou CRO o campo "crm", possibilidades: 0 para CRM, 1 para CRO
crmstringCRM do médico ou CRO do odontologista que solicitou o medicamento
uf_crmstringEstado do CRM ou CRO

Consulta Produtos PBM

Transação disponivel apenas para a PBM Interplayers e tem o objetivo de retornar dados dos produtos vinculado a um ean

Requisição

Envio - Clique para mostrar o Objeto

Json de Exemplo

{
"codigoTransacao": 8200,
"parametrosEntrada": {
"codigoRede": "230",
"medicamento": [
{
"codigo": "7897337706742"
}
]
}
}

Descritivo

ItemSub-itemSub-item²TipoObrigatorioDescrição
codigoTransacaointSimCódigo da transação a ser executada no TEF, para esta operação utilizar: 8200
parametrosEntradaObjetoSimDados a serem processados pelo TEF e quem tem como requisito as redes PBM
codigoRedestringSimCodigo da rede no TEF a qual a PBM deverá ser processada
medicamentoArray de objSim
codigostringSimCódigo ean do produto

Resposta

Resposta TEF - Clique para mostrar o objeto

Json de Exemplo

{
"parametrosRetorno": {
"status": "",
"medicamento": [
{
"codigo": "",
"precoMaxConsumidor": "",
"precoAquisicaoUnitario": "",
"quantidadeAutorizada": "",
"mensagemInformativa": "",
"nomeDaIndustria": "",
"linkDaImagem": "",
"quantidadeMaximaDeDesconto": "",
"descontoMinimoNovoPaciente": "",
"descontoMaximoNovoPaciente": ""
}
]
}
}

Descritivo

ItemSub-itemSub-item²TipoDescrição
parametrosRetornoObjetoObjeto contendo os dados de resposta do TEF
medicamentoArray de objDados dos medicamentos
codigostringCódigo ean do produto
precoMaxConsumidorstringPreço máximo ao consumidor expresso em centavos
precoAquisicaoUnitariostringPreço de aquisição unitário, expresso em centavos
quantidadeAutorizadastringQuantidade autorizada
mensagemInformativastringMensagem informativa relacionada ao produto ou transação.
nomeDaIndustriastringNome da indústria farmacêutica do produto.
linkDaImagemstringURL da imagem da indústria.
quantidadeMaximaDeDescontostringQuantidade máxima aplicável de desconto.
descontoMinimoNovoPacientestringPercentual mínimo de desconto para novos pacientes.
descontoMaximoNovoPacientestringPercentual máximo de desconto para novos pacientes.

Venda PBM

Essa transação tem por objetivo efetivar uma pré-autorização realizada anteriormente no portal da PBM. A exceção a essa regra é a PBM Interplayers, que caso não seja enviado o número da pré-autorização, uma venda será gerada.

Requisição

Envio - Clique para mostrar o Objeto

Json de Exemplo

{
"codigoTransacao": 8031,
"parametrosEntrada": {
"codigoRede": "8",
"nsuPreAutorizacaoPBM": "58677317",
"valorTransacao": "1000",
"codigoCliente": "60100022100000116",
"dataCriacao": "2025-07-17T16:28:51Z",
"cupons": [
{
"cupom": [
{
"tipo": "esat",
"codigo": "3234592",
"chave": "key"
}
]
}
],
"medicamento": [
{
"codigo": "7896004700410",
"quantidadeAutorizada": "1",
"crm": "987654321",
"crm_cro": "0",
"uf_crm": "SP",
"dataReceita": "2025-07-17T16:28:51Z",
"descricao": "RECEITA 01",
"precoAquisicaoUnitario": "5000",
"usoContinuo": "S"
}
]
}
}

Descritivo

ItemSub-itemSub-item²Sub-item³TipoObrigatorioDescrição
codigoTransacaointintCódigo da transação a ser executada no TEF, para esta operação utilizar: 8031
parametrosEntradaObjetoSimDados a serem processados pelo TEF e quem tem como requisito as redes PBM
codigoRedestringSimCodigo da rede no TEF a qual a PBM deverá ser processada. Não obrigatorio para a PBM Interplayers
nsuPreAutorizacaoPBMstringSimNSU Gerado pela rede PBM no momento da pré-autorização
valorTransacaostringSimValor total da transação expresso em centavos.
codigoClientestringSimCPF ou Cartão Convenio do cliente. Caso o dado informado seja um CPF valido, o campo será tratado como CPF, se não como cartão convenio
dataCriacaostring dateSimData criação pré-autorização
Formato "2025-07-17T16:28:51Z"
Sendo data no formato YYYY-MM-DD (ano-mês-dia).
T: separador entre a data e a hora.
16:28:51: hora no formato de 24 horas (HH:MM:SS).
Z: indica que o horário está em UTC (Tempo Universal)
cuponsArray de objSimObjeto que contém os dados da nota fiscal
cupomArray de objSim
tipostringSimtipo de cupom informado, possibilidades: "esat" ou "ecf"
codigostringSimNúmero da nota fiscal
chavestringNãoSe informado informado esat é obrigatorio o numero da chave
medicamentoArray de objSim
codigostringSimCódigo ean do produto
quantidadeAutorizadastringSimQuantidade do médicamento autorizada para a venda
crmstringSimCRM do médico ou CRO do odontologista que solicitou o medicamento
crm_crostringSimIndica se é um CRM ou CRO o campo "crm", possibilidades: 0 para CRM, 1 para CRO
uf_crmstringSimEstado
dataReceitastringSimData que a receita foi emitida pelo médico formato no formato YYYY-MM-DD (ano-mês-dia)
T: separador entre a data e a hora.
16:28:51: hora no formato de 24 horas (HH:MM:SS).
Z: indica que o horário está em UTC (Tempo Universal)
descricaostringNãoCampo opcional para descrever o medicamento
precoAquisicaoUnitariostringSimPreço do produto no estabelecimento
usoContinuostringSim"S" para indicar que SIM e "N" para indicar que não

Resposta

Resposta TEF - Clique para mostrar o objeto

Json de Exemplo

{
"parametrosRetorno": {
"status": "",
"mensagemStatus": "",
"detalheStatus": "",
"valorAVista": "",
"nsuPreAutorizacaoPBM": "",
"nsuTEF": "",
"dataCriacao": "",
"valorTransacao": "",
"valorCartao": "",
"codigoCliente": "",
"comprovante": "",
"saldoCartao": "",
"origem": "",
"medicamento": [
{
"codigo": "",
"descricao": "",
"precoMaxConsumidor": "",
"precoRepasseVarejo": "",
"precoAquisicaoUnitario": "",
"quantidadeAutorizada": "",
"dataReceita": "",
"crm": "",
"crm_cro": "",
"uf_crm": ""
}
]
}
}

Descritivo

ItemSub-itemSub-item²TipoDescrição
parametrosRetornoObjetoObjeto contendo os dados de resposta do TEF
statusstringResultado da transação. Valores possíveis. "Sucesso" ou "Erro"
mensagemStatusstringMensagem retornada pelo TEF para a aplicação
detalheStatusstringMensagem adicional retornada exatamente como recebida da rede PBM. O campo só será enviado se recebido na resposta da rede PBM. Não será feita nenhuma validação ou padronização neste campo.
valorAVistastringValor pago à vista pelo cliente expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
nsuPreAutorizacaoPBMstringNSU gerado pela rede PBM no momento da pré-autorização.
nsuTEFstringNSU gerado pelo TEF no momento da venda.
valorTransacaostringValor total da transação expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
valorCartaostringValor pago via cartão/convênio PBM. Valor cobrado no cartão PBM. Expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
codigoClientestringCPF ou Cartão Convenio do cliente. Caso o dado informado seja um CPF valido, o campo será tratado como CPF, se não como cartão convenio
comprovantestringComprovante da transação. O caracter "@" representa o início de uma nova linha.
saldoCartaostringSaldo disponível no cartão PBM após a transação. Expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
origemstringInformação da origem da transação, pode variar para cada rede PBM ou não ser enviado.
medicamentoArray de objDados dos medicamentos
codigostringCódigo ean do produto
descricaostringNome do produto
precoMaxConsumidorstringPreço máximo ao consumidor expresso em centavos
precoRepasseVarejostringValor de repasseo ao varejo, expresso em centavos
precoAquisicaoUnitariostringPreço de aquisição unitário, expresso em centavos
quantidadeAutorizadastringQuantidade autorizada
dataReceitastringData que a receita foi emitida pelo médico formato no formato YYYY-MM-DD (ano-mês-dia)
T: separador entre a data e a hora.
16:28:51: hora no formato de 24 horas (HH:MM:SS).
Z: indica que o horário está em UTC (Tempo Universal)
crm_crostringIndica se é um CRM ou CRO o campo "crm", possibilidades: 0 para CRM, 1 para CRO
crmstringCRM do médico ou CRO do odontologista que solicitou o medicamento
uf_crmstringEstado do CRM ou CRO

Confirmação PBM

Transação utilizada para realizar a confirmação de uma transação PBM. Após a execução de todas as confirmações e desfazimentos dos pagamentos realizados em uma unica venda, é necessario acionar o método comum FinalizaTransacao

Requisição

Envio - Clique para mostrar o Objeto

Json de Exemplo

{
"codigoTransacao": 8014,
"parametrosEntrada": {
"dataVenda": "2025-07-17T12:34:46Z",
"nsuVendaTEFPBM": "148303",
"nsuPreAutorizacaoPBM": "111111",
"cupons": [
{
"cupom": [
{
"tipo": "esat",
"codigo": "3234592",
"chave": "key",
"protocoloAutorizacaoDanfe": "autorization"
}
]
}
]
}
}

Descritivo

ItemSub-itemSub-item²Sub-item³TipoObrigatorioDescrição
codigoTransacaointintCódigo da transação a ser executada no TEF, para esta operação utilizar: 8014
parametrosEntradaObjetoSimDados a serem processados pelo TEF e quem tem como requisito as redes PBM
nsuVendaTEFPBMstringSimNSU do TEF que foi gerado durante a transação de VENDA
nsuPreAutorizacaoPBMstringSimNSU Gerado pela rede PBM no momento da pré-autorização
dataVendastring dateSimData e hora da efetivação da venda, esse dado é retornado na venda.
"2025-07-17T16:28:51Z" -> data no formato YYYY-MM-DD (ano-mês-dia).
T: separador entre a data e a hora.
16:28:51: hora no formato de 24 horas (HH:MM:SS).
Z: indica que o horário está em UTC (Tempo Universal)
cuponsArray de objSimObjeto que contém os dados da nota fiscal
cupomArray de objSim
tipostringSimtipo de cupom informado, possibilidades: "esat" ou "ecf"
codigostringSimNúmero da nota fiscal
chavestringNãoSe informado informado esat é obrigatorio o numero da chave
protocoloAutorizacaoDanfestringSimNúmero de autorização da nota

Resposta

Não há respostas customizadas para a automação nessa operação, apenas será retornado se sucesso ou não através do atributo status.


Desfazimento PBM

Transação utilizada para realizar o desfazimento de uma transação PBM. Após a execução de todas as confirmações e desfazimentos dos pagamentos realizados em uma unica venda, é necessario acionar o método comum FinalizaTransacao

Requisição

Envio - Clique para mostrar o Objeto

Json de Exemplo

{
"codigoTransacao": 8013,
"parametrosEntrada": {
"nsuVendaTEFPBM": "123456",
"nsuPreAutorizacaoPBM": "1111111",
"dataVenda": "2025-07-17T12:34:46Z",
"codigoCliente": "60100022100000116",
"dataCriacao": "2025-07-04T12:07:47Z"
}
}

Descritivo

ItemSub-itemSub-item²Sub-item³TipoObrigatorioDescrição
codigoTransacaointintCódigo da transação a ser executada no TEF, para esta operação utilizar: 8013 -> Desfazimento
parametrosEntradaObjetoSimDados a serem processados pelo TEF e quem tem como requisito as redes PBM
nsuVendaTEFPBMstringSimNSU do TEF que foi gerado durante a transação de VENDA
nsuPreAutorizacaoPBMstringSimNSU Gerado pela rede PBM no momento da pré-autorização
codigoClientestringSimCPF ou Cartão Convenio do cliente. Caso o dado informado seja um CPF valido, o campo será tratado como CPF, se não como cartão convenio
dataCriacaostring dateSimData da criação da pré-autorização na PBM, esse dado é retornado na consulta
"2025-07-17T16:28:51Z" -> data no formato YYYY-MM-DD (ano-mês-dia).
T: separador entre a data e a hora.
16:28:51: hora no formato de 24 horas (HH:MM:SS).
Z: indica que o horário está em UTC (Tempo Universal)

Resposta

Não há respostas customizadas para a automação nessa operação, apenas será retornado se sucesso ou não através do atributo status.


Cancelamento PBM

Transação utilizada para realizar o cancelamento de uma Venda PBM, está transação também precisa ser confirmada, caso contrário ficará pendente no servidor TEF.

Requisição

Envio - Clique para mostrar o Objeto

Json de Exemplo

{
"codigoTransacao": 8063,
"parametrosEntrada": {
"nsuVendaTEFPBM": "123456",
"nsuPreAutorizacaoPBM": "123456",
"dataVenda": "2025-07-17T12:34:46Z",
"valorTransacao": "1000",
"codigoCliente": "60100022100000116",
"dataCriacao": "2025-07-04T12:07:47Z",
"medicamento": [
{
"codigo": "7896004700410",
"quantidadeCancelada": "1"
}
]
}
}

Descritivo

ItemSub-itemSub-item²Sub-item³TipoObrigatorioDescrição
codigoTransacaointintCódigo da transação a ser executada no TEF, para esta operação utilizar: 8063
parametrosEntradaObjetoSimDados a serem processados pelo TEF e quem tem como requisito as redes PBM
nsuVendaTEFPBMstringSimNSU do TEF que foi gerado durante a transação de VENDA
nsuPreAutorizacaoPBMstringNãoNSU Gerado pela rede PBM no momento da pré-autorização
dataVendastring dateSimData e hora da efetivação da venda, esse dado é retornado na venda.
"2025-07-17T16:28:51Z" -> data no formato YYYY-MM-DD (ano-mês-dia).
T: separador entre a data e a hora.
16:28:51: hora no formato de 24 horas (HH:MM:SS).
Z: indica que o horário está em UTC (Tempo Universal)
valorTransacaostringSimValor total da transação expresso em centavos.
codigoClientestringSimCPF ou Cartão Convenio do cliente. Caso o dado informado seja um CPF valido, o campo será tratado como CPF, se não como cartão convenio
dataCriacaostring dateSimData da criação da pré-autorização na PBM, esse dado é retornado na consulta
"2025-07-17T16:28:51Z" -> data no formato YYYY-MM-DD (ano-mês-dia).
T: separador entre a data e a hora.
16:28:51: hora no formato de 24 horas (HH:MM:SS).
Z: indica que o horário está em UTC (Tempo Universal)
medicamentoArray de objNãoSomente para a PBM Orizon
codigostringSimCódigo ean do produto
quantidadeCanceladastringSimQuantidade do produto que será cancelada

Resposta

Resposta TEF - Clique para mostrar o objeto

Json de Exemplo

{
"parametrosRetorno": {
"status": "",
"mensagemStatus": "",
"detalheStatus": "",
"dataCriacao": "",
"comprovante": ""
}
}

Descritivo

ItemSub-itemSub-item²TipoDescrição
parametrosRetornoObjetoObjeto contendo os dados de resposta do TEF
statusstringResultado da transação. Valores possíveis. "Sucesso" ou "Erro"
mensagemStatusstringMensagem retornada pelo TEF para a aplicação
detalheStatusstringMensagem adicional retornada exatamente como recebida da rede PBM. O campo só será enviado se recebido na resposta da rede PBM. Não será feita nenhuma validação ou padronização neste campo.
comprovantestringComprovante da transação. O caracter "@" representa o início de uma nova linha.
dataCriacaostring dateData criação
Formato "2025-07-17T16:28:51Z"
Sendo data no formato YYYY-MM-DD (ano-mês-dia).
T: separador entre a data e a hora.
16:28:51: hora no formato de 24 horas (HH:MM:SS).
Z: indica que o horário está em UTC (Tempo Universal)

Este conteúdo foi útil para você?