Afip SDK también funciona con ARCA, sin cambios necesarios.

Crear QR de AFIP en Ruby

Con pocas líneas de código


Crear QR de AFIP en Ruby

Luego de obtener el CAE vamos a generar el QR de AFIP para nuestro comprobante.

Preparamos el QR

Para generar el QR vamos a utilizar rqrcode

gem install rqrcode

Y generamos el codigo QR

require "rqrcode"
require "json"
require "base64"

# Datos para el QR
qr_code_data = {
  "ver": 1, # Versión del formato de los datos (1 por defecto)
  "fecha": "2017-10-25", # Fecha de emisión del comprobante
  "cuit": 12345678912, # Cuit del Emisor del comprobante
  "ptoVta": 1, # Punto de venta utilizado para emitir el comprobante
  "tipoCmp": 6, # Tipo de comprobante
  "nroCmp": 32, # Tipo de comprobante
  "importe": 150, # Importe Total del comprobante (en la moneda en la que fue emitido)
  "moneda": "ARS", # Moneda del comprobante
  "ctz": 1, # Cotización en pesos argentinos de la moneda utilizada
  "tipoDocRec": 80, # Código del Tipo de documento del receptor
  "nroDocRec": 12345678912, # Número de documento del receptor
  "tipoCodAut": "E", # “A” para comprobante autorizado por CAEA, “E” para comprobante autorizado por CAE
  "codAut": 12345678912345 # CAE o CAEA, segun corresponda
}

# Preparamos el texto para el qr en base a https://www.afip.gob.ar/fe/qr/documentos/QRespecificaciones.pdf
qr_code_text = "https://www.afip.gob.ar/fe/qr/?p=#{Base64.urlsafe_encode64(JSON.dump(qr_code_data))}"

# Generamos el QR
qrcode = RQRCode::QRCode.new(qr_code_text)

# Lo transformamos a PNG
png = qrcode.as_png(
  bit_depth: 1,
  border_modules: 4,
  color_mode: ChunkyPNG::COLOR_GRAYSCALE,
  color: "black",
  file: nil,
  fill: "white",
  module_px_size: 6,
  resize_exactly_to: false,
  resize_gte_to: false,
  size: 200
)

puts "data:image/png;base64,#{Base64.encode64(png.to_s)}" # Podemos obtenerlo como URL para usar en <img src="..."> tag
IO.binwrite("./qr-afip.png", png.to_s) # o podemos guardarlo como un archivo

QR de AFIP

Ya tenemos el QR listo para nuestro comprobante. Ahora podemos crear el PDF

Conectate a AFIP sin vueltas

Certificados, codigo, tutoriales, soporte, todo lo que necesitas para usar los web services de AFIP en un solo lugar.