Class: PayTrace::CheckTransaction

Inherits:
Object
  • Object
show all
Defined in:
lib/paytrace/check_transaction.rb

Constant Summary collapse

PROCESS_SALE_METHOD =
"ProcessCheck"

Class Method Summary collapse

Class Method Details

.process_sale(params = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/paytrace/check_transaction.rb', line 5

def self.process_sale(params = {})
  request = PayTrace::API::Request.new
  request.set_param(:method, PROCESS_SALE_METHOD)
  request.set_params([
    :check_type, 
    :amount, :customer_id, :account_number, :routing_number,
    :billing_name, :billing_address, :billing_address2, :billing_city, :billing_state, :billing_postal_code, :billing_country,
    :shipping_name, :shipping_address, :shipping_address2, :shipping_city, :shipping_region, :shipping_state, :shipping_postal_code, :shipping_country,
    :email, :invoice, :description, :tax_amount, :customer_reference_id
    ], params)

  if params[:discretionary_data] 
    params[:discretionary_data].keys.each do |k|
      request.set_discretionary(k, params[:discretionary_data][k])
    end
  end
  
  gateway = PayTrace::API::Gateway.new
  response = gateway.send_request(request)      
  unless response.has_errors?
    response.values
  end
end