Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'pix automatico'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr API
    • Duvidas Gerais ACBr API
    • Duvidas Privadas ACBr API
  • Suporte Nuvem Fiscal
    • Comunidade Nuvem Fiscal
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras
  • ACBr TEF

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

Encontrado 1 registro

  1. Resumo Na criação de recorrência do Pix Automático (POST /rec), o campo loc é serializado a partir de TACBrPIXRecSolicitadaBase.loc, que está declarado como Integer. Quando o PSP retorna um id de location maior que 2.147.483.647 (Int32), o valor é truncado para 32 bits e enviado negativo, fazendo o PSP recusar a requisição. O id de location do Itaú tem 19 dígitos (ex.: 7587166705779689739), então o problema é 100% reproduzível nesse PSP. Evidência Resposta do POST /locrec (id da location gerada pelo PSP): {"id":7587166705779689739,"location":"api.itau/rec/694b07eb-...","criacao":"2026-07-15T19:09:32.992Z","idRec":null} Corpo do POST /rec montado pelo ACBr logo em seguida: {"politicaRetentativa":"PERMITE_3R_7D","vinculo":{...},"calendario":{...},"loc":-1649719029} O loc foi de 7587166705779689739 para -1649719029, que é exatamente o truncamento para inteiro de 32 bits com sinal (os 32 bits baixos de 7587166705779689739 = -1649719029). O PSP então responde: HTTP/1.1 401 Unauthorized {"title":"Acesso Negado","status":401,"detail":"Não autorizado. Verifique se os parâmetros de acesso estão válidos..."} Como replicar Usar um PSP cujo /locrec retorne um id de location maior que Int32 (o Itaú sempre retorna, 19 dígitos). Chamar CriarLocation (epLocRec) e em seguida CriarRecorrencia (epRec) com RecorrenciaSolicitada.loc := LocationGerada.id. Observar no log (NivelLog alto) o Req.Body do /rec: o loc sai negativo. Causa Em ACBrPIXSchemasRec.pas, classe TACBrPIXRecSolicitadaBase: private fLoc: Integer; // <-- trunca ... property loc: Integer read fLoc write fLoc; // <-- trunca Há uma inconsistência interna: no ACBrPIXSchemasLocation.pas o campo id da location já é Int64 (leitura correta), mas o loc da recorrência (escrita) é Integer. Ou seja, o valor chega inteiro na leitura e é cortado ao ser atribuído/serializado na escrita. Correção sugerida Em ACBrPIXSchemasRec.pas, TACBrPIXRecSolicitadaBase: private fLoc: Int64; // era Integer ... property loc: Int64 read fLoc write fLoc; // era Integer Resultado após a correção Mesmo cenário, com o campo já como Int64 — loc vai íntegro (batendo com o id retornado no /locrec {"id":1570237648687511524,"location":"api.itau/rec/ea35652d-...","idRec":null} ... Req.Body: {"politicaRetentativa":"PERMITE_3R_7D","valor":{...},"vinculo":{...},"calendario":{...},"loc":1570237648687511524} A mudança é retrocompatível (Int64 comporta todo Integer) e alinha o tipo da escrita com o da leitura (TACBrPIXLocation.id).
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...