Estimados participantes del foro, si alguien me podría ayudar para verificar las facturas electronicacs desde la sunat, utilice el código que comprtió generosamente el amigo
Zen Tes, pero siempre me devuelve
"Error 0011-El comprobante de pago Electrónico no existe", ya lo verifique por la página de SUNAT y el documento si existe, he utilizado el ejemplo utilizando los datos en variables y también directamente y no logro hacer la consulta, alguien que podria apoyar en esta copnsulta.
Este es código que compartio el amigo
Zen Tes con el cual he probado. Gracias
*-- BY ZEN TES
*-- PROYECTO FACTURA ELECTRONICA - SUNAT
#DEFINE SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS 13056
lcRuc_Cliente = '20XXXX...'
lcUser_Sol = "USUARIOSOLCLIENTE"
lcPswd_Sol = "passwordsolcliente"
*-
lcUserName = lcRuc_Cliente + lcUser_Sol
*-
lcRuc_Proveedor = "201XXX..."
lcTip_Documento = "01"
lcSerie_Doc = "fa76"
lcNumeroDoc = "105866"
*-
loXmlHttp = CREATEOBJECT("MSXML2.ServerXMLHTTP.6.0")
loXMLBody = CREATEOBJECT("MSXML2.DOMDocument.6.0")
?loXmlHttp, loXMLBody
lcURL = "
https://www.sunat.gob.pe/ol-it-wsconscpegem/billConsultService"
*lcURL = "https://"+"190.108.95.72"+"/ol-it-wsconscpegem/billConsultService"
*lcURL = "
https://www.sunat.gob.pe:443/ol-it-wsconscpegem/billConsultService?wsdl"
TEXT TO lcEnvioXML TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
<soapenv:Envelope xmlns:ser="
http://service.sunat.gob.pe"
xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsse="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username><<lcUserName>></wsse:Username>
<wsse:Password><<lcPswd_Sol>></wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<ser:getStatus>
<rucComprobante><<lcRuc_Proveedor>></rucComprobante>
<tipoComprobante><<lcTip_Documento>></tipoComprobante>
<serieComprobante><<lcSerie_Doc>></serieComprobante>
<numeroComprobante><<lcNumeroDoc>></numeroComprobante>
</ser:getStatus>
</soapenv:Body>
</soapenv:Envelope>
ENDTEXT
?lcEnvioXML
IF NOT loXMLBody.loadXML( lcEnvioXML )
ERROR loXMLBody.parseError.reason
ENDIF
loXmlHttp.OPEN( "POST", lcURL, .F. )
loXmlHttp.setRequestHeader( "Content-Type", "text/xml" )
loXmlHttp.setRequestHeader( "Content-Type", "text/xml;charset=ISO-8859-1" )
loXmlHttp.setRequestHeader( "Content-Length", LEN(lcEnvioXML) )
loXmlHttp.SetRequestHeader( "SOAPAction" , "getStatus" )
loXmlHttp.setOption( 2, SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS )
loXmlHttp.SEND(loXMLBody.documentElement.XML)
IF loXmlHttp.status # 200
ERROR (NVL(loXmlHttp.responseText,''))
ENDIF
*-- Aquí se lee el contenido del XML de la propiedad "loXmlHttp.responseText"
*res = CreateObject("MSXML2.DOMDocument")
res = CREATEOBJECT("MSXML2.DOMDocument.6.0")
res.LoadXML(loXmlHttp.responseText)
txtCod = res.selectSingleNode("//statusCode") &&Return
? "Codigo Respuesta : "+txtCod.text
txtMsg = res.selectSingleNode("//statusMessage") &&Return
? "Mensage : "+txtMsg.text