class WorldnetTps::Request::Payment

@see: docs.worldnettps.com/doku.php?id=developer:integrator_guide:5._xml_integration:5.1._request_types:5.1.1._xml_payments

Public Class Methods

mandatory_attributes(context) click to toggle source
# File lib/worldnet_tps/request/payment.rb, line 47
def self.mandatory_attributes(context)
  keys = [
    :order_id,
    :terminal_id,
    :amount,
    :date_time,
    :card_number,
    :card_type
  ]

  keys += [:card_expiry, :card_holder_name] unless context.secured_card?
  keys += [:hash, :currency, :terminal_type, :transaction_type]
  keys
end
new(gateway, attrs) click to toggle source
Calls superclass method WorldnetTps::WsObject::new
# File lib/worldnet_tps/request/payment.rb, line 34
def initialize(gateway, attrs)
  super
  #by default TERM_INTERNET = 2 # eCommerce
  assign(:terminal_type, WorldnetTps::Const::TERM_INTERNET) if attributes[:terminal_type].blank?
  #by default TRANS_INTERNET = 7 #eCommerce
  assign(:transaction_type, WorldnetTps::Const::TRANS_INTERNET) if attributes[:transaction_type].blank?
end
optional_attributes(_context) click to toggle source
# File lib/worldnet_tps/request/payment.rb, line 62
def self.optional_attributes(_context)
  [
    :auto_ready,
    :email,
    :cvv,
    :issue_no,
    :address1,
    :address2,
    :post_code,
    :avs_only,
    :description,
    :xid,
    :cavv,
    :mpiref,
    :mobile_number,
    :device_id,
    :phone,
    :city,
    :region,
    :country,
    :ip_address,
    :signature
  ]
end
request_check_sum_keys(_context) click to toggle source
# File lib/worldnet_tps/request/payment.rb, line 22
def self.request_check_sum_keys(_context)
  [
    :terminal_id,
    :order_id,
    :amount,
    :date_time,
    :shared_secret
  ]
end
response_check_sum_keys(_context, response) click to toggle source
# File lib/worldnet_tps/request/payment.rb, line 8
def self.response_check_sum_keys(_context, response)
  unique_key =  response[:unique_ref].present? ? :unique_ref : :order_id
  [
    :terminal_id,
    unique_key,
    :amount,
    :date_time,
    :response_code,
    :response_text,
    :shared_secret
  ]
end

Public Instance Methods

secured_card?() click to toggle source
# File lib/worldnet_tps/request/payment.rb, line 42
def secured_card?
  WorldnetTps::Const::SECURECARD == self[:card_type]
end