payabli 3.0.3 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 030ce6ece0ebf9ee1b7db55aabee60f4f77ddd0e755004597504f6c831bb39f7
4
- data.tar.gz: f475de7c086a0699ac89a0b009ce87e30ff5ea16973a11dc6ad19395724a0350
3
+ metadata.gz: b244baca4d457ef5e1e43e54b46c5b7cc24648cdd351b5da31dbbe6211cf27da
4
+ data.tar.gz: 358b6be5dac8473a4d25b4de4750cbac51ae5a4c1361b8904ff9e57165becba0
5
5
  SHA512:
6
- metadata.gz: 6ae52fe15e466ead4098f19b312144d8a907adcc736d40d2102cd7435dbc1fbca2bbf75aae42642997f706a89ece45b7773b47a37d5b5f49ca888fe14c19b8e5
7
- data.tar.gz: 25304386f26b6bbb6f03b5628d270fc0538aa5149f23f637b32c73e7a153cda1b15750995d68b59205543da1d5aebba3d8665a57c04aa69101d7fc6170eea7a7
6
+ metadata.gz: e193a9655b0961dbb9d4f2532bce484191b0b1e81c389e778b8e6e8c8c6eb44e5e7e21edc7b2cd4b1890379c2266831fa9d7235ca4c6ee7676fafb5455f100cf
7
+ data.tar.gz: '04587a27b2f6e1b4dfc5c10e2e7c2103036c2c5c1036044b3d4478481a3719f2458386bea6fab67bab38d730286306622aa5b869040d0b4bad83dd05b1e35469'
data/.fern/metadata.json CHANGED
@@ -6,10 +6,10 @@
6
6
  "enableWireTests": true,
7
7
  "rubocopVariableNumberStyle": "snake_case"
8
8
  },
9
- "originGitCommit": "fbf628bcea22b886022a9bd709dca9daaf0bd3ca",
9
+ "originGitCommit": "691a950bd6f2451fa2ba6099f1b830b17fac51ec",
10
10
  "originGitCommitIsDirty": true,
11
11
  "invokedBy": "ci",
12
- "requestedVersion": "3.0.3",
12
+ "requestedVersion": "3.0.5",
13
13
  "ciProvider": "github",
14
- "sdkVersion": "3.0.3"
14
+ "sdkVersion": "3.0.5"
15
15
  }
