module Fawry::Requests::CreateCardTokenRequest

Public Instance Methods

fire_create_card_token_request() click to toggle source
# File lib/fawry/requests/create_card_token_request.rb, line 8
def fire_create_card_token_request
  fawry_api_response = Connection.post(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_create_card_token_request() click to toggle source
# File lib/fawry/requests/create_card_token_request.rb, line 17
def build_create_card_token_request
  {
    path: 'cards/cardToken',
    params: {},
    body: create_card_token_request_transformed_params,
    options: options
  }
end
create_card_token_request() click to toggle source
# File lib/fawry/requests/create_card_token_request.rb, line 26
def create_card_token_request
  @create_card_token_request ||= params
end
create_card_token_request_transformed_params() click to toggle source
# File lib/fawry/requests/create_card_token_request.rb, line 30
def create_card_token_request_transformed_params
  {
    merchantCode: fawry_merchant_code,
    customerProfileId: create_card_token_request[:customer_profile_id],
    customerMobile: create_card_token_request[:customer_mobile],
    customerEmail: create_card_token_request[:customer_email],
    cardNumber: create_card_token_request[:card_number],
    expiryYear: create_card_token_request[:expiry_year],
    expiryMonth: create_card_token_request[:expiry_month],
    cvv: create_card_token_request[:cvv]
  }.compact
end
fawry_merchant_code() click to toggle source
# File lib/fawry/requests/create_card_token_request.rb, line 43
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/create_card_token_request.rb, line 47
def fawry_secure_key
  Fawry.configuration.fawry_secure_key || ENV.fetch('FAWRY_SECURE_KEY') { request_params[:fawry_secure_key] }
end
validate_card_token_params!() click to toggle source
# File lib/fawry/requests/create_card_token_request.rb, line 51
def validate_card_token_params!
  contract = Contracts::CreateCardTokenRequestContract.new.call(create_card_token_request)
  raise InvalidFawryRequestError, contract.errors.to_h if contract.failure?
end