Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-10-2017
seti.roman seti.roman is offline
Registrado
NULL
 
Registrado: may 2017
Posts: 4
Poder: 0
seti.roman Va por buen camino
Hola, estuve probando hoy nuevamente y me pasó que la firma es inválida (antes funcionaba).
1) Estoy modificando el código a ver si lo hago andar nuevamente.

2) Yo uso la librería OpenSSLUtils.pas (0.9.6b) que también necesita libeay32.pas (0.9.6b) y las agrego al proyecto
(agregala a uses: OpenSSLUtils y libeay32 en tu form o módulo)

Última edición por seti.roman fecha: 30-10-2017 a las 20:05:32. Razón: Error e el código
Responder Con Cita
  #2  
Antiguo 30-10-2017
seti.roman seti.roman is offline
Registrado
NULL
 
Registrado: may 2017
Posts: 4
Poder: 0
seti.roman Va por buen camino
Ahora va corregido y (por ahora) funcionando:

Código:
function Tcomprobante.crearfirma: string;
var
  signer: TMessageSigner;
  ruta: Pwidechar;
  firma: String;
  position: integer;
begin
  ruta := Pwidechar(ExpandFileName(application.ExeName + '\..\keys'));

  fgeneracion := now();
  fexpiracion := inchour(fgeneracion,1);

  signer := TMessageSigner.Create;
  signer.LoadPrivateKey(ruta +'\'+ responsable.edita_responsables['llave'], '');
  signer.LoadCertificate(ruta + '\'+ responsable.edita_responsables['cert']);

  signer.PlainMessage :=
  '<?xml version="1.0" encoding="UTF-8" ?>'+
  '<loginTicketRequest version="1.0">'+
  '<header>'+
  '<uniqueId>123456</uniqueId>'+
  '<generationTime>'+formatdatetime('yyyy-MM-dd',fgeneracion)+'T'+formatdatetime('hh:mm',fgeneracion)+':00-03:00</generationTime>'+
  '<expirationTime>'+formatdatetime('yyyy-MM-dd',fexpiracion)+'T'+formatdatetime('hh:mm',fexpiracion)+':00-03:00</expirationTime>'+
  '</header>'+
  '<service>wsfe</service>'+
  '</loginTicketRequest>';

  signer.MIMESign;

  firma := signer.SignedMessage;
  firma := rightstr(firma,length(firma)-188); //*********** AGREGUE 2

  position := ansipos('==', firma);
  if position <> 0 then
  begin
    delete(firma,position+2,length(firma)); //******** SUME 2 A LA POSICION PARA QUE INCLUYA LOS ==
  end;
  xgs.observartexto(firma);
  result := firma;
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Factura Electronica - Afip Argentina Joe_Balda Varios 30 30-01-2021 04:10:34
Factura Electrónica AFIP Argentina SergioFrey Noticias 2 19-05-2017 21:02:03
xml+xsl a pdf(Factura Electronica) jgutti Varios 4 21-02-2012 16:08:23
factura electronica cmm07 Varios 4 02-04-2009 17:46:03
factura electronica spia Varios 2 22-02-2009 21:30:06


La franja horaria es GMT +2. Ahora son las 20:35:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi