Module: FmTimbradoCfdi
- Extended by:
- FmTimbradoCfdi
- Included in:
- FmTimbradoCfdi
- Defined in:
- lib/fm_timbrado_cfdi.rb,
lib/fm_timbrado_cfdi/version.rb,
lib/fm_timbrado_cfdi/fm_timbre.rb,
lib/fm_timbrado_cfdi/fm_cliente.rb,
lib/fm_timbrado_cfdi/fm_respuesta.rb,
lib/fm_timbrado_cfdi/fm_informacion_cfdi.rb,
lib/fm_timbrado_cfdi/fm_respuesta_cancelacion.rb
Defined Under Namespace
Classes: FmCliente, FmInformacionCfdi, FmRespuesta, FmRespuestaCancelacion, FmTimbre
Constant Summary collapse
- VERSION =
"0.0.5"
Instance Method Summary collapse
-
#activar_cancelacion(rfc, certificado, llave, password) ⇒ Object
(also: #subir_certificado)
Public: Envía CSD para que lo almacene el PAC.
-
#cancelar(rfc, uuid) ⇒ Object
Public: Envía una petición de cancelación de factura.
- #cliente ⇒ Object
- #configurar {|cliente| ... } ⇒ Object
-
#timbra_cfdi_layout(rfc, layout, generar_cbb = false) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado en formato layout.
-
#timbra_cfdi_xml(xml, generar_cbb = false) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado en formato xml.
-
#timbrar(rfc, archivo, opciones = {}) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado tanto en formato layout como en formato XML.
Instance Method Details
#activar_cancelacion(rfc, certificado, llave, password) ⇒ Object Also known as: subir_certificado
Public: Envía CSD para que lo almacene el PAC
rfc - Es el RFC del emisor certificado - El contenido del archivo de certificado llave - La llave privada del certificado password - Contraseña de la llave privada
Regresa un objeto de tipo FmRespuestaCancelacion
62 63 64 |
# File 'lib/fm_timbrado_cfdi.rb', line 62 def activar_cancelacion(rfc, certificado, llave, password) respuesta = cliente.subir_certificado rfc, certificado, llave, password end |
#cancelar(rfc, uuid) ⇒ Object
Public: Envía una petición de cancelación de factura
rfc - Es el RFC del emisor uuid - Es el identificador de la factura a cancelar
Regresa una respuesta SOAP
73 74 75 |
# File 'lib/fm_timbrado_cfdi.rb', line 73 def cancelar(rfc, uuid) respuesta = cliente.cancelar(rfc, uuid) end |
#cliente ⇒ Object
14 15 16 |
# File 'lib/fm_timbrado_cfdi.rb', line 14 def cliente @cliente ||= FmCliente.new end |
#configurar {|cliente| ... } ⇒ Object
10 11 12 |
# File 'lib/fm_timbrado_cfdi.rb', line 10 def configurar yield cliente end |
#timbra_cfdi_layout(rfc, layout, generar_cbb = false) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado en formato layout
rfc - Es el RFC del emisor layout - Es el archivo layout a ser timbrado como un string generar_cbb - Es una bandera que indica si debe generarse el código cbb, por default es false
Regresa un objeto tipo FMRespuesta que contiene el xml certificado, el timbre y la representación en pdf o el cbb en png
39 40 41 |
# File 'lib/fm_timbrado_cfdi.rb', line 39 def timbra_cfdi_layout (rfc, layout, generar_cbb = false) respuesta = cliente.timbrar rfc, layout, 'generarCBB' => generar_cbb end |
#timbra_cfdi_xml(xml, generar_cbb = false) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado en formato xml
xml - Es el archivo XML sellado como un string generar_cbb - Es una bandera que indica si debe generarse el código cbb, por default es false
Regresa un objeto tipo FMRespuesta que contiene el xml certificado, el timbre y la representación en pdf o el cbb en png
24 25 26 27 28 29 30 |
# File 'lib/fm_timbrado_cfdi.rb', line 24 def timbra_cfdi_xml (xml, generar_cbb = false) factura_xml = Nokogiri::XML(xml) #procesar rfc del emisor emisor = factura_xml.xpath("//cfdi:Emisor") rfc = emisor[0]['rfc'] respuesta = cliente.timbrar rfc, factura_xml.to_s, 'generarCBB' => generar_cbb end |
#timbrar(rfc, archivo, opciones = {}) ⇒ Object
Public: Envía un archivo al PAC para ser timbrado tanto en formato layout como en formato XML
rfc - Es el RFC del emisor archivo - Es el archivo a ser timbrado como un string opciones - Es un hash de opciones que deben coincidir con los parámetros recibidos por Facturación Moderna para el timbrado
Regresa un objeto tipo FMRespuesta que contiene el xml certificado, el timbre y la representación en pdf o el cbb en png
50 51 52 |
# File 'lib/fm_timbrado_cfdi.rb', line 50 def timbrar (rfc, archivo, opciones= {}) respuesta = cliente.timbrar rfc, archivo, opciones end |