Skip to content

Transações PBM

Transações PBM

Os itens descritos abaixo desse alerta são customizações não liberadas 100% em produção, use somente se orientado expressamente.

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)
Item Tamanho Obrigatorio Descrição
pJsonSolicitacao Variavel sim ponteiro 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 -- sim ponteiro 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

Codigo Nome
5 VidaLink
8 Orizon
73 ePharma
76 Funcional
230 Interplayers
231 Golden 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

Item Tipo Obrigatorio Descrição
codigoTransacao int sim Có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

Item Sub-item Tipo Descrição
redes Objeto Lista das redes PBM disponíveis
codigo string Codigo da rede no TEF a qual a PBM deverá ser processada
nome string Nome da rede PBM
tipoIntegracao string Uso 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

Item Sub-item Tipo Obrigatorio Descrição
codigoTransacao int Sim Código da transação a ser executada no TEF, para esta operação utilizar: 8030
parametrosEntrada Objeto Sim Dados a serem processados pelo TEF e quem tem como requisito as redes PBM
codigoRede string Sim Codigo da rede no TEF a qual a PBM deverá ser processada
dataCriacao string Sim "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)
nsuPreAutorizacaoPBM string Sim NSU Gerado pela rede PBM no momento da pré-autorização
codigoCliente string Sim CPF 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

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

Item Sub-item Sub-item² Tipo Descrição
parametrosRetorno Objeto Objeto contendo os dados de resposta do TEF
status string Resultado da transação. Valores possíveis. "Sucesso" ou "Erro"
mensagemStatus string Mensagem retornada pelo TEF para a aplicação
detalheStatus string Mensagem 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.
valorAVista string Valor pago à vista pelo cliente expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
nsuPreAutorizacaoPBM string NSU Gerado pela rede PBM no momento da pré-autorização.
valorTransacao string Valor total da transação expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
valorCartao string Valor 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"
codigoCliente string CPF 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
comprovante string Comprovante da transação. O caracter "@" representa o início de uma nova linha.
saldoCartao string Saldo 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"
origem string Informação da origem da transação, pode variar para cada rede PBM ou não ser enviado.
medicamento Array de obj Dados dos medicamentos
codigo string Código ean do produto
descricao string Nome do produto
precoMaxConsumidor string Preço máximo ao consumidor expresso em centavos
precoRepasseVarejo string Valor de repasseo ao varejo, expresso em centavos
precoAquisicaoUnitario string Preço de aquisição unitário, expresso em centavos
quantidadeAutorizada string Quantidade autorizada
dataReceita string 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)
crm_cro string Indica se é um CRM ou CRO o campo "crm", possibilidades: 0 para CRM, 1 para CRO
crm string CRM do médico ou CRO do odontologista que solicitou o medicamento
uf_crm string Estado 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

Item Sub-item Sub-item² Tipo Obrigatorio Descrição
codigoTransacao int Sim Código da transação a ser executada no TEF, para esta operação utilizar: 8200
parametrosEntrada Objeto Sim Dados a serem processados pelo TEF e quem tem como requisito as redes PBM
codigoRede string Sim Codigo da rede no TEF a qual a PBM deverá ser processada
medicamento Array de obj Sim
codigo string Sim Código ean do produto

Resposta

Resposta TEF

Json de Exemplo

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

Item Sub-item Sub-item² Tipo Descrição
parametrosRetorno Objeto Objeto contendo os dados de resposta do TEF
medicamento Array de obj Dados dos medicamentos
codigo string Código ean do produto
precoMaxConsumidor string Preço máximo ao consumidor expresso em centavos
precoAquisicaoUnitario string Preço de aquisição unitário, expresso em centavos
quantidadeAutorizada string Quantidade autorizada
mensagemInformativa string Mensagem informativa relacionada ao produto ou transação.
nomeDaIndustria string Nome da indústria farmacêutica do produto.
linkDaImagem string URL da imagem da indústria.
quantidadeMaximaDeDesconto string Quantidade máxima aplicável de desconto.
descontoMinimoNovoPaciente string Percentual mínimo de desconto para novos pacientes.
descontoMaximoNovoPaciente string Percentual 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

Item Sub-item Sub-item² Sub-item³ Tipo Obrigatorio Descrição
codigoTransacao int int Código da transação a ser executada no TEF, para esta operação utilizar: 8031
parametrosEntrada Objeto Sim Dados a serem processados pelo TEF e quem tem como requisito as redes PBM
codigoRede string Sim Codigo da rede no TEF a qual a PBM deverá ser processada. Não obrigatorio para a PBM Interplayers
nsuPreAutorizacaoPBM string Sim NSU Gerado pela rede PBM no momento da pré-autorização
valorTransacao string Sim Valor total da transação expresso em centavos.
codigoCliente string Sim CPF 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
dataCriacao string date Sim Data 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)
cupons Array de obj Sim Objeto que contém os dados da nota fiscal
cupom Array de obj Sim
tipo string Sim tipo de cupom informado, possibilidades: "esat" ou "ecf"
codigo string Sim Número da nota fiscal
chave string Não Se informado informado esat é obrigatorio o numero da chave
medicamento Array de obj Sim
codigo string Sim Código ean do produto
quantidadeAutorizada string Sim Quantidade do médicamento autorizada para a venda
crm string Sim CRM do médico ou CRO do odontologista que solicitou o medicamento
crm_cro string Sim Indica se é um CRM ou CRO o campo "crm", possibilidades: 0 para CRM, 1 para CRO
uf_crm string Sim Estado
dataReceita string Sim Data 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)
descricao string Não Campo opcional para descrever o medicamento
precoAquisicaoUnitario string Sim Preço do produto no estabelecimento
usoContinuo string Sim "S" para indicar que SIM e "N" para indicar que não

