fintecture 0.2.1 → 0.3.0

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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -3
  3. data/Gemfile +4 -2
  4. data/Gemfile.lock +1 -1
  5. data/README.md +328 -162
  6. data/Rakefile +5 -3
  7. data/bin/console +4 -3
  8. data/exemples/ais.rb +53 -0
  9. data/exemples/config_ais.json +8 -0
  10. data/exemples/config_pis.json +6 -0
  11. data/exemples/pis.rb +148 -0
  12. data/exemples/ressources.rb +23 -0
  13. data/fintecture.gemspec +16 -15
  14. data/lib/fintecture/ais_client.rb +94 -0
  15. data/lib/fintecture/api/ais/account_holders.rb +61 -0
  16. data/lib/fintecture/api/ais/accounts.rb +63 -0
  17. data/lib/fintecture/api/ais/authorize.rb +72 -0
  18. data/lib/fintecture/api/ais/authorize_decoupled.rb +68 -0
  19. data/lib/fintecture/api/ais/connect.rb +65 -0
  20. data/lib/fintecture/api/ais/delete_customer.rb +53 -0
  21. data/lib/fintecture/api/ais/transactions.rb +64 -0
  22. data/lib/fintecture/{authentication.rb → api/auth/authentication.rb} +25 -23
  23. data/lib/fintecture/api/pis/connect.rb +77 -0
  24. data/lib/fintecture/api/pis/initiate.rb +52 -0
  25. data/lib/fintecture/api/pis/payments.rb +48 -0
  26. data/lib/fintecture/api/pis/refund.rb +67 -0
  27. data/lib/fintecture/api/pis/request_to_pay.rb +63 -0
  28. data/lib/fintecture/api/pis/settlements.rb +48 -0
  29. data/lib/fintecture/api/ressources/applications.rb +57 -0
  30. data/lib/fintecture/api/ressources/providers.rb +61 -0
  31. data/lib/fintecture/api/ressources/test_accounts.rb +60 -0
  32. data/lib/fintecture/base_url.rb +26 -0
  33. data/lib/fintecture/endpoints/ais.rb +17 -0
  34. data/lib/fintecture/{api/endpoints → endpoints}/authentication.rb +3 -3
  35. data/lib/fintecture/endpoints/pis.rb +16 -0
  36. data/lib/fintecture/endpoints/ressources.rb +13 -0
  37. data/lib/fintecture/exceptions.rb +52 -13
  38. data/lib/fintecture/faraday/authentication/connection.rb +60 -40
  39. data/lib/fintecture/pis_client.rb +100 -0
  40. data/lib/fintecture/utils/constants.rb +5 -8
  41. data/lib/fintecture/utils/crypto.rb +15 -18
  42. data/lib/fintecture/utils/date.rb +4 -4
  43. data/lib/fintecture/utils/validation.rb +12 -6
  44. data/lib/fintecture/version.rb +3 -1
  45. data/lib/fintecture.rb +21 -38
  46. metadata +31 -8
  47. data/lib/fintecture/api/base_url.rb +0 -29
  48. data/lib/fintecture/api/endpoints/pis.rb +0 -14
  49. data/lib/fintecture/connect.rb +0 -38
  50. data/lib/fintecture/pis.rb +0 -262
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'base64'
4
+ require 'json'
5
+ require 'faraday'
6
+ require 'fintecture/utils/validation'
7
+ require 'fintecture/exceptions'
8
+ require 'fintecture/utils/date'
9
+ require 'fintecture/utils/constants'
10
+
11
+ module Fintecture
12
+ module Ais
13
+ class DeleteCustomer
14
+ class << self
15
+ # ------------ PUBLIC METHOD ------------
16
+ def delete(client, customer_id)
17
+ @client = client
18
+
19
+ # Do the request
20
+ _request customer_id
21
+ end
22
+
23
+ private
24
+
25
+ # ------------ REQUEST ------------
26
+ def _request(customer_id)
27
+ # Get the url request
28
+ url = _endpoint customer_id
29
+
30
+ # Do connect request
31
+ Fintecture::Faraday::Authentication::Connection.delete(
32
+ url: url,
33
+ client: @client,
34
+ custom_content_type: 'application/json',
35
+ bearer: "Bearer #{@client.token}",
36
+ secure_headers: true
37
+ )
38
+ end
39
+
40
+ # ------------ API ENDPOINT ------------
41
+ def _endpoint(customer_id)
42
+ "#{_api_base_url}/#{Fintecture::Api::Endpoints::Ais::CUSTOMER}/#{customer_id}"
43
+ end
44
+
45
+ # ------------ BASE URL ------------
46
+ def _api_base_url
47
+ Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
48
+ end
49
+
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'base64'
4
+ require 'json'
5
+ require 'faraday'
6
+ require 'fintecture/utils/validation'
7
+ require 'fintecture/exceptions'
8
+ require 'fintecture/utils/date'
9
+ require 'fintecture/utils/constants'
10
+
11
+ module Fintecture
12
+ module Ais
13
+ class Transactions
14
+ class << self
15
+ # ------------ PUBLIC METHOD ------------
16
+ def get(client, customer_id, account_id, remove_nulls, convert_dates, filters)
17
+ @client = client
18
+
19
+ # Do the request
20
+ _request customer_id, account_id, remove_nulls, convert_dates, filters
21
+ end
22
+
23
+ private
24
+
25
+ # ------------ REQUEST ------------
26
+ def _request(customer_id, account_id, remove_nulls, convert_dates, filters)
27
+ # Get the url request
28
+ url = _endpoint customer_id, account_id
29
+
30
+ # Build uri params
31
+ query_string = ''
32
+ if remove_nulls || convert_dates || filters
33
+ params = {}
34
+ params['remove_nulls'] = remove_nulls if remove_nulls
35
+ params['convert_dates'] = convert_dates if convert_dates
36
+ filters.each { |key, value| params[key] = value } if filters
37
+
38
+ query_string = "?#{params.map { |key, value| "#{key}=#{value}" }.join('&')}"
39
+ end
40
+
41
+ # Do connect request
42
+ Fintecture::Faraday::Authentication::Connection.get(
43
+ url: url + query_string,
44
+ client: @client,
45
+ custom_content_type: 'application/json',
46
+ bearer: "Bearer #{@client.token}",
47
+ secure_headers: true
48
+ )
49
+ end
50
+
51
+ # ------------ API ENDPOINT ------------
52
+ def _endpoint(customer_id, account_id)
53
+ "#{_api_base_url}/#{Fintecture::Api::Endpoints::Ais::TRANSACTIONS}/#{customer_id}/accounts/#{account_id}/transactions"
54
+ end
55
+
56
+ # ------------ BASE URL ------------
57
+ def _api_base_url
58
+ Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
59
+ end
60
+
61
+ end
62
+ end
63
+ end
64
+ end
@@ -1,37 +1,40 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
  require 'faraday'
