Tef - Amex

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Ricardo
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 11 Ago 2005 17:53
Localização: Orlandia/SP

Tef - Amex

Mensagem por Ricardo »

Ae glr blz, espero que sim!
Levei o programa pra homologar na seven pdv em SP, o programa esta criando o intpos.001 perfeito, tanto q o Visa e o Master aceita, mas o Amex nao reconhece, mas se eu fizer uma copia do intpos que meu programa gerou e o renomear, o amex aceita, se alguem souber algo por favor me ajudem, valeu
josenilson
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 14 Set 2004 10:58

Mensagem por josenilson »

Como é q vc está gerando o arquivo INTPOS.001 ??

No meu sistema, eu gero um arquivo com outro nome (exemplo: INTPOS.TMP) e só depois que ele está todo gravado no disco é que renomeio para o nome correto:

fRename("INTPOS.TMP","INTPOS.001")


Outra coisa. Pode ser que no teu arquivo exista algum caractere que o módulo do Amex não aceita, como, por exemplo, o caractere de fim de arquivo ( Chr(26) ). Se vc estiver criando o teu arquivo com a função MemoWrite, te aconselho a mudar para as funções de baixo nível (FCreate, FWrite, FOpen, etc.), pois a função MemoWrite sempre coloca no final do arquivo este caractere.
Ricardo
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 11 Ago 2005 17:53
Localização: Orlandia/SP

Tef - Amex

Mensagem por Ricardo »

ja troquei o comando Memowrite e mesmo assim nao funciona, criar primeiro com a extencao .TMP e depois renomar tb nao, agora estou usando FWRITE com chr(13) + chr(10) no fim pra passar para proxima, se tiver como vcs me passarem o jeito q fizeram isso, ficarei grato!, se no intpos.001 eu clicar em salvar ou salvar como ele passa a ser aceito pela amex, ja visa e master nao preciso, valeu
josenilson
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 14 Set 2004 10:58

Mensagem por josenilson »

Esta é a minha função para gerar arquivo para o Gerenciador Padrão

cTefDirEnv -> é o diretório de envio dos arquivos ( c:\tef_dial\req\ )

Ela retorna .T. (verdadeiro) se o arquivo foi criado com sucesso ou .F. (falso) caso contrário.

Código: Selecionar todos

FUNCTION TefGeraArq( cTexto )   // Gera Arquivo para o GP
    Local cArquivo, cArqTemp, nHandle, lOk

    cArquivo   := cTefDirEnv+"INTPOS.001"
    cArqTemp := cTefDirEnv+"INTPOS.TMP"

    FErase( cArqTemp )  
    nHandle := FCreate( cArqTemp )
    If nHandle < 0
         Return (.F.)
    Endif
    FWrite( nHandle , cTexto )
    FClose( nHandle )

    FErase( cArquivo ) 
    lOk :=  ( FRename( cArqTemp , cArquivo ) == 0 )
Return ( lOk )
Exemplo para gerar um INTPOS.001 para verificar se o GP está ativo.

Código: Selecionar todos

TefGeraArq(   "000-000 = ATV"+CRLF+;
                     "001-000 = 12345"+CRLF+;
                     "999-999 = 0"+CRLF    )
.
.
. ( Aqui vc coloca suas funcoes para tratamento do retorno...)
Não entendo o pq não funcionar com o Amex, visto que não é a tua aplicação que chama o módulo do Amex e sim o Gerenciador Padrão, como acontece no caso do Visa e do RedeCard.

Seria bom verificar se os campos que vc esta usando para formar os aquivos INTPOS.001 estão realmente corretos.


Espero ter ajudado
Responder