class OrangeData::ReceiptResult
Attributes
content[R]
Public Class Methods
from_hash(hash)
click to toggle source
# File lib/orange_data/receipt.rb, line 199 def self.from_hash(hash) return if hash.nil? raise ArgumentError, 'Expect hash here' unless hash.is_a?(Hash) new(hash) end
new(payload)
click to toggle source
# File lib/orange_data/receipt.rb, line 194 def initialize(payload) @payload = payload @content = ReceiptContent.new(@payload["content"]) end
Public Instance Methods
qr_code_content()
click to toggle source
# File lib/orange_data/receipt.rb, line 209 def qr_code_content # Пример: t=20150720T1638&s=9999999.00&fn=000110000105&i=12345678&fp=123456&n=2 # вообще это тег 1196, но OD его не присылают { # - t=<date/time - дата и время осуществления расчета в формате ГГГГММДДТЧЧММ> t: processed_at.gsub(/:\d{2}\z/, '').gsub(/[^0-9T]/, ''), # - s=<сумма расчета в рублях и копейках, разделенных точкой> s: content.check_close.payments.inject(0.0){|d, p| d + p.amount }, # - fn=<заводской номер фискального накопителя> fn: fs_number, # - i=<порядковый номер фискального документа, нулями не дополняется> i: document_number, # documentIndex?? # - fp=<фискальный признак документа, нулями не дополняется> fp: fp, # - n=<признак расчета>. n: content.raw_type, }.map{|k, v| "#{k}=#{v}" }.join('&') end