3
5
 
4
6
  module Fintecture
5
7
  class Authentication
6
8
  class << self
7
-
8
9
  def authorize(redirect_uri, state = nil)
9
10
  query_string = "?#{{
10
- response_type: 'code',
11
- app_id: Fintecture.app_id,
12
- redirect_uri: redirect_uri,
13
- state: state
14
- }.map{|key, value| "#{key}=#{value}"}.join('&')}"
11
+ response_type: 'code',
12
+ app_id: Fintecture.app_id,
13
+ redirect_uri: redirect_uri,
14
+ state: state
15
+ }.map { |key, value| "#{key}=#{value}" }.join('&')}"
15
16
 
16
17
  ::Faraday.get "#{token_authorize_endpoint}#{query_string}"
17
18
  end
18
19
 
19
- def get_access_token(auth_code = nil)
20
+ def get_access_token(client, auth_code = nil)
21
+ @client = client
20
22
  body = access_token_data auth_code
21
-
22
- Fintecture::Faraday::Authentication::Connection.post url: access_token_url, req_body: body
23
+
24
+ Fintecture::Faraday::Authentication::Connection.post url: access_token_url, req_body: body, client: client
23
25
  end
24
26
 
25
- def refresh_token(refresh_token)
27
+ def refresh_token(client, refresh_token)
28
+ @client = client
26
29
  body = refresh_token_data refresh_token