Resposta

Resposta TEF

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

Item Sub-item Sub-item² Tipo Descrição
parametrosRetorno Objeto Objeto contendo os dados de resposta do TEF
status string Resultado da transação. Valores possíveis. "Sucesso" ou "Erro"
mensagemStatus string Mensagem retornada pelo TEF para a aplicação
detalheStatus string Mensagem 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.
valorAVista string Valor pago à vista pelo cliente expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
nsuPreAutorizacaoPBM string NSU gerado pela rede PBM no momento da pré-autorização.
nsuTEF string NSU gerado pelo TEF no momento da venda.
valorTransacao string Valor total da transação expresso em centavos. Algumas redes PBM não devolvem a informação. Neste caso, o valor será "0"
valorCartao string Valor 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"
codigoCliente string CPF 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
comprovante string Comprovante da transação. O caracter "@" representa o início de uma nova linha.
saldoCartao string Saldo 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"
origem string Informação da origem da transação, pode variar para cada rede PBM ou não ser enviado.
medicamento Array de obj Dados dos medicamentos
codigo string Código ean do produto
descricao string Nome do produto
precoMaxConsumidor string Preço máximo ao consumidor expresso em centavos
precoRepasseVarejo string Valor de repasseo ao varejo, expresso em centavos
precoAquisicaoUnitario string Preço de aquisição unitário, expresso em centavos
quantidadeAutorizada string Quantidade autorizada
dataReceita string Data 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_cro string Indica se é um CRM ou CRO o campo "crm", possibilidades: 0 para CRM, 1 para CRO
crm string CRM do médico ou CRO do odontologista que solicitou o medicamento
uf_crm string Estado 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

Item Sub-item Sub-item² Sub-item³ Tipo Obrigatorio Descrição
codigoTransacao int int Código da transação a ser executada no TEF, para esta operação utilizar: 8014
parametrosEntrada Objeto Sim Dados a serem processados pelo TEF e quem tem como requisito as redes PBM
nsuVendaTEFPBM string Sim NSU do TEF que foi gerado durante a transação de VENDA
nsuPreAutorizacaoPBM string Sim NSU Gerado pela rede PBM no momento da pré-autorização
dataVenda string date Sim Data 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)
cupons Array de obj Sim Objeto que contém os dados da nota fiscal
cupom Array de obj Sim
tipo string Sim tipo de cupom informado, possibilidades: "esat" ou "ecf"
codigo string Sim Número da nota fiscal
chave string Não Se informado informado esat é obrigatorio o numero da chave
protocoloAutorizacaoDanfe string Sim Nú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

Item Sub-item Sub-item² Sub-item³ Tipo Obrigatorio Descrição
codigoTransacao int int Código da transação a ser executada no TEF, para esta operação utilizar: 8013 -> Desfazimento
parametrosEntrada Objeto Sim Dados a serem processados pelo TEF e quem tem como requisito as redes PBM
nsuVendaTEFPBM string Sim NSU do TEF que foi gerado durante a transação de VENDA
nsuPreAutorizacaoPBM string Sim NSU Gerado pela rede PBM no momento da pré-autorização
codigoCliente string Sim CPF 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
dataCriacao string date Sim Data 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

Item Sub-item Sub-item² Sub-item³ Tipo Obrigatorio Descrição
codigoTransacao int int Código da transação a ser executada no TEF, para esta operação utilizar: 8063
parametrosEntrada Objeto Sim Dados a serem processados pelo TEF e quem tem como requisito as redes PBM
nsuVendaTEFPBM string Sim NSU do TEF que foi gerado durante a transação de VENDA
nsuPreAutorizacaoPBM string Não NSU Gerado pela rede PBM no momento da pré-autorização
dataVenda string date Sim Data 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)
valorTransacao string Sim Valor total da transação expresso em centavos.
codigoCliente string Sim CPF 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
dataCriacao string date Sim Data 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)
medicamento Array de obj Não Somente para a PBM Orizon
codigo string Sim Código ean do produto
quantidadeCancelada string Sim Quantidade do produto que será cancelada

Resposta

Resposta TEF

Json de Exemplo

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

Item Sub-item Sub-item² Tipo Descrição
parametrosRetorno Objeto Objeto contendo os dados de resposta do TEF
status string Resultado da transação. Valores possíveis. "Sucesso" ou "Erro"
mensagemStatus string Mensagem retornada pelo TEF para a aplicação
detalheStatus string Mensagem 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.
comprovante string Comprovante da transação. O caracter "@" representa o início de uma nova linha.
dataCriacao string date Data 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)