module Fawry::Requests::DeleteTokenRequest

Public Instance Methods

fire_delete_token_request() click to toggle source
# File lib/fawry/requests/delete_token_request.rb, line 8
def fire_delete_token_request
  fawry_api_response = Connection.delete(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_delete_token_request() click to toggle source
# File lib/fawry/requests/delete_token_request.rb, line 17
def build_delete_token_request
  {
    path: 'cards/cardToken',
    params: {},
    body: delete_token_request_transformed_params,
    options: options
  }
end
card_token() click to toggle source
# File lib/fawry/requests/delete_token_request.rb, line 47
def card_token
  request_params[:card_token]
end
delete_token_request_signature() click to toggle source
# File lib/fawry/requests/delete_token_request.rb, line 56
def delete_token_request_signature
  Digest::SHA256.hexdigest("#{fawry_merchant_code}#{request_params[:customer_profile_id]}"\
                           "#{card_token}#{fawry_secure_key}")
end
delete_token_request_transformed_params() click to toggle source
# File lib/fawry/requests/delete_token_request.rb, line 30
def delete_token_request_transformed_params
  {
    merchantCode: fawry_merchant_code,
    customerProfileId: request_params[:customer_profile_id],
    signature: delete_token_request_signature,
    cardToken: request_params[:card_token]
  }.compact
end
fawry_merchant_code() click to toggle source
# File lib/fawry/requests/delete_token_request.rb, line 39
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/delete_token_request.rb, line 43
def fawry_secure_key
  Fawry.configuration.fawry_secure_key || ENV.fetch('FAWRY_SECURE_KEY') { request_params[:fawry_secure_key] }
end
request_params() click to toggle source
# File lib/fawry/requests/delete_token_request.rb, line 26
def request_params
  @request_params = params
end
validate_delete_token_params!() click to toggle source
# File lib/fawry/requests/delete_token_request.rb, line 51
def validate_delete_token_params!
  contract = Contracts::ListTokensRequestContract.new.call(request_params)
  raise InvalidFawryRequestError, contract.errors.to_h if contract.failure?
end