class NuaPay::Base

Public Instance Methods

get_response(url, additional_options={}, params={}) click to toggle source
# File lib/nua_pay/base.rb, line 3
def get_response(url, additional_options={}, params={})
resource =  RestClient::Request.new({
              method:  additional_options[:request_type] || :get,
              url:     url,
              user:    ENV['NUAPAY_API_KEY'],
              payload: (params.to_json if params.compact.present?),
              headers: { content_type: 'application/json'}
            })

  begin
    response = resource.execute
    response && JSON.parse( response )["data"]
  rescue => e
    puts JSON.parse( e.response )
    raise e
  end

end

Protected Instance Methods

base_url() click to toggle source
# File lib/nua_pay/base.rb, line 40
def base_url
  NUAPAY_API['SCHEMES'] + ENV['NUAPAY_IDENTIFIER']
end
build_url( url="" ) click to toggle source
# File lib/nua_pay/base.rb, line 23
def build_url( url="" )
  ENV['NUAPAY_BASE_URL'] + url
end
cancellation( reason ) click to toggle source
# File lib/nua_pay/base.rb, line 44
def cancellation( reason )
  {"operationReason": reason }
end
mandate_base_url() click to toggle source
# File lib/nua_pay/base.rb, line 27
def mandate_base_url
  base_url + NUAPAY_API['MANDATES']
end
mandate_url( id ) click to toggle source
# File lib/nua_pay/base.rb, line 31
def mandate_url( id )
  build_url( mandate_base_url + id )
end
validate_mandate_params(data) click to toggle source
# File lib/nua_pay/base.rb, line 35
def validate_mandate_params(data)
  data = data.with_indifferent_access.compact
  data.fetch(:debtorAccount).fetch(:iban) && data.fetch(:creditorAccount).fetch(:iban) && data.fetch(:debtor).fetch(:name)
end