Module: PayoneerApiClient

Defined in:
lib/payoneer_api_client.rb,
lib/payoneer_api_client/login.rb,
lib/payoneer_api_client/payout.rb,
lib/payoneer_api_client/system.rb,
lib/payoneer_api_client/balance.rb,
lib/payoneer_api_client/reports.rb,
lib/payoneer_api_client/version.rb,
lib/payoneer_api_client/response.rb,
lib/payoneer_api_client/api_version.rb,
lib/payoneer_api_client/payee_status.rb,
lib/payoneer_api_client/registration.rb,
lib/payoneer_api_client/configuration.rb,
lib/payoneer_api_client/payee_details.rb,
lib/payoneer_api_client/errors/global_error.rb,
lib/payoneer_api_client/errors/configuration_error.rb

Defined Under Namespace

Modules: Errors Classes: ApiVersion, Balance, Configuration, Login, PayeeDetails, PayeeStatus, Payout, Registration, Reports, Response, System

Constant Summary collapse

METHOD_NAME =
{  balance: 'balance',
system: 'echo',
version: 'api-version',
login: 'payees/login-link',
registration: 'payees/registration-link',
payouts: 'payouts',
report_single: 'reports/payee_details',
report_to_date: 'reports/payees_status' }.freeze
PAYOUT_METHODS =
{ prepaid_card: 'PREPAID_CARD', bank: 'BANK', paypal: 'PAYPAL' }.freeze
RESP_FIELD =
{ code: 'code', desc: 'description', audit: 'audit_id' }.freeze
FORMAT_DATE =
'%Y-%m-%d'
VERSION =
'0.1.1'

Class Method Summary collapse

Class Method Details

.build_url(method_name) ⇒ Object



70
71
72
# File 'lib/payoneer_api_client.rb', line 70

def build_url(method_name)
  "#{configuration.api_url}/#{method_name}"
end

.configurationObject



66
67
68
# File 'lib/payoneer_api_client.rb', line 66

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



47
48
49
# File 'lib/payoneer_api_client.rb', line 47

def configure
  yield(configuration)
end

.make_api_request(method_name, method = :post, params = {}) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/payoneer_api_client.rb', line 51

def make_api_request(method_name, method = :post, params = {})
  configuration.validate!
  begin
    response = RestClient::Request.execute(method: method,
                                           url: build_url(method_name),
                                           user: configuration.partner_username,
                                           password: configuration.partner_api_password,
                                           headers: { accept: :json, content_type: :json },
                                           payload: params.to_json)
  rescue RestClient::Exception => e
    response = e.response
  end
  Response.new(JSON.parse(response))
end