=begin #UltraCart Rest API V2 #UltraCart REST API Version 2 OpenAPI spec version: 2.0.0 Contact: support@ultracart.com Generated by: https://github.com/swagger-api/swagger-codegen.git Swagger Codegen version: 2.4.15-SNAPSHOT =end require 'date' module UltracartClient class TransactionGateway # Additional html to display for this transaction gateway. This html will include instructions and connection links attr_accessor :arbitrary_html # Additional comments attr_accessor :comment # True if this gateway supports credit cards attr_accessor :credit_card_capable # True if this gateway supports eChecks attr_accessor :echeck_capable # True if this gateway supports eChecks attr_accessor :echeck_supported # True if this transaction gateway is the currently active gateway. attr_accessor :enabled # Cryptographic public certificate allowing UltraCart to communicate securely with this gateway. attr_accessor :gateway_cert_pem # The label for the gateway certificate pem. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_cert_pem_label # Gateway Email attr_accessor :gateway_email # The label for the gateway email. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_email_label # Gateway Environment to indicate sandbox versus production environments attr_accessor :gateway_environment # The label for the gateway environment. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_environment_label # Used to populate drop down lists for the gateway environment. Varies by gateway. attr_accessor :gateway_environments # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS attr_accessor :gateway_header_back_color # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS attr_accessor :gateway_header_border_color # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS attr_accessor :gateway_header_image_url # Gateway Key attr_accessor :gateway_key # The label for the gateway key. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_key_label # Cryptographic private key allowing UltraCart to communicate securely with this gateway. attr_accessor :gateway_key_pem # The label for the gateway key pem. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_key_pem_label # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS attr_accessor :gateway_landing_page # Gateway Merchant ID attr_accessor :gateway_merchant_id # The label for the gateway merchant id. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_merchant_id_label # Gateway Mode attr_accessor :gateway_mode # The label for the gateway mode. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_mode_label # Used to populate drop down lists for gateway modes attr_accessor :gateway_modes # Gateway Page Style attr_accessor :gateway_page_style # Gateway page style label attr_accessor :gateway_page_style_label # Used to populate drop down lists for gateway page style attr_accessor :gateway_page_styles # Gateway Partner attr_accessor :gateway_partner # The label for the gateway partner. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_partner_label # Gateway Password attr_accessor :gateway_password # The label for the gateway password. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_password_label # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS attr_accessor :gateway_payflow_color # Gateway private key password attr_accessor :gateway_private_key_password # The label for the gateway private key password. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_private_key_password_label # Optional Look and feel setting for Verified-by-VISA. Only needed if you are using 3DS attr_accessor :gateway_solution_type # The label for the gateway solution type. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_solution_type_label # Used to populate drop down lists for gateway solution types attr_accessor :gateway_solution_types # Gateway URL attr_accessor :gateway_url # The label for the gateway url. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_url_label # Gateway Username attr_accessor :gateway_username # The label for the gateway username. The actual value stored may vary by gateway, so the label will vary too. attr_accessor :gateway_username_label # If a merchant has multiple card processing accounts, this is the one to use for American Express cards. attr_accessor :merchant_account_profile_amex # If a merchant has multiple card processing accounts, this is the one to use for Diners Club cards. attr_accessor :merchant_account_profile_diners_club # If a merchant has multiple card processing accounts, this is the one to use for Discover cards. attr_accessor :merchant_account_profile_discover # If a merchant has multiple card processing accounts, this is the one to use for JCB cards. attr_accessor :merchant_account_profile_jcb # If a merchant has multiple card processing accounts, this is the one to use for MasterCard cards. attr_accessor :merchant_account_profile_mastercard # If a merchant has multiple card processing accounts, this is the one to use for VISA cards. attr_accessor :merchant_account_profile_visa # UltraCart Merchant ID attr_accessor :merchant_id # True if this gateway provides details for multiple currency transactions attr_accessor :multi_currency_details # Name of this transaction gateway attr_accessor :name # True if this gateway supports refunds attr_accessor :refund_supported # If true, e-Check transaction will require either a Tax ID or a Driver License attr_accessor :require_echeck_tax_id_or_drivers_license # True if this gateway supported Verified-by-VISA 3D Secure attr_accessor :support_vbv_3ds # If true, this gateway will attempt to process American Express transactions. If false, the customer will not be allowed to use this type of Credit Card. attr_accessor :supports_amex # If true, this gateway will attempt to process Diners Club transactions. If false, the customer will not be allowed to use this type of Credit Card. attr_accessor :supports_diners_club # If true, this gateway will attempt to process Discover transactions. If false, the customer will not be allowed to use this type of Credit Card. attr_accessor :supports_discover # If true, this gateway will attempt to process e-Check transactions. If false, the customer will not be allowed to use e-Checks. attr_accessor :supports_echeck # if true, this gateway will attempt to process electronic gift cards. attr_accessor :supports_electronic_gift_card # If true, this gateway will attempt to process JCB transactions. If false, the customer will not be allowed to use this type of Credit Card. attr_accessor :supports_jcb # If true, this gateway will attempt to process MasterCard transactions. If false, the customer will not be allowed to use this type of Credit Card. attr_accessor :supports_mastercard # If true, this gateway will attempt to process VISA transactions. If false, the customer will not be allowed to use this type of Credit Card. attr_accessor :supports_visa # True if this gateway supports third parties attr_accessor :third_party # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'arbitrary_html' => :'arbitrary_html', :'comment' => :'comment', :'credit_card_capable' => :'credit_card_capable', :'echeck_capable' => :'echeck_capable', :'echeck_supported' => :'echeck_supported', :'enabled' => :'enabled', :'gateway_cert_pem' => :'gateway_cert_pem', :'gateway_cert_pem_label' => :'gateway_cert_pem_label', :'gateway_email' => :'gateway_email', :'gateway_email_label' => :'gateway_email_label', :'gateway_environment' => :'gateway_environment', :'gateway_environment_label' => :'gateway_environment_label', :'gateway_environments' => :'gateway_environments', :'gateway_header_back_color' => :'gateway_header_back_color', :'gateway_header_border_color' => :'gateway_header_border_color', :'gateway_header_image_url' => :'gateway_header_image_url', :'gateway_key' => :'gateway_key', :'gateway_key_label' => :'gateway_key_label', :'gateway_key_pem' => :'gateway_key_pem', :'gateway_key_pem_label' => :'gateway_key_pem_label', :'gateway_landing_page' => :'gateway_landing_page', :'gateway_merchant_id' => :'gateway_merchant_id', :'gateway_merchant_id_label' => :'gateway_merchant_id_label', :'gateway_mode' => :'gateway_mode', :'gateway_mode_label' => :'gateway_mode_label', :'gateway_modes' => :'gateway_modes', :'gateway_page_style' => :'gateway_page_style', :'gateway_page_style_label' => :'gateway_page_style_label', :'gateway_page_styles' => :'gateway_page_styles', :'gateway_partner' => :'gateway_partner', :'gateway_partner_label' => :'gateway_partner_label', :'gateway_password' => :'gateway_password', :'gateway_password_label' => :'gateway_password_label', :'gateway_payflow_color' => :'gateway_payflow_color', :'gateway_private_key_password' => :'gateway_private_key_password', :'gateway_private_key_password_label' => :'gateway_private_key_password_label', :'gateway_solution_type' => :'gateway_solution_type', :'gateway_solution_type_label' => :'gateway_solution_type_label', :'gateway_solution_types' => :'gateway_solution_types', :'gateway_url' => :'gateway_url', :'gateway_url_label' => :'gateway_url_label', :'gateway_username' => :'gateway_username', :'gateway_username_label' => :'gateway_username_label', :'merchant_account_profile_amex' => :'merchant_account_profile_amex', :'merchant_account_profile_diners_club' => :'merchant_account_profile_diners_club', :'merchant_account_profile_discover' => :'merchant_account_profile_discover', :'merchant_account_profile_jcb' => :'merchant_account_profile_jcb', :'merchant_account_profile_mastercard' => :'merchant_account_profile_mastercard', :'merchant_account_profile_visa' => :'merchant_account_profile_visa', :'merchant_id' => :'merchant_id', :'multi_currency_details' => :'multi_currency_details', :'name' => :'name', :'refund_supported' => :'refund_supported', :'require_echeck_tax_id_or_drivers_license' => :'require_echeck_tax_id_or_drivers_license', :'support_vbv_3ds' => :'support_vbv_3ds', :'supports_amex' => :'supports_amex', :'supports_diners_club' => :'supports_diners_club', :'supports_discover' => :'supports_discover', :'supports_echeck' => :'supports_echeck', :'supports_electronic_gift_card' => :'supports_electronic_gift_card', :'supports_jcb' => :'supports_jcb', :'supports_mastercard' => :'supports_mastercard', :'supports_visa' => :'supports_visa', :'third_party' => :'third_party' } end # Attribute type mapping. def self.swagger_types { :'arbitrary_html' => :'String', :'comment' => :'String', :'credit_card_capable' => :'BOOLEAN', :'echeck_capable' => :'BOOLEAN', :'echeck_supported' => :'String', :'enabled' => :'BOOLEAN', :'gateway_cert_pem' => :'String', :'gateway_cert_pem_label' => :'String', :'gateway_email' => :'String', :'gateway_email_label' => :'String', :'gateway_environment' => :'String', :'gateway_environment_label' => :'String', :'gateway_environments' => :'Array', :'gateway_header_back_color' => :'String', :'gateway_header_border_color' => :'String', :'gateway_header_image_url' => :'String', :'gateway_key' => :'String', :'gateway_key_label' => :'String', :'gateway_key_pem' => :'String', :'gateway_key_pem_label' => :'String', :'gateway_landing_page' => :'String', :'gateway_merchant_id' => :'String', :'gateway_merchant_id_label' => :'String', :'gateway_mode' => :'String', :'gateway_mode_label' => :'String', :'gateway_modes' => :'Array', :'gateway_page_style' => :'String', :'gateway_page_style_label' => :'String', :'gateway_page_styles' => :'Array', :'gateway_partner' => :'String', :'gateway_partner_label' => :'String', :'gateway_password' => :'String', :'gateway_password_label' => :'String', :'gateway_payflow_color' => :'String', :'gateway_private_key_password' => :'String', :'gateway_private_key_password_label' => :'String', :'gateway_solution_type' => :'String', :'gateway_solution_type_label' => :'String', :'gateway_solution_types' => :'Array', :'gateway_url' => :'String', :'gateway_url_label' => :'String', :'gateway_username' => :'String', :'gateway_username_label' => :'String', :'merchant_account_profile_amex' => :'String', :'merchant_account_profile_diners_club' => :'String', :'merchant_account_profile_discover' => :'String', :'merchant_account_profile_jcb' => :'String', :'merchant_account_profile_mastercard' => :'String', :'merchant_account_profile_visa' => :'String', :'merchant_id' => :'String', :'multi_currency_details' => :'BOOLEAN', :'name' => :'String', :'refund_supported' => :'BOOLEAN', :'require_echeck_tax_id_or_drivers_license' => :'BOOLEAN', :'support_vbv_3ds' => :'BOOLEAN', :'supports_amex' => :'BOOLEAN', :'supports_diners_club' => :'BOOLEAN', :'supports_discover' => :'BOOLEAN', :'supports_echeck' => :'BOOLEAN', :'supports_electronic_gift_card' => :'BOOLEAN', :'supports_jcb' => :'BOOLEAN', :'supports_mastercard' => :'BOOLEAN', :'supports_visa' => :'BOOLEAN', :'third_party' => :'BOOLEAN' } end # Initializes the object # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) return unless attributes.is_a?(Hash) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } if attributes.has_key?(:'arbitrary_html') self.arbitrary_html = attributes[:'arbitrary_html'] end if attributes.has_key?(:'comment') self.comment = attributes[:'comment'] end if attributes.has_key?(:'credit_card_capable') self.credit_card_capable = attributes[:'credit_card_capable'] end if attributes.has_key?(:'echeck_capable') self.echeck_capable = attributes[:'echeck_capable'] end if attributes.has_key?(:'echeck_supported') self.echeck_supported = attributes[:'echeck_supported'] end if attributes.has_key?(:'enabled') self.enabled = attributes[:'enabled'] end if attributes.has_key?(:'gateway_cert_pem') self.gateway_cert_pem = attributes[:'gateway_cert_pem'] end if attributes.has_key?(:'gateway_cert_pem_label') self.gateway_cert_pem_label = attributes[:'gateway_cert_pem_label'] end if attributes.has_key?(:'gateway_email') self.gateway_email = attributes[:'gateway_email'] end if attributes.has_key?(:'gateway_email_label') self.gateway_email_label = attributes[:'gateway_email_label'] end if attributes.has_key?(:'gateway_environment') self.gateway_environment = attributes[:'gateway_environment'] end if attributes.has_key?(:'gateway_environment_label') self.gateway_environment_label = attributes[:'gateway_environment_label'] end if attributes.has_key?(:'gateway_environments') if (value = attributes[:'gateway_environments']).is_a?(Array) self.gateway_environments = value end end if attributes.has_key?(:'gateway_header_back_color') self.gateway_header_back_color = attributes[:'gateway_header_back_color'] end if attributes.has_key?(:'gateway_header_border_color') self.gateway_header_border_color = attributes[:'gateway_header_border_color'] end if attributes.has_key?(:'gateway_header_image_url') self.gateway_header_image_url = attributes[:'gateway_header_image_url'] end if attributes.has_key?(:'gateway_key') self.gateway_key = attributes[:'gateway_key'] end if attributes.has_key?(:'gateway_key_label') self.gateway_key_label = attributes[:'gateway_key_label'] end if attributes.has_key?(:'gateway_key_pem') self.gateway_key_pem = attributes[:'gateway_key_pem'] end if attributes.has_key?(:'gateway_key_pem_label') self.gateway_key_pem_label = attributes[:'gateway_key_pem_label'] end if attributes.has_key?(:'gateway_landing_page') self.gateway_landing_page = attributes[:'gateway_landing_page'] end if attributes.has_key?(:'gateway_merchant_id') self.gateway_merchant_id = attributes[:'gateway_merchant_id'] end if attributes.has_key?(:'gateway_merchant_id_label') self.gateway_merchant_id_label = attributes[:'gateway_merchant_id_label'] end if attributes.has_key?(:'gateway_mode') self.gateway_mode = attributes[:'gateway_mode'] end if attributes.has_key?(:'gateway_mode_label') self.gateway_mode_label = attributes[:'gateway_mode_label'] end if attributes.has_key?(:'gateway_modes') if (value = attributes[:'gateway_modes']).is_a?(Array) self.gateway_modes = value end end if attributes.has_key?(:'gateway_page_style') self.gateway_page_style = attributes[:'gateway_page_style'] end if attributes.has_key?(:'gateway_page_style_label') self.gateway_page_style_label = attributes[:'gateway_page_style_label'] end if attributes.has_key?(:'gateway_page_styles') if (value = attributes[:'gateway_page_styles']).is_a?(Array) self.gateway_page_styles = value end end if attributes.has_key?(:'gateway_partner') self.gateway_partner = attributes[:'gateway_partner'] end if attributes.has_key?(:'gateway_partner_label') self.gateway_partner_label = attributes[:'gateway_partner_label'] end if attributes.has_key?(:'gateway_password') self.gateway_password = attributes[:'gateway_password'] end if attributes.has_key?(:'gateway_password_label') self.gateway_password_label = attributes[:'gateway_password_label'] end if attributes.has_key?(:'gateway_payflow_color') self.gateway_payflow_color = attributes[:'gateway_payflow_color'] end if attributes.has_key?(:'gateway_private_key_password') self.gateway_private_key_password = attributes[:'gateway_private_key_password'] end if attributes.has_key?(:'gateway_private_key_password_label') self.gateway_private_key_password_label = attributes[:'gateway_private_key_password_label'] end if attributes.has_key?(:'gateway_solution_type') self.gateway_solution_type = attributes[:'gateway_solution_type'] end if attributes.has_key?(:'gateway_solution_type_label') self.gateway_solution_type_label = attributes[:'gateway_solution_type_label'] end if attributes.has_key?(:'gateway_solution_types') if (value = attributes[:'gateway_solution_types']).is_a?(Array) self.gateway_solution_types = value end end if attributes.has_key?(:'gateway_url') self.gateway_url = attributes[:'gateway_url'] end if attributes.has_key?(:'gateway_url_label') self.gateway_url_label = attributes[:'gateway_url_label'] end if attributes.has_key?(:'gateway_username') self.gateway_username = attributes[:'gateway_username'] end if attributes.has_key?(:'gateway_username_label') self.gateway_username_label = attributes[:'gateway_username_label'] end if attributes.has_key?(:'merchant_account_profile_amex') self.merchant_account_profile_amex = attributes[:'merchant_account_profile_amex'] end if attributes.has_key?(:'merchant_account_profile_diners_club') self.merchant_account_profile_diners_club = attributes[:'merchant_account_profile_diners_club'] end if attributes.has_key?(:'merchant_account_profile_discover') self.merchant_account_profile_discover = attributes[:'merchant_account_profile_discover'] end if attributes.has_key?(:'merchant_account_profile_jcb') self.merchant_account_profile_jcb = attributes[:'merchant_account_profile_jcb'] end if attributes.has_key?(:'merchant_account_profile_mastercard') self.merchant_account_profile_mastercard = attributes[:'merchant_account_profile_mastercard'] end if attributes.has_key?(:'merchant_account_profile_visa') self.merchant_account_profile_visa = attributes[:'merchant_account_profile_visa'] end if attributes.has_key?(:'merchant_id') self.merchant_id = attributes[:'merchant_id'] end if attributes.has_key?(:'multi_currency_details') self.multi_currency_details = attributes[:'multi_currency_details'] end if attributes.has_key?(:'name') self.name = attributes[:'name'] end if attributes.has_key?(:'refund_supported') self.refund_supported = attributes[:'refund_supported'] end if attributes.has_key?(:'require_echeck_tax_id_or_drivers_license') self.require_echeck_tax_id_or_drivers_license = attributes[:'require_echeck_tax_id_or_drivers_license'] end if attributes.has_key?(:'support_vbv_3ds') self.support_vbv_3ds = attributes[:'support_vbv_3ds'] end if attributes.has_key?(:'supports_amex') self.supports_amex = attributes[:'supports_amex'] end if attributes.has_key?(:'supports_diners_club') self.supports_diners_club = attributes[:'supports_diners_club'] end if attributes.has_key?(:'supports_discover') self.supports_discover = attributes[:'supports_discover'] end if attributes.has_key?(:'supports_echeck') self.supports_echeck = attributes[:'supports_echeck'] end if attributes.has_key?(:'supports_electronic_gift_card') self.supports_electronic_gift_card = attributes[:'supports_electronic_gift_card'] end if attributes.has_key?(:'supports_jcb') self.supports_jcb = attributes[:'supports_jcb'] end if attributes.has_key?(:'supports_mastercard') self.supports_mastercard = attributes[:'supports_mastercard'] end if attributes.has_key?(:'supports_visa') self.supports_visa = attributes[:'supports_visa'] end if attributes.has_key?(:'third_party') self.third_party = attributes[:'third_party'] end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? true end # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) return true if self.equal?(o) self.class == o.class && arbitrary_html == o.arbitrary_html && comment == o.comment && credit_card_capable == o.credit_card_capable && echeck_capable == o.echeck_capable && echeck_supported == o.echeck_supported && enabled == o.enabled && gateway_cert_pem == o.gateway_cert_pem && gateway_cert_pem_label == o.gateway_cert_pem_label && gateway_email == o.gateway_email && gateway_email_label == o.gateway_email_label && gateway_environment == o.gateway_environment && gateway_environment_label == o.gateway_environment_label && gateway_environments == o.gateway_environments && gateway_header_back_color == o.gateway_header_back_color && gateway_header_border_color == o.gateway_header_border_color && gateway_header_image_url == o.gateway_header_image_url && gateway_key == o.gateway_key && gateway_key_label == o.gateway_key_label && gateway_key_pem == o.gateway_key_pem && gateway_key_pem_label == o.gateway_key_pem_label && gateway_landing_page == o.gateway_landing_page && gateway_merchant_id == o.gateway_merchant_id && gateway_merchant_id_label == o.gateway_merchant_id_label && gateway_mode == o.gateway_mode && gateway_mode_label == o.gateway_mode_label && gateway_modes == o.gateway_modes && gateway_page_style == o.gateway_page_style && gateway_page_style_label == o.gateway_page_style_label && gateway_page_styles == o.gateway_page_styles && gateway_partner == o.gateway_partner && gateway_partner_label == o.gateway_partner_label && gateway_password == o.gateway_password && gateway_password_label == o.gateway_password_label && gateway_payflow_color == o.gateway_payflow_color && gateway_private_key_password == o.gateway_private_key_password && gateway_private_key_password_label == o.gateway_private_key_password_label && gateway_solution_type == o.gateway_solution_type && gateway_solution_type_label == o.gateway_solution_type_label && gateway_solution_types == o.gateway_solution_types && gateway_url == o.gateway_url && gateway_url_label == o.gateway_url_label && gateway_username == o.gateway_username && gateway_username_label == o.gateway_username_label && merchant_account_profile_amex == o.merchant_account_profile_amex && merchant_account_profile_diners_club == o.merchant_account_profile_diners_club && merchant_account_profile_discover == o.merchant_account_profile_discover && merchant_account_profile_jcb == o.merchant_account_profile_jcb && merchant_account_profile_mastercard == o.merchant_account_profile_mastercard && merchant_account_profile_visa == o.merchant_account_profile_visa && merchant_id == o.merchant_id && multi_currency_details == o.multi_currency_details && name == o.name && refund_supported == o.refund_supported && require_echeck_tax_id_or_drivers_license == o.require_echeck_tax_id_or_drivers_license && support_vbv_3ds == o.support_vbv_3ds && supports_amex == o.supports_amex && supports_diners_club == o.supports_diners_club && supports_discover == o.supports_discover && supports_echeck == o.supports_echeck && supports_electronic_gift_card == o.supports_electronic_gift_card && supports_jcb == o.supports_jcb && supports_mastercard == o.supports_mastercard && supports_visa == o.supports_visa && third_party == o.third_party end # @see the `==` method # @param [Object] Object to be compared def eql?(o) self == o end # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash [arbitrary_html, comment, credit_card_capable, echeck_capable, echeck_supported, enabled, gateway_cert_pem, gateway_cert_pem_label, gateway_email, gateway_email_label, gateway_environment, gateway_environment_label, gateway_environments, gateway_header_back_color, gateway_header_border_color, gateway_header_image_url, gateway_key, gateway_key_label, gateway_key_pem, gateway_key_pem_label, gateway_landing_page, gateway_merchant_id, gateway_merchant_id_label, gateway_mode, gateway_mode_label, gateway_modes, gateway_page_style, gateway_page_style_label, gateway_page_styles, gateway_partner, gateway_partner_label, gateway_password, gateway_password_label, gateway_payflow_color, gateway_private_key_password, gateway_private_key_password_label, gateway_solution_type, gateway_solution_type_label, gateway_solution_types, gateway_url, gateway_url_label, gateway_username, gateway_username_label, merchant_account_profile_amex, merchant_account_profile_diners_club, merchant_account_profile_discover, merchant_account_profile_jcb, merchant_account_profile_mastercard, merchant_account_profile_visa, merchant_id, multi_currency_details, name, refund_supported, require_echeck_tax_id_or_drivers_license, support_vbv_3ds, supports_amex, supports_diners_club, supports_discover, supports_echeck, supports_electronic_gift_card, supports_jcb, supports_mastercard, supports_visa, third_party].hash end # Builds the object from hash # @param [Hash] attributes Model attributes in the form of hash # @return [Object] Returns the model itself def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) self.class.swagger_types.each_pair do |key, type| if type =~ /\AArray<(.*)>/i # check to ensure the input is an array given that the attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) end elsif !attributes[self.class.attribute_map[key]].nil? self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) end # or else data not found in attributes(hash), not an issue as the data can be optional end self end # Deserializes the data based on type # @param string type Data type # @param string value Value to be deserialized # @return [Object] Deserialized data def _deserialize(type, value) case type.to_sym when :DateTime DateTime.parse(value) when :Date Date.parse(value) when :String value.to_s when :Integer value.to_i when :Float value.to_f when :BOOLEAN if value.to_s =~ /\A(true|t|yes|y|1)\z/i true else false end when :Object # generic object (usually a Hash), return directly value when /\AArray<(?.+)>\z/ inner_type = Regexp.last_match[:inner_type] value.map { |v| _deserialize(inner_type, v) } when /\AHash<(?.+?), (?.+)>\z/ k_type = Regexp.last_match[:k_type] v_type = Regexp.last_match[:v_type] {}.tap do |hash| value.each do |k, v| hash[_deserialize(k_type, k)] = _deserialize(v_type, v) end end else # model temp_model = UltracartClient.const_get(type).new temp_model.build_from_hash(value) end end # Returns the string representation of the object # @return [String] String presentation of the object def to_s to_hash.to_s end # to_body is an alias to to_hash (backward compatibility) # @return [Hash] Returns the object in the form of hash def to_body to_hash end # Returns the object in the form of hash # @return [Hash] Returns the object in the form of hash def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = self.send(attr) next if value.nil? hash[param] = _to_hash(value) end hash end # Outputs non-array value in the form of hash # For object, use to_hash. Otherwise, just return the value # @param [Object] value Any valid value # @return [Hash] Returns the value in the form of hash def _to_hash(value) if value.is_a?(Array) value.compact.map { |v| _to_hash(v) } elsif value.is_a?(Hash) {}.tap do |hash| value.each { |k, v| hash[k] = _to_hash(v) } end elsif value.respond_to? :to_hash value.to_hash else value end end end end