Class: Payabli::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/payabli/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(base_url: nil, client_id: ENV.fetch("OAUTH_CLIENT_ID", nil), client_secret: ENV.fetch("OAUTH_CLIENT_SECRET", nil), api_key: nil, max_retries: 2) ⇒ void

Parameters:

  • (defaults to: nil)
  • (defaults to: ENV.fetch("OAUTH_CLIENT_ID", nil))
  • (defaults to: ENV.fetch("OAUTH_CLIENT_SECRET", nil))
  • (defaults to: nil)
  • (defaults to: 2)


12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/payabli/client.rb', line 12

def initialize(base_url: nil, client_id: ENV.fetch("OAUTH_CLIENT_ID", nil), client_secret: ENV.fetch("OAUTH_CLIENT_SECRET", nil), api_key: nil, max_retries: 2)
  if !client_id.to_s.empty? && !client_secret.to_s.empty?
    # Create an unauthenticated client for the auth endpoint
    auth_raw_client = Payabli::Internal::Http::RawClient.new(
      base_url: base_url || Payabli::Environment::SANDBOX,
      headers: {
        "X-Fern-Language" => "Ruby"
      }
    )

    # Create the auth client for token retrieval
    auth_client = Payabli::Token::Client.new(client: auth_raw_client)

    # Create the OAuth provider with the auth client and credentials
    @oauth_provider = Payabli::Internal::OAuthProvider.new(
      auth_client: auth_client,
      options: { base_url: base_url, client_id: client_id, client_secret: client_secret }
    )
  end

  @raw_client = Payabli::Internal::Http::RawClient.new(
    base_url: base_url || Payabli::Environment::SANDBOX,
    headers: {
      "User-Agent" => "payabli/3.0.12",
      "X-Fern-Language" => "Ruby"
    },
    auth_provider: Payabli::Internal::RoutingAuthProvider.new(
      api_key: api_key,
      oauth_provider: @oauth_provider
    ),
    max_retries: max_retries
  )
end

Instance Method Details

#billPayabli::Bill::Client

Returns:



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

def bill
  @bill ||= Payabli::Bill::Client.new(client: @raw_client)
end

#billingPayabli::Billing::Client

Returns:



222
223
224
# File 'lib/payabli/client.rb', line 222

def billing
  @billing ||= Payabli::Billing::Client.new(client: @raw_client)
end

#boardingPayabli::Boarding::Client

Returns:



142
143
144
# File 'lib/payabli/client.rb', line 142

def boarding
  @boarding ||= Payabli::Boarding::Client.new(client: @raw_client)
end

#case_managementPayabli::CaseManagement::Client

Returns:



217
218
219
# File 'lib/payabli/client.rb', line 217

def case_management
  @case_management ||= Payabli::CaseManagement::Client.new(client: @raw_client)
end

#charge_backsPayabli::ChargeBacks::Client

Returns:



212
213
214
# File 'lib/payabli/client.rb', line 212

def charge_backs
  @charge_backs ||= Payabli::ChargeBacks::Client.new(client: @raw_client)
end

#check_capturePayabli::CheckCapture::Client

Returns:



57
58
59
# File 'lib/payabli/client.rb', line 57

def check_capture
  @check_capture ||= Payabli::CheckCapture::Client.new(client: @raw_client)
end

#cloudPayabli::Cloud::Client

Returns:



132
133
134
# File 'lib/payabli/client.rb', line 132

def cloud
  @cloud ||= Payabli::Cloud::Client.new(client: @raw_client)
end

#customerPayabli::Customer::Client

Returns:



52
53
54
# File 'lib/payabli/client.rb', line 52

def customer
  @customer ||= Payabli::Customer::Client.new(client: @raw_client)
end

#devicePayabli::Device::Client

Returns:



127
128
129
# File 'lib/payabli/client.rb', line 127

def device
  @device ||= Payabli::Device::Client.new(client: @raw_client)
end

#exportPayabli::Export::Client

Returns:



152
153
154
# File 'lib/payabli/client.rb', line 152

def export
  @export ||= Payabli::Export::Client.new(client: @raw_client)
end

#fundingPayabli::Funding::Client

Returns:



197
198
199
# File 'lib/payabli/client.rb', line 197

def funding
  @funding ||= Payabli::Funding::Client.new(client: @raw_client)
end

#ghost_cardPayabli::GhostCard::Client

Returns:



187
188
189
# File 'lib/payabli/client.rb', line 187

def ghost_card
  @ghost_card ||= Payabli::GhostCard::Client.new(client: @raw_client)
end

#hosted_payment_pagesPayabli::HostedPaymentPages::Client

Returns:



97
98
99
# File 'lib/payabli/client.rb', line 97

def hosted_payment_pages
  @hosted_payment_pages ||= Payabli::HostedPaymentPages::Client.new(client: @raw_client)
end

#importPayabli::Import::Client

Returns:



107
108
109
# File 'lib/payabli/client.rb', line 107

def import
  @import ||= Payabli::Import::Client.new(client: @raw_client)
end

#invoicePayabli::Invoice::Client

Returns:



77
78
79
# File 'lib/payabli/client.rb', line 77

def invoice
  @invoice ||= Payabli::Invoice::Client.new(client: @raw_client)
end

#line_itemPayabli::LineItem::Client

Returns:



137
138
139
# File 'lib/payabli/client.rb', line 137

def line_item
  @line_item ||= Payabli::LineItem::Client.new(client: @raw_client)
end

#managementPayabli::Management::Client

Returns:



162
163
164
# File 'lib/payabli/client.rb', line 162

def management
  @management ||= Payabli::Management::Client.new(client: @raw_client)
end

#money_inPayabli::MoneyIn::Client

Returns:



62
63
64
# File 'lib/payabli/client.rb', line 62

def money_in
  @money_in ||= Payabli::MoneyIn::Client.new(client: @raw_client)
end

#money_outPayabli::MoneyOut::Client

Returns:



192
193
194
# File 'lib/payabli/client.rb', line 192

def money_out
  @money_out ||= Payabli::MoneyOut::Client.new(client: @raw_client)
end

#notificationPayabli::Notification::Client

Returns:



172
173
174
# File 'lib/payabli/client.rb', line 172

def notification
  @notification ||= Payabli::Notification::Client.new(client: @raw_client)
end

#notificationlogsPayabli::Notificationlogs::Client

Returns:



122
123
124
# File 'lib/payabli/client.rb', line 122

def notificationlogs
  @notificationlogs ||= Payabli::Notificationlogs::Client.new(client: @raw_client)
end

#ocrPayabli::Ocr::Client

Returns:



117
118
119
# File 'lib/payabli/client.rb', line 117

def ocr
  @ocr ||= Payabli::Ocr::Client.new(client: @raw_client)
end

#organizationPayabli::Organization::Client

Returns:



157
158
159
# File 'lib/payabli/client.rb', line 157

def organization
  @organization ||= Payabli::Organization::Client.new(client: @raw_client)
end

Returns:



82
83
84
# File 'lib/payabli/client.rb', line 82

def payment_link
  @payment_link ||= Payabli::PaymentLink::Client.new(client: @raw_client)
end

#payment_method_domainPayabli::PaymentMethodDomain::Client

Returns:



102
103
104
# File 'lib/payabli/client.rb', line 102

def payment_method_domain
  @payment_method_domain ||= Payabli::PaymentMethodDomain::Client.new(client: @raw_client)
end

#payout_subscriptionPayabli::PayoutSubscription::Client

Returns:



207
208
209
# File 'lib/payabli/client.rb', line 207

def payout_subscription
  @payout_subscription ||= Payabli::PayoutSubscription::Client.new(client: @raw_client)
end

#paypointPayabli::Paypoint::Client

Returns:



92
93
94
# File 'lib/payabli/client.rb', line 92

def paypoint
  @paypoint ||= Payabli::Paypoint::Client.new(client: @raw_client)
end

#queryPayabli::Query::Client

Returns:



112
113
114
# File 'lib/payabli/client.rb', line 112

def query
  @query ||= Payabli::Query::Client.new(client: @raw_client)
end

#statisticPayabli::Statistic::Client

Returns:



167
168
169
# File 'lib/payabli/client.rb', line 167

def statistic
  @statistic ||= Payabli::Statistic::Client.new(client: @raw_client)
end

#subscriptionPayabli::Subscription::Client

Returns:



72
73
74
# File 'lib/payabli/client.rb', line 72

def subscription
  @subscription ||= Payabli::Subscription::Client.new(client: @raw_client)
end

#templatesPayabli::Templates::Client

Returns:



147
148
149
# File 'lib/payabli/client.rb', line 147

def templates
  @templates ||= Payabli::Templates::Client.new(client: @raw_client)
end

#tokenPayabli::Token::Client

Returns:



67
68
69
# File 'lib/payabli/client.rb', line 67

def token
  @token ||= Payabli::Token::Client.new(client: @raw_client)
end

#token_storagePayabli::TokenStorage::Client

Returns:



87
88
89
# File 'lib/payabli/client.rb', line 87

def token_storage
  @token_storage ||= Payabli::TokenStorage::Client.new(client: @raw_client)
end

#userPayabli::User::Client

Returns:



177
178
179
# File 'lib/payabli/client.rb', line 177

def user
  @user ||= Payabli::User::Client.new(client: @raw_client)
end

#vendorPayabli::Vendor::Client

Returns:



182
183
184
# File 'lib/payabli/client.rb', line 182

def vendor
  @vendor ||= Payabli::Vendor::Client.new(client: @raw_client)
end

#walletPayabli::Wallet::Client

Returns:



202
203
204
# File 'lib/payabli/client.rb', line 202

def wallet
  @wallet ||= Payabli::Wallet::Client.new(client: @raw_client)
end