Sha256: fc3b75384281a4ffb36de40f0ca40ca18927d4d6163b519c150b192dd2d1f125

Contents?: true

Size: 1.41 KB

Versions: 1

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

require 'json'
require 'faraday'
require 'fintecture/endpoints/pis'
require 'fintecture/base_url'

module Fintecture
  module Pis
    class Payments
      class << self
        # ------------ PUBLIC METHOD ------------
        def get(client, session_id, options = {})
          @client = client

          # Do the get_payments request
          _request session_id, options
        end

        private

        # ------------ REQUEST ------------
        def _request(session_id, options)
          url = _endpoint

          # Build uri params
          params = {}
          params['with_virtualbeneficiary'] = 'true' if options[:with_virtualbeneficiary]

          query_string = "?#{params.map { |key, value| "#{key}=#{value}" }.join('&')}"

          Fintecture::Faraday::Authentication::Connection.get(
            url: "#{url}/#{session_id}" + query_string,
            client: @client,
            custom_content_type: 'application/json',
            bearer: "Bearer #{@client.token}",
            secure_headers: true
          )
        end

        # ------------ API ENDPOINT ------------
        def _endpoint
          "#{_api_base_url}/#{Fintecture::Api::Endpoints::Pis::PAYMENTS}"
        end

        # ------------ BASE URL ------------
        def _api_base_url
          Fintecture::Api::BaseUrl::FINTECTURE_API_URL[@client.environment.to_sym]
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fintecture-0.6.0 lib/fintecture/api/pis/payments.rb