module Fawry::Requests::ListTokensRequest

Public Instance Methods

fire_list_tokens_request() click to toggle source
# File lib/fawry/requests/list_tokens_request.rb, line 8
def fire_list_tokens_request
  fawry_api_response = Connection.get(request[:path], request[:params], request[:body], request[:options])
  response_body = JSON.parse(fawry_api_response.body)

  FawryResponse.new(response_body)
end

Private Instance Methods

build_list_tokens_request() click to toggle source
# File lib/fawry/requests/list_tokens_request.rb, line 17
def build_list_tokens_request
  {
    path: 'cards/cardToken',
    params: list_tokens_request_transformed_params,
    body: {},
    options: options
  }
end
fawry_merchant_code() click to toggle source
# File lib/fawry/requests/list_tokens_request.rb, line 38
def fawry_merchant_code
  Fawry.configuration.fawry_merchant_code || ENV.fetch('FAWRY_MERCHANT_CODE') { request_params[:merchant_code] }
end
fawry_secure_key() click to toggle source
# File lib/fawry/requests/list_tokens_request.rb, line 42
def fawry_secure_key
  Fawry.configuration.fawry_secure_key || ENV.fetch('FAWRY_SECURE_KEY') { request_params[:fawry_secure_key] }
end
list_tokens_request_signature() click to toggle source
# File lib/fawry/requests/list_tokens_request.rb, line 51
def list_tokens_request_signature
  Digest::SHA256.hexdigest("#{fawry_merchant_code}#{request_params[:customer_profile_id]}"\
                           "#{fawry_secure_key}")
end
list_tokens_request_transformed_params() click to toggle source
# File lib/fawry/requests/list_tokens_request.rb, line 30
def list_tokens_request_transformed_params
  {
    merchantCode: fawry_merchant_code,
    customerProfileId: request_params[:customer_profile_id],
    signature: list_tokens_request_signature
  }.compact
end
request_params() click to toggle source
# File lib/fawry/requests/list_tokens_request.rb, line 26
def request_params
  @request_params = params
end
validate_list_tokens_params!() click to toggle source
# File lib/fawry/requests/list_tokens_request.rb, line 46
def validate_list_tokens_params!
  contract = Contracts::ListTokensRequestContract.new.call(request_params)
  raise InvalidFawryRequestError, contract.errors.to_h if contract.failure?
end