Sha256: 8b0649f46942efc01127da1e52a8954d386a13345899de6f0577859b3be465da

Contents?: true

Size: 1015 Bytes

Versions: 1

Compression:

Stored size: 1015 Bytes

Contents

require 'rest-client'

module Payments
  class PayWorker
    include Sidekiq::Worker

    sidekiq_options :queue => :payments

    def perform(payment_id)
      payment = Payment.find(payment_id)
      response = RestClient.post "#{Terminal.config.host}/payments/#{payment.foreign_id}/pay",
                                 :provider => payment.provider.keyword,
                                 :terminal => Terminal.config.keyword,
                                 :meta => payment.meta,
                                 :payment => {
                                    :paid_amount => payment.paid_amount,
                                    :card_track1 => payment.card_track1,
                                    :card_track2 => payment.card_track2
                                  }
      Sidekiq::Logging.logger.debug "Pay response: #{response.to_s}"
      payment.update_attributes(
        :processed => true,
        :card_track1 => nil,
        :card_track2 => nil
      ) if response
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
smartkiosk-client-0.1.10 app/workers/payments/pay_worker.rb