sábado, 22 de agosto de 2020

WINDOWS 7 IIS 7.5 TLS 1.2

 

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

SERVER 

CLIENT

 

domingo, 30 de diciembre de 2018

archivo xml del documento electronico de reembolso (der) sistema diva - XML DER DIVA

EJEMPLO DE ARCHIVO XML PARA ENVIAR DOCUMENTO ELECTRONICO DE REEMBOLSO A AEAT MEDIANTE PROGRAMA aduanetxml_10_0.jar

--

 
<div:DIVAAltaV1Ent xmlns:div="https://www3.agenciatributaria.gob.es/static_files/common/internet/dep/aduanas/es/aeat/addi/jdit/ws/DIVAAltaV1Ent.xsd" id="XXXXXXXXXXX" remitente="?" destinatario="?" fecha="?" hora="?" test="?" endPoint="es.aeat.addi.jdit.ws.DIVAAltaV1SOAP">
  <div:fechaDocumento>20181228</div:fechaDocumento>
  <div:identificadorLocalReferencia>XXXXXXXXXXXXXX</div:identificadorLocalReferencia>
- <div:factura>
  <div:numero>T1_750238</div:numero>
  <div:fecha>20181228</div:fecha>
  </div:factura>
- <div:establecimientoVenta>
  <div:nif>XXXXXXXXXXX</div:nif>
  <div:razonSocial>XXXXXXXXXXXXXXXX.</div:razonSocial>
  </div:establecimientoVenta>
- <div:viajero>
  <div:pasaporte>E01241079</div:pasaporte>
  <div:nombre>XXXXXXXXXXXXXXXX</div:nombre>
  <div:fechaNacimiento>19630702</div:fechaNacimiento>
  <div:pais>XX</div:pais>
  </div:viajero>
- <div:iva>
  <div:totalBaseImponible>384,47</div:totalBaseImponible>
  <div:totalIva>73,91</div:totalIva>
  </div:iva>
- <div:producto>
  <div:clasificacion>HOG</div:clasificacion>
  <div:descripcion>BOLSA COTILLON CAMARGUE</div:descripcion>
  <div:cantidad>160</div:cantidad>
  <div:baseImponible>177,18</div:baseImponible>
  <div:tipoImpositivo>21</div:tipoImpositivo>
  </div:producto>
.
.
.
- <div:producto>
  <div:clasificacion>HOG</div:clasificacion>
  <div:descripcion>VASO TUBO 31CL 24U HOSTELVIA</div:descripcion>
  <div:cantidad>2</div:cantidad>
  <div:baseImponible>8,31</div:baseImponible>
  <div:tipoImpositivo>21</div:tipoImpositivo>
  </div:producto>
  </div:DIVAAltaV1Ent>

--------

una vez enviado correctamente, se puede consultar en el enlace 

https://www.agenciatributaria.gob.es/AEAT.sede/procedimientoini/DB17.shtml

---
una vez sellado hay que descargarse el der con visado conforme
se copia el campo que aparece CSV DER visado (Código Seguro de Verificación)

con el valor de ese campo se puede descargar el documento en el enlace 
https://www.agenciatributaria.gob.es/AEAT.sede/tramitacion/ZZ05.shtml

-----------

cuando tenemos el visado conforme se puede devolver al cliente el importe del iva
y se comunica el pago en

https://www.agenciatributaria.gob.es/AEAT.sede/procedimientoini/DB17.shtml
-> opcion
Gestión de la comunicación del pago del IVA solicitado

-------------------

sii  hay que enviar la comunicacion tipo a5 con el numero der campo IAEAT

--- 

en contabilidad, registro del iva, crear un registro con el importe del iva en negativo


---- 
 
info@magasa.es

viernes, 18 de mayo de 2018

phpmailer

https://www.inmotionhosting.com/support/email/send-email-from-a-page/download-phpmailer

sábado, 17 de febrero de 2018

generar pdfs dinamicos en asp - php

1.-   php.ini

quitar comentarios de estas lineas:
extension=php_mbstring.dll
extension=php_exif.dll      ; Must be after mbstring as it depends on it

[mbstring]
mbstring.language = Neutral
mbstring.http_input = auto
mbstring.http_output = auto
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none
mbstring.func_overload = 0
mbstring.strict_detection = Off


2.-  descargar  mpdf, descomprimirlo y poner carpate en directorio de la web
http://www.mpdf1.com/mpdf/index.php
mPDF version 5.7 (.zip file 12MB)



3.- probar si funcionan los ejemplos que trae
http://192.168.1.16/mpdf/examples/example01_basic.php


4.- pagina asp que llama a pagina php

cadena1 ="<form  method='post' name='pdf' action='pdf.php'  >" & VBCrLf
cadena1 = cadena1 & "<input type='HIDDEN' name='texto' value='" & cad & "'/>" & VBCrLf
cadena1 = cadena1 & "</form>" & VBCrLf

response.write cadena1
           
           
%>
                <script>document.forms["pdf"].submit();</script>
<%

5.-  pagina php
<?php
    include("mpdf/mpdf.php");
    $cadena = $_POST['texto'];
    $mpdf=new mPDF();

    $mpdf->allow_charset_conversion = true;
    $mpdf->charset_in = 'iso-8859-4';

    $mpdf->WriteHTML($cadena);
    $mpdf->Output();
    exit;

?>



viernes, 20 de enero de 2017

Conexion Php a base de datos Access 32 bits en Windows7 64 bits (IIS)

en WINDOWS7 odbc de 32 bits

C:\Windows\SysWOW64\odbcad32.exe

crear dsn de sistema (dsn de usuario no sirve) para access en ordenador donde esta instalado iis y php


codigo php para conectar a la base de datos (en el ejemplo en nombre del dsn de sistema es bd10)


<?php
$dsn = "BD10";
//debe ser de sistema no de usuario
$usuario = "";
$clave="";

//realizamos la conexion mediante odbc
$cid=odbc_connect($dsn, $usuario, $clave);

if (!$cid){
    exit("<strong>Ya ocurrido un error tratando de conectarse con el origen de datos.</strong>");
}  

// consulta SQL $sql="Select * from FAMILIAS";

// generamos la tabla mediante odbc_result_all(); utilizando borde 1
$result=odbc_exec($cid,$sql)or die(exit("Error en odbc_exec"));
print odbc_result_all($result,"border=1");
?>


sábado, 2 de enero de 2016

iis7 carpeta sitio web compartida

en la carpeta donde esta sitio web, boton derecho propiedades
pestaña compartir, boton compartir
todos agregar  lectura y escritura




lunes, 23 de noviembre de 2015

asp clasico y nuevo tipo firma SHA-256

Adapte su conexión con el TPV Virtual al nuevo tipo de firma basado en SHA- 256

Pasar pago de sha1 a sha256 en paginas asp. Librerias para sha 256 en asp no han hecho, asi que tendremos que pasar importe a pagina php y usar las librerias de redsys en php para sha 256, muy sencillitas y con pagina de ejemplo y todo
(api php  de la pagina http://www.redsys.es/wps/portal/redsys/publica/areadeserviciosweb/descargaDeDocumentacionYEjecutables/!ut/p/a1/04_Sj9CPykssy0xPLMnMz0vMAfGjzOItHS1dDT3dDTz9g82MDDzD_HyNfPwdDfwDDIAKInErcHczJ06_AQ7gaEBIf7h-FFiJh7-zu6FRsIGXu7mTJVCfoZOTQbCPgYGRCVQBPieCFeBxQ0FuaIRBpqciAJbEr50!/dl5/d5/L2dBISEvZ0FBIS9nQSEh/  dentro de la carpeta que te descargas use la subcarpeta redsysHMAC256_API_PHP_5.2.0)

Tenemos la web alojada en ordenador de la empresa, la mejor solucion que encontré a esto es poner servidor web de windows IIS que funcione con paginas asp y php. De la pagina de asp pasa el importe del pago a una pagina php. En la pagina de php se utilizan las librerias que proporciona redsys que funcionan muy bien. Y desde alli se llama a la pagina del tpv virtual http://sis-d.redsys.es/sis/realizarPago.

para cualquier duda me podeis escribir


en equipo con windows7 64 bits

1) instalamos iis7, opciones world wide web services marcamos asp, .net extensibility, asp.net, cgi, isapi extensions, isapi filters

dentro iis7:
- default web site, asp, Enable parent paths  poner a true
- grupo aplicaciones y configuracion avanzada -> habilitar aplicaciones 32 bits poner a true

la carpeta con base de datos y pagina fuera de carpeta inetpub, no dejar modificar la bd dentro de inetpub, la carpeta donde se ponga la pagina web no compartirla
se modifica el directorio de la pagina web por defecto

conectar asp con oracle -> c:\windows\syswow64\odbcad32.exe  crear dsn sistema con oracle11ghome


en conexion de red en el equipo, conexion area local, propiedades, protocolo de internet version 4 (tcp/ipv4) ponemos la ip fija y el puerto de enlace. En el router se dice en que ip de la red local esta alojada la pagina web


firewall desactivado

asi ya tenemos un servidor de pag web asp en el equipo, se puede probar desde cualquier otro ord fuera de la red local

2) instalamos php
descarga php-5.6....zip
se descomprime y se cambia el nombre a la carpeta por c:\php
php.ini-production se renombra cono php.ini
en ese archivo se quita comentario ";" de la linea     extension_dir     y a esa linea se añade ";c:\php\ext"
se cambia 4 lineas
cgi.force_redirect=0
cgi.fix_pathinfo=1
fastcgi.impersonate=1
fastcgi.logging=0


en iis7 hay que cambiar lo siguiente
- asignaciones de controlador - agregar asignacion de modulo
 *.php
modulo fastcgimodule
c:\php\php-cgi.exe
php_via_fastcgi
boton solicitar restricciones:  invocar controlador solo si la solicitud se asigna a un archivo o carpeta


asi ya tenemos un servidor de pag web asp y php en el equipo, se puede probar desde cualquier otro ord fuera de la red local

3)
a) pagina web asp clasico pasa importe a  pag php
<%
Dim Ds_Merchant_Amount

Ds_Merchant_Amount=700

cadena="<form  method='post' name='compra' action='ejemploGeneraPet.php'  >" & VBCrLf
cadena = cadena& "<input type=HIDDEN name=importe value=" & Ds_Merchant_Amount & ">" & VBCrLf
cadena = cadena& "</form>" & VBCrLf  
response.write cadena        
            %>
            <script>document.forms["compra"].submit();</script>
            <%

%>


b) pag php que recibe importe y hace peticion al tpv virtual

<?php

    echo "Pasarela de pago Redsys";

    // Se incluye la librería
    include 'apiRedsys.php';
    // Se crea Objeto
    $miObj = new RedsysAPI;
       
    // Valores de entrada
    $fuc="333333333";
    $terminal="1";
    $moneda="978";
    $trans="0";
    $url="";
    $urlOKKO="";
    $id=time();



    $amount=$_POST['importe'];
   
    // Se Rellenan los campos
    $miObj->setParameter("DS_MERCHANT_AMOUNT",$amount);
    $miObj->setParameter("DS_MERCHANT_MERCHANTNAME","xxxxxxx");
    $miObj->setParameter("DS_MERCHANT_ORDER",strval($id));
    $miObj->setParameter("DS_MERCHANT_MERCHANTCODE",$fuc);
    $miObj->setParameter("DS_MERCHANT_CURRENCY",$moneda);
    $miObj->setParameter("DS_MERCHANT_TRANSACTIONTYPE",$trans);
    $miObj->setParameter("DS_MERCHANT_TERMINAL",$terminal);
    $miObj->setParameter("DS_MERCHANT_MERCHANTURL",$url);
    $miObj->setParameter("DS_MERCHANT_URLOK",$urlOKKO);       
    $miObj->setParameter("DS_MERCHANT_URLKO",$urlOKKO);

    //Datos de configuración
    $version="HMAC_SHA256_V1";
    $kc = 'xxxxxxxxxxxxxx';//Clave recuperada de CANALES
    // Se generan los parámetros de la petición
    $request = "";
    $params = $miObj->createMerchantParameters();
    $signature = $miObj->createMerchantSignature($kc);

//<form name="frm" action="http://sis-d.redsys.es/sis/realizarPago" method="POST" target="_blank">
?>
<html lang="es">
<head>
</head>
<body>


<form name="frm" action="https://sis.redsys.es/sis/realizarPago/utf-8" method="POST" >



 <input type="hidden" name="Ds_SignatureVersion" value="<?php echo $version; ?>"/></br>
 <input type="hidden" name="Ds_MerchantParameters" value="<?php echo $params; ?>"/></br>
<input type="hidden" name="Ds_Signature" value="<?php echo $signature; ?>"/></br>
<input type="submit" value="Enviar" >
</form>

<script>document.forms["frm"].submit();</script>

</body>
</html>