class ChargeACH

Public Class Methods

new(app, key, endpoint) click to toggle source
# File lib/redpay/charge_ach.rb, line 8
def initialize(app, key, endpoint)
  @app      = app
  @key      = key
  @endpoint = endpoint
end

Public Instance Methods

Process(request) click to toggle source
# File lib/redpay/charge_ach.rb, line 14
def Process(request)
  json_request = JSON.parse(request.to_json, object_class: OpenStruct)
  # TODO Validate request here

  # Create a session with the server
  session = Session.new(@app, @key, @endpoint + "ach")

  # Contruct charge ach packet
  req = 
  {
    "account" => json_request.account,
    "routing" => json_request.routing,
    "accountType" => json_request.accountType ||= "C",
    "action" => "A",
    "amount" => json_request.amount,
    "cardHolderName" => json_request.accountHolder,
    "currency" => json_request.currency ||= "USD"
  }

  return session.Send(req)
end