class ActiveMerchant::Billing::OrbitalSoftDescriptors

Constants

PHONE_FORMAT_1
PHONE_FORMAT_2

Attributes

merchant_city[RW]

Unlike Salem, the only value that gets passed on the cardholder statement is the Merchant Name field. And for these customers, it is a maximum of 25 bytes of data.

All other Soft Descriptor fields can optionally be sent, but will not be submitted to the settlement host and will not display on the cardholder statement.

merchant_email[RW]

Unlike Salem, the only value that gets passed on the cardholder statement is the Merchant Name field. And for these customers, it is a maximum of 25 bytes of data.

All other Soft Descriptor fields can optionally be sent, but will not be submitted to the settlement host and will not display on the cardholder statement.

merchant_name[RW]

Unlike Salem, the only value that gets passed on the cardholder statement is the Merchant Name field. And for these customers, it is a maximum of 25 bytes of data.

All other Soft Descriptor fields can optionally be sent, but will not be submitted to the settlement host and will not display on the cardholder statement.

merchant_phone[RW]

Unlike Salem, the only value that gets passed on the cardholder statement is the Merchant Name field. And for these customers, it is a maximum of 25 bytes of data.

All other Soft Descriptor fields can optionally be sent, but will not be submitted to the settlement host and will not display on the cardholder statement.

merchant_url[RW]

Unlike Salem, the only value that gets passed on the cardholder statement is the Merchant Name field. And for these customers, it is a maximum of 25 bytes of data.

All other Soft Descriptor fields can optionally be sent, but will not be submitted to the settlement host and will not display on the cardholder statement.

product_description[RW]

Unlike Salem, the only value that gets passed on the cardholder statement is the Merchant Name field. And for these customers, it is a maximum of 25 bytes of data.

All other Soft Descriptor fields can optionally be sent, but will not be submitted to the settlement host and will not display on the cardholder statement.

Public Class Methods

new(options = {}) click to toggle source
# File lib/active_merchant/billing/gateways/orbital/orbital_soft_descriptors.rb, line 19
def initialize(options = {})
  self.merchant_name = options[:merchant_name]
  self.merchant_city = options[:merchant_city]
  self.merchant_phone = options[:merchant_phone]
  self.merchant_url = options[:merchant_url]
  self.merchant_email = options[:merchant_email]
end

Public Instance Methods

validate() click to toggle source
# File lib/active_merchant/billing/gateways/orbital/orbital_soft_descriptors.rb, line 27
def validate
  errors = []

  errors << [:merchant_name, 'is required'] if self.merchant_name.blank?
  errors << [:merchant_name, 'is required to be 25 bytes or less'] if self.merchant_name.bytesize > 25

  errors << [:merchant_phone, 'is required to follow "NNN-NNN-NNNN" or "NNN-AAAAAAA" format'] if !empty?(self.merchant_phone) && !self.merchant_phone.match(PHONE_FORMAT_1) && !self.merchant_phone.match(PHONE_FORMAT_2)

  %i[merchant_email merchant_url].each do |attr|
    errors << [attr, 'is required to be 13 bytes or less'] if !self.send(attr).blank? && (self.send(attr).bytesize > 13)
  end

  errors_hash(errors)
end