Sha256: 7bb883fd63b45f49f7f8d231062feb456fcd314425e560ea7a5b01064e27484a
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
module Workarea module Orderbot class Order module Tender class CreditCard attr_reader :tender, :options def initialize(tender, options = {}) @tender = tender @option = options end def to_h { payment_reference_id: tender.id.to_s, payment_type: "credit_card", payment_method_type: tender.issuer.optionize, amount_paid: tender.amount.to_f, payment_date: transaction.created_at.iso8601, auth_code: transaction.response.authorization, credit_card: { transaction_id: transaction_id, authorization_code: transaction.response.authorization, last_four_digits: tender.display_number.last(4) } } end private def transaction tender.transactions.successful.sort_by(&:created_at).last end def transaction_id gateway_class = Workarea.config.gateways.credit_card.class.to_s Workarea.config.orderbot.transaction_id[gateway_class].call(transaction) rescue nil end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems