defmodule Iyzico.ErrorHandler do def handle_error(%{"errorCode" => "5093"}), do: {:error, :excessive_funds} def handle_error(%{"errorCode" => "5115"}), do: {:error, :unavail} def handle_error(%{"errorCode" => "5184"}), do: {:error, :local_card_on_foreign_cur} def handle_error(%{"errorCode" => "5086"}), do: {:error, :unowned} def handle_error(%{"errorCode" => "5092"}), do: {:error, :unowned} def handle_error(%{"errorCode" => "10051"}), do: {:error, :insufficient_funds} def handle_error(%{"errorCode" => "10005"}), do: {:error, :do_not_honor} def handle_error(%{"errorCode" => "10057"}), do: {:error, :holder_permit} def handle_error(%{"errorCode" => "10058"}), do: {:error, :terminal} def handle_error(%{"errorCode" => "6001"}), do: {:error, :stolen} def handle_error(%{"errorCode" => "10043"}), do: {:error, :stolen} def handle_error(%{"errorCode" => "10041"}), do: {:error, :lost} def handle_error(%{"errorCode" => "10034"}), do: {:error, :fraud} def handle_error(%{"errorCode" => "10054"}), do: {:error, :expired} def handle_error(%{"errorCode" => "10084"}), do: {:error, :invalid_cvc} def handle_error(%{"errorCode" => "10012"}), do: {:error, :invalid} def handle_error(%{"errorCode" => "1001"}), do: {:error, :eacces} def handle_error(%{"errorCode" => "10093"}), do: {:error, :restricted_by_law} def handle_error(%{"errorCode" => "10201"}), do: {:error, :card_not_permitted} def handle_error(%{"errorCode" => "10203"}), do: {:error, :already_approved} def handle_error(%{"errorCode" => "10205"}), do: {:error, :email_invalid} def handle_error(%{"errorCode" => "10206"}), do: {:error, :cvc_invalid} def handle_error(%{"errorCode" => "10207"}), do: {:error, :issue_needed} def handle_error(%{"errorCode" => "10208"}), do: {:error, :invalid_merchant} def handle_error(%{"errorCode" => "10209"}), do: {:error, :blocked} def handle_error(%{"errorCode" => "10210"}), do: {:error, :invalid_cavv} def handle_error(%{"errorCode" => "10211"}), do: {:error, :invalid_eci} def handle_error(%{"errorCode" => "10212"}), do: {:error, :cvc_brick} def handle_error(%{"errorCode" => "10213"}), do: {:error, :enoent} def handle_error(%{"errorCode" => "10215"}), do: {:error, :einval} def handle_error(%{"errorCode" => "10216"}), do: {:error, :no_issuer} def handle_error(%{"errorCode" => "10217"}), do: {:error, :require_3ds} def handle_error(%{"errorCode" => "10218"}), do: {:error, :installment_not_allowed} def handle_error(%{"errorCode" => "10219"}), do: {:error, :timeout} def handle_error(%{"errorCode" => "10220"}), do: {:error, :declined} def handle_error(%{"errorCode" => "10221"}), do: {:error, :foreign_now_allowed_on_term} def handle_error(%{"errorCode" => "10222"}), do: {:error, :installment_not_allowed_on_term} def handle_error(%{"errorCode" => "10223"}), do: {:error, :requires_day_end} def handle_error(%{"errorCode" => "10224"}), do: {:error, :withdrawal_limit_exceed} def handle_error(%{"errorCode" => "10225"}), do: {:error, :restricted} def handle_error(%{"errorCode" => "10226"}), do: {:error, :pin_disabled} def handle_error(%{"errorCode" => "10227"}), do: {:error, :invalid_pin} def handle_error(%{"errorCode" => "10228"}), do: {:error, :issuer_switch_inoperative} def handle_error(%{"errorCode" => "10229"}), do: {:error, :invalid_expire} def handle_error(%{"errorCode" => "10230"}), do: {:error, :blocked_by_bank} def handle_error(%{"errorCode" => "10231"}), do: {:error, :award_less_than_amount} def handle_error(%{"errorCode" => "10232"}), do: {:error, :invalid_amount} def handle_error(%{"errorCode" => "10233"}), do: {:error, :invalid_card_type} def handle_error(%{"errorCode" => "10234"}), do: {:error, :insufficient_award} def handle_error(%{"errorCode" => "10235"}), do: {:error, :amex_can_only_use_mr} def handle_error(%{"errorCode" => "10236"}), do: {:error, nil} def handle_error(%{"errorCode" => "10214"}), do: {:error, nil} def handle_error(%{"errorCode" => "10202"}), do: {:error, nil} def handle_error(%{"errorCode" => "10204"}), do: {:error, nil} def handle_error(%{"errorCode" => code}), do: raise Iyzico.InternalInconsistencyError, code: code end