class MandarinApi::CardManager

Manages cards assignment

Public Instance Methods

assign_card(user, urls) click to toggle source
# File lib/mandarin_api/card_manager.rb, line 5
def assign_card(user, urls)
  params = { customer_info: { email: user.email, phone: phone(user) } }
  params[:urls] = urls unless urls.empty?
  MandarinApi::Wrapper.new(
    merchant_id: MandarinApi.config.merchant_id, secret: MandarinApi.config.secret,
    logger: MandarinApi.config.logger
  ).request('/api/card-bindings', params)
end
one_side_assign_card(user, card) click to toggle source
# File lib/mandarin_api/card_manager.rb, line 14
def one_side_assign_card(user, card)
  params = {
    customer_info: { email: user.email, phone: user.phone },
    target: { known_card_number: card }
  }
  MandarinApi::Wrapper.new(merchant_id: MandarinApi.config.merchant_id,
                           secret: MandarinApi.config.secret)
                      .request('/api/card-bindings', params)
end

Private Instance Methods

phone(user) click to toggle source
# File lib/mandarin_api/card_manager.rb, line 26
def phone(user)
  if user.phone.nil?
    '+70000000000'
  else
    '+' + user.phone.gsub(/[^\d]+/, '').gsub(/^8/, '7')
  end
end