27
30
 
28
- Fintecture::Faraday::Authentication::Connection.post url: refresh_token_url, req_body: body
31
+ Fintecture::Faraday::Authentication::Connection.post url: refresh_token_url, req_body: body, client: client
29
32
  end
30
33
 
31
34
  private
32
35
 
33
36
  def base_url
34
- Fintecture::Api::BaseUrl::FINTECTURE_OAUTH_URL[Fintecture.environment.to_sym]
37
+ Fintecture::Api::BaseUrl::FINTECTURE_OAUTH_URL[@client.environment.to_sym]
35
38
  end
36
39
 
37
40
  def token_authorize_endpoint
@@ -47,17 +50,17 @@ module Fintecture
47
50
  end
48
51
 
49
52
  def access_token_data(auth_code)
50
- data = {
51
- scope: 'PIS',
52
- app_id: Fintecture.app_id,
53
- grant_type: 'client_credentials'
53
+ data = {
54
+ scope: 'PIS',
55
+ app_id: @client.app_id,
56
+ grant_type: 'client_credentials'
54
57
  }
55
58
 
56
59
  if auth_code
57
60
  data = {
58
- scope: 'AIS',
59
- code: auth_code,
60
- grant_type: 'authorization_code'
61
+ scope: 'AIS',
62
+ code: auth_code,
63
+ grant_type: 'authorization_code'
61
64
  }
62
65
  end
63
66
 
@@ -66,11 +69,10 @@ module Fintecture
66
69
 
67
70
  def refresh_token_data(refresh_token)
68
71
  {
69
- grant_type: 'refresh_token',
70
- refresh_token: refresh_token
72
+ grant_type: 'refresh_token',
73
+ refresh_token: refresh_token
71
74
  }
72
75
  end
73
-
74
76
  end
75
77
  end
76
- end
78
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'base64'
4
+ require 'json'
5
+ require 'faraday'
6
+ require 'fintecture/utils/validation'
7
+ require 'fintecture/exceptions'
8
+ require 'fintecture/utils/date'
9
+ require 'fintecture/utils/constants'
10
+
11
+ module Fintecture
12
+ module Pis
13
+ class Connect
14
+ class << self
15
+ # ------------ PUBLIC METHOD ------------
16
+ def generate(client, payload, state, redirect_uri, origin_uri)
17
+ @client = client
18
+
19
+ # Build the request payload
20
+ payload = _build_payload(payload)
21
+
22
+ # Do the request
23
+ _request payload, state, redirect_uri, origin_uri
24
+ end
25
+
26
+ private
27
+
28
+ # ------------ REQUEST ------------
29
+ def _request(payload, state, redirect_uri, origin_uri)
30
+ # Get the url request
31
+ url = _endpoint
32
+
33
+ # Build uri params
34
+ params = {}
35
+ params['redirect_uri'] = redirect_uri if redirect_uri
36
+ params['origin_uri'] = origin_uri if origin_uri
37
+ params['state'] = state
38
+
39
+ query_string = "?#{params.map { |key, value| "#{key}=#{value}" }.join('&')}"
40
+
41
+ # Do connect request
42
+ Fintecture::Faraday::Authentication::Connection.post(
43
+ url: url + query_string,
44
+ req_body: payload.to_json,
45
+ client: @client,
46
+ custom_content_type: 'application/json',
47
+ bearer: "Bearer #{@client.token}",
48
+ secure_headers: true
49
+ )
50
+ end
51
+
52
+ # ------------ BUILD PAYLOAD ------------
53
+ def _build_payload(payload)
54
+ payload[:data][:attributes][:amount] = payload[:data][:attributes][:amount].to_s
55
+
56
+ unless payload[:data][:attributes][:end_to_end_id]
57
+ payload[:data][:attributes][:end_to_end_id] =
58
+ Fintecture::Utils::Crypto.generate_uuid_only_chars
59
+ end
60
+
61
+ payload
62
+ end
63
+
64
+ # ------------ API ENDPOINT ------------
65
+ def _endpoint
66
+ "#{_api_base_url}/#{Fintecture::Api::Endpoints::Pis::CONNECT}"
67
+ end
68
+
69
+ # ------------ BASE URL ------------
70
+ def _api_base_url
71
+ Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
72
+ end
73
+
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Fintecture
4
+ module Pis
5
+ class Initiate
6
+ class << self
7
+ # ------------ PUBLIC METHOD ------------
8
+ def generate(client, payload, provider_id, redirect_uri, state)
9
+ @client = client
10
+
11
+ # Do the _request request
12
+ _request payload, provider_id, redirect_uri, state
13
+ end
14
+
15
+ private
16
+
17
+ # ------------ REQUEST ------------
18
+ def _request(payload, provider_id, redirect_uri, state)
19
+ # Get the url request
20
+ url = _endpoint provider_id
21
+
22
+ # Build uri params
23
+ params = {}
24
+ params['state'] = state
25
+ params['redirect_uri'] = redirect_uri
26
+ query_string = "?#{params.map { |key, value| "#{key}=#{value}" }.join('&')}"
27
+
28
+ # Do connect request
29
+ Fintecture::Faraday::Authentication::Connection.post(
30
+ url: url + query_string,
31
+ req_body: payload.to_json,
32
+ client: @client,
33
+ custom_content_type: 'application/json',
34
+ bearer: "Bearer #{@client.token}",
35
+ secure_headers: true
36
+ )
37
+ end
38
+
39
+ # ------------ API ENDPOINT ------------
40
+ def _endpoint(provider_id)
41
+ "#{_api_base_url}/#{Fintecture::Api::Endpoints::Pis::INITIATE}/#{provider_id}/initiate"
42
+ end
43
+
44
+ # ------------ BASE URL ------------
45
+ def _api_base_url
46
+ Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
47
+ end
48
+
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+ require 'faraday'
5
+ require 'fintecture/endpoints/pis'
6
+ require 'fintecture/base_url'
7
+
8
+ module Fintecture
9
+ module Pis
10
+ class Payments
11
+ class << self
12
+ # ------------ PUBLIC METHOD ------------
13
+ def get(client, session_id)
14
+ @client = client
15
+
16
+ # Do the get_payments request
17
+ _request session_id
18
+ end
19
+
20
+ private
21
+
22
+ # ------------ REQUEST ------------
23
+ def _request(session_id)
24
+ url = _endpoint
25
+
26
+ Fintecture::Faraday::Authentication::Connection.get(
27
+ url: "#{url}/#{session_id}",
28
+ client: @client,
29
+ custom_content_type: 'application/json',
30
+ bearer: "Bearer #{@client.token}",
31
+ secure_headers: true
32
+ )
33
+ end
34
+
35
+ # ------------ API ENDPOINT ------------
36
+ def _endpoint
37
+ "#{_api_base_url}/#{Fintecture::Api::Endpoints::Pis::PAYMENTS}"
38
+ end
39
+
40
+ # ------------ BASE URL ------------
41
+ def _api_base_url
42
+ Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
43
+ end
44
+
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+ require 'faraday'
5
+ require 'fintecture/endpoints/pis'
6
+ require 'fintecture/base_url'
7
+ module Fintecture
8
+ module Pis
9
+ class Refund
10
+ class << self
11
+ # ------------ PUBLIC METHOD ------------
12
+ def generate(client, session_id, amount)
13
+ @client = client
14
+
15
+ # Build the request payload
16
+ payload = _build_payload session_id, amount
17
+ # Do the _request request
18
+ _request payload
19
+ end
20
+
21
+ private
22
+
23
+ # ------------ REQUEST ------------
24
+ def _request(payload)
25
+ # Get the url request
26
+ url = _endpoint
27
+
28
+ # Do connect request
29
+ Fintecture::Faraday::Authentication::Connection.post(
30
+ url: url,
31
+ req_body: payload.to_json,
32
+ client: @client,
33
+ custom_content_type: 'application/json',
34
+ bearer: "Bearer #{@client.token}",
35
+ secure_headers: true
36
+ )
37
+ end
38
+
39
+ # ------------ BUILD PAYLOAD ------------
40
+ def _build_payload(session_id, amount)
41
+ # Return the payload
42
+ {
43
+ meta: {
44
+ session_id: session_id
45
+ },
46
+ data: {
47
+ attributes: {
48
+ amount: amount.to_s
49
+ }
50
+ }
51
+ }
52
+ end
53
+
54
+ # ------------ API ENDPOINT ------------
55
+ def _endpoint
56
+ "#{_api_base_url}/#{Fintecture::Api::Endpoints::Pis::REFUND}"
57
+ end
58
+
59
+ # ------------ BASE URL ------------
60
+ def _api_base_url
61
+ Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
62
+ end
63
+
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+ require 'faraday'
5
+ require 'fintecture/endpoints/pis'
6
+ require 'fintecture/base_url'
7
+ module Fintecture
8
+ module Pis
9
+ class RequestToPay
10
+ class << self
11
+ # ------------ PUBLIC METHOD ------------
12
+ def generate(client, payload = nil, x_language, redirect_uri)
13
+ @client = client
14
+
15
+ # Do the _request request
16
+ _request payload, x_language, redirect_uri
17
+ end
18
+
19
+ private
20
+
21
+ # ------------ REQUEST ------------
22
+ def _request(payload, x_language, redirect_uri)
23
+ # Get the url request
24
+ url = _endpoint
25
+
26
+ # Build uri params
27
+ query_string = ''
28
+ if redirect_uri
29
+ params = {}
30
+ params['redirect_uri'] = redirect_uri
31
+ query_string = "?#{params.map { |key, value| "#{key}=#{value}" }.join('&')}"
32
+ end
33
+
34
+ # Build additional headers
35
+ additional_headers = {}
36
+ additional_headers['x-language'] = x_language
37
+
38
+ # Do connect request
39
+ Fintecture::Faraday::Authentication::Connection.post(
40
+ url: url + query_string,
41
+ req_body: payload.to_json,
42
+ client: @client,
43
+ custom_content_type: 'application/json',
44
+ bearer: "Bearer #{@client.token}",
45
+ secure_headers: true,
46
+ additional_headers: additional_headers
47
+ )
48
+ end
49
+
50
+ # ------------ API ENDPOINT ------------
51
+ def _endpoint
52
+ "#{_api_base_url}/#{Fintecture::Api::Endpoints::Pis::REQUEST_TO_PAY}"
53
+ end
54
+
55
+ # ------------ BASE URL ------------
56
+ def _api_base_url
57
+ Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
58
+ end
59
+
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+ require 'faraday'
5
+ require 'fintecture/endpoints/pis'
6
+ require 'fintecture/base_url'
7
+
8
+ module Fintecture
9
+ module Pis
10
+ class Settlements
11
+ class << self
12
+ # ------------ PUBLIC METHOD ------------
13
+ def get(client, settlement_id)
14
+ @client = client
15
+
16
+ # Do the get_payments request
17
+ _request settlement_id
18
+ end
19
+
20
+ private
21
+
22
+ # ------------ REQUEST ------------
23
+ def _request(settlement_id)
24
+ url = _endpoint
25
+
26
+ Fintecture::Faraday::Authentication::Connection.get(
27
+ url: "#{url}/#{settlement_id}",
28
+ client: @client,
29
+ custom_content_type: 'application/json',
30
+ bearer: "Bearer #{@client.token}",
31
+ secure_headers: true
32
+ )
33
+ end
34
+
35
+ # ------------ API ENDPOINT ------------
36
+ def _endpoint
37
+ "#{_api_base_url}/#{Fintecture::Api::Endpoints::Pis::SETTLEMENTS}"
38
+ end
39
+
40
+ # ------------ BASE URL ------------
41
+ def _api_base_url
42
+ Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
43
+ end
44
+
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'base64'
4
+ require 'json'
5
+ require 'faraday'
6
+ require 'fintecture/utils/validation'
7
+ require 'fintecture/exceptions'
8
+ require 'fintecture/utils/date'
9
+ require 'fintecture/utils/constants'
10
+
11
+ module Fintecture
12
+ module Ressources
13
+ class Applications
14
+ class << self
15
+ # ------------ PUBLIC METHOD ------------
16
+ def get(client)
17
+ @client = client
18
+
19
+ # Do the request
20
+ _request
21
+ end
22
+
23
+ private
24
+
25
+ # ------------ REQUEST ------------
26
+ def _request
27
+ # Get the url request
28
+ url = _endpoint
29
+
30
+ # Build additional headers
31
+ additional_headers = {}
32
+ additional_headers['app_id'] = @client.app_id
33
+
34
+ # Do connect request
35
+ Fintecture::Faraday::Authentication::Connection.get(
36
+ url: url,
37
+ client: @client,
38
+ custom_content_type: 'application/json',
39
+ secure_headers: true,
40
+ additional_headers: additional_headers
41
+ )
42
+ end
43
+
44
+ # ------------ API ENDPOINT ------------
45
+ def _endpoint
46
+ "#{_api_base_url}/#{Fintecture::Api::Endpoints::Ressources::APPLICATION}"
47
+ end
48
+
49
+ # ------------ BASE URL ------------
50
+ def _api_base_url
51
+ Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
52
+ end
53
+
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'base64'
4
+ require 'json'
5
+ require 'faraday'
6
+ require 'fintecture/utils/validation'
7
+ require 'fintecture/exceptions'
8
+ require 'fintecture/utils/date'
9
+ require 'fintecture/utils/constants'
10
+
11
+ module Fintecture
12
+ module Ressources
13
+ class Providers
14
+ class << self
15
+ # ------------ PUBLIC METHOD ------------
16
+ def get(client, provider_id, paramsProviders)
17
+ @client = client
18
+
19
+ # Do the request
20
+ _request provider_id, paramsProviders
21
+ end
22
+
23
+ private
24
+
25
+ # ------------ REQUEST ------------
26
+ def _request(provider_id, paramsProviders)
27
+ # Get the url request
28
+ url = _endpoint provider_id
29
+
30
+ # Build additional headers
31
+ additional_headers = {}
32
+ additional_headers['app_id'] = @client.app_id
33
+
34
+ # Build uri params
35
+ query_string = ''
36
+ query_string = "?#{paramsProviders.map { |key, value| "#{key}=#{value}" }.join('&')}" if paramsProviders
37
+
38
+ # Do connect request
39
+ Fintecture::Faraday::Authentication::Connection.get(
40
+ url: url + query_string,
41
+ client: @client,
42
+ custom_content_type: 'application/json',
43
+ secure_headers: true,
44
+ additional_headers: additional_headers
45
+ )
46
+ end
47
+
48
+ # ------------ API ENDPOINT ------------
49
+ def _endpoint(provider_id)
50
+ "#{_api_base_url}/#{Fintecture::Api::Endpoints::Ressources::PROVIDERS}/#{provider_id || ''}"
51
+ end
52
+
53
+ # ------------ BASE URL ------------
54
+ def _api_base_url
55
+ Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
56
+ end
57
+
58
+ end
59
+ end
60
+ end
61
+ end