data/README.md CHANGED
@@ -71,10 +71,7 @@ Instantiate and use the client with the following:
71
71
  ```ruby
72
72
  require "payabli"
73
73
 
74
- client = Payabli::Client.new(
75
- client_id: "<clientId>",
76
- client_secret: "<clientSecret>"
77
- )
74
+ client = Payabli::Client.new(api_key: "<value>")
78
75
 
79
76
  client.money_in.getpaidv_2(
80
77
  customer_data: {
@@ -2,41 +2,19 @@
2
2
 
3
3
  module Payabli
4
4
  class Client
5
+ # @param api_key [String]
5
6
  # @param base_url [String, nil]
6
- # @param client_id [String, nil]
7
- # @param client_secret [String, nil]
8
- # @param api_key [String, nil]
9
7
  # @param max_retries [Integer]
10
8
  #
11
9
  # @return [void]
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)
13
- if !client_id.to_s.empty? && !client_secret.to_s.empty?
14
- # Create an unauthenticated client for the auth endpoint
15
- auth_raw_client = Payabli::Internal::Http::RawClient.new(
16
- base_url: base_url || Payabli::Environment::SANDBOX,
17
- headers: {
18
- "X-Fern-Language" => "Ruby"
19
- }
20
- )
21
-
22
- # Create the auth client for token retrieval
23
- auth_client = Payabli::Token::Client.new(client: auth_raw_client)
24
-
25
- # Create the OAuth provider with the auth client and credentials
26
- @auth_provider = Payabli::Internal::OAuthProvider.new(
27
- auth_client: auth_client,
28
- options: { base_url: base_url, client_id: client_id, client_secret: client_secret }
29
- )
30
- end
31
-
10
+ def initialize(api_key:, base_url: nil, max_retries: 2)
32
11
  @raw_client = Payabli::Internal::Http::RawClient.new(
33
12
  base_url: base_url || Payabli::Environment::SANDBOX,
34
13
  headers: {
35
- "User-Agent" => "payabli/3.0.3",
14
+ "User-Agent" => "payabli/3.0.5",
36
15
  "X-Fern-Language" => "Ruby",
37
16
  requestToken: api_key.to_s
38
17
  },
39
- auth_provider: @auth_provider,
40
18
  max_retries: max_retries
41
19
  )
42
20
  end
@@ -113,7 +113,7 @@ module Payabli
113
113
 
114
114
  field :rep_office, -> { String }, optional: true, nullable: false, api_name: "RepOffice"
115
115
 
116
- field :on_create, -> { String }, optional: true, nullable: false, api_name: "onCreate"
116
+ field :on_create, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "onCreate"
117
117
  end
118
118
  end
119
119
  end
@@ -83,7 +83,7 @@ module Payabli
83
83
 
84
84
  field :rep_office, -> { String }, optional: true, nullable: false, api_name: "RepOffice"
85
85
 
86
- field :on_create, -> { String }, optional: true, nullable: false, api_name: "onCreate"
86
+ field :on_create, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "onCreate"
87
87
  end
88
88
  end
89
89
  end
@@ -95,7 +95,7 @@ module Payabli
95
95
 
96
96
  field :rep_office, -> { String }, optional: true, nullable: false, api_name: "RepOffice"
97
97
 
98
- field :on_create, -> { String }, optional: true, nullable: false, api_name: "onCreate"
98
+ field :on_create, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "onCreate"
99
99
  end
100
100
  end
101
101
  end
@@ -116,7 +116,7 @@ module Payabli
116
116
 
117
117
  field :rep_office, -> { String }, optional: true, nullable: false, api_name: "RepOffice"
118
118
 
119
- field :on_create, -> { String }, optional: true, nullable: false, api_name: "onCreate"
119
+ field :on_create, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "onCreate"
120
120
  end
121
121
  end
122
122
  end
@@ -3,7 +3,7 @@
3
3
  module Payabli
4
4
  module Types
5
5
  module OnCreate
6
- # OnCreate is an alias for String
6
+ # OnCreate is an alias for Array
7
7
 
8
8
  # @option str [String]
9
9
  #
@@ -26,7 +26,7 @@ module Payabli
26
26
 
27
27
  field :device, -> { String }, optional: true, nullable: false
28
28
 
29
- field :initator, -> { String }, optional: true, nullable: false
29
+ field :initiator, -> { String }, optional: true, nullable: false
30
30
 
31
31
  field :method_, -> { Payabli::Types::Methodall }, optional: true, nullable: false, api_name: "method"
32
32
 
@@ -103,7 +103,7 @@ module Payabli
103
103
 
104
104
  field :enrichment_id, -> { String }, optional: true, nullable: false, api_name: "EnrichmentId"
105
105
 
106
- field :additional_data, -> { Internal::Types::Hash[String, Internal::Types::Hash[String, Object]] }, optional: true, nullable: false, api_name: "additionalData"
106
+ field :additional_data, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false, api_name: "additionalData"
107
107
 
108
108
  field :external_paypoint_id, -> { String }, optional: true, nullable: false, api_name: "externalPaypointID"
109
109
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Payabli
4
- VERSION = "3.0.3"
4
+ VERSION = "3.0.5"
5
5
  end
data/lib/payabli.rb CHANGED
@@ -112,7 +112,6 @@ require_relative "payabli/types/dbaname"
112
112
  require_relative "payabli/types/entrypointfield"
113
113
  require_relative "payabli/types/org_parent_name"
114
114
  require_relative "payabli/types/org_parent_id"
115
- require_relative "payabli/types/additional_data"
116
115
  require_relative "payabli/types/external_paypoint_id"
117
116
  require_relative "payabli/types/vendor_query_record"
118
117
  require_relative "payabli/types/netamountnullable"
@@ -174,6 +173,7 @@ require_relative "payabli/types/totalpages"
174
173
  require_relative "payabli/types/totalrecords"
175
174
  require_relative "payabli/types/bill_query_response_summary"
176
175
  require_relative "payabli/types/bill_query_record_2_payment_method"
176
+ require_relative "payabli/types/additional_data"
177
177
  require_relative "payabli/types/billing_data"
178
178
  require_relative "payabli/types/contacts"
179
179
  require_relative "payabli/types/contacts_field"
@@ -1110,4 +1110,3 @@ require_relative "payabli/payout_subscription/types/update_payout_subscription_b
1110
1110
  require_relative "payabli/charge_backs/client"
1111
1111
  require_relative "payabli/charge_backs/types/response_charge_back"
1112
1112
  require_relative "payabli/environment"
1113
- require_relative "payabli/internal/oauth_provider"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: payabli
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.3
4
+ version: 3.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Payabli
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-07-17 00:00:00.000000000 Z
11
+ date: 2026-07-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: The Payabli Ruby library provides convenient access to the Payabli API
14
14
  from Ruby.
@@ -113,7 +113,6 @@ files:
113
113
  - lib/payabli/internal/multipart/multipart_form_data.rb
114
114
  - lib/payabli/internal/multipart/multipart_form_data_part.rb
115
115
  - lib/payabli/internal/multipart/multipart_request.rb
116
- - lib/payabli/internal/oauth_provider.rb
117
116
  - lib/payabli/internal/types/array.rb
118
117
  - lib/payabli/internal/types/boolean.rb
119
118
  - lib/payabli/internal/types/enum.rb
@@ -1,67 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Payabli
4
- module Internal
5
- class OAuthProvider
6
- BUFFER_IN_SECONDS = 120 # 2 minutes
7
-
8
- # @param auth_client [untyped]
9
- # @param options [Hash[String, untyped]]
10
- #
11
- # @return [void]
12
- def initialize(auth_client:, options:)
13
- @auth_client = auth_client
14
- @options = options
15
- @access_token = nil
16
- @expires_at = nil
17
- end
18
-
19
- # Returns a cached access token, refreshing if necessary.
20
- # Refreshes the token if it's nil, or if we're within the buffer period before expiration.
21
- #
22
- # @return [String]
23
- def token
24
- return refresh if @access_token.nil? || token_needs_refresh?
25
-
26
- @access_token
27
- end
28
-
29
- # Returns the authentication headers to be included in requests.
30
- #
31
- # @return [Hash[String, String]]
32
- def auth_headers
33
- access_token = token
34
- {
35
- Authorization: "Bearer #{access_token}"
36
- }
37
- end
38
-
39
- # Checks if the token needs to be refreshed.
40
- # Returns true if the token will expire within the buffer period.
41
- #
42
- # @return [Boolean]
43
- private def token_needs_refresh?
44
- return true if @expires_at.nil?
45
-
46
- Time.now >= (@expires_at - BUFFER_IN_SECONDS)
47
- end
48
-
49
- # Refreshes the access token by calling the token endpoint.
50
- #
51
- # @return [String]
52
- private def refresh
53
- request_params = {
54
- client_id: @options[:client_id],
55
- client_secret: @options[:client_secret]
56
- }
57
-
58
- token_response = @auth_client.create_server_side_token(**request_params)
59
-
60
- @access_token = token_response.access_token
61
- @expires_at = Time.now + token_response.expires_in
62
-
63
- @access_token
64
- end
65
- end
66
- end
67
- end