Class: Assist::PaymentInterface

Inherits:
Object
  • Object
show all
Includes:
CheckvalueGenerator, ParamsHelper
Defined in:
lib/assist/payment_interface.rb

Constant Summary collapse

SERVICE_PATH =
"/pay/order.cfm".freeze
PERMITTED_EXTRA_PARAMS =
%w(
  OrderCurrency Language OrderComment Lastname Firstname Middlename
  Email Address HomePhone WorkPhone MobilePhone Fax Country State City
  Zip MobileDevice Delay URL_RETURN URL_RETURN_OK URL_RETURN_NO
  CardPayment YMPayment WMPayment QIWIPayment
  QIWIMtsPayment QIWIMegafonPayment QIWIBeelinePayment QIWITele2Payment
).map(&normalize_block).freeze
PAYMENT_METHODS_MAPPING =
{card: :cardpayment, ym: :ympayment,
wm: :wmpayment, qiwi: :qiwipayment}.freeze
QIWI_METHODS_MAPPING =
{
  mts: :qiwimtspayment, megafon: :qiwimegafonpayment,
  beeline: :qiwibeelinepayment, tele2: :qiwitele2payment
}.freeze

Constants included from CheckvalueGenerator

CheckvalueGenerator::PARAM_NAMES

Instance Method Summary collapse

Methods included from ParamsHelper

included

Constructor Details

#initialize(order_number, order_amount, extra_params = {}) ⇒ PaymentInterface

Returns a new instance of PaymentInterface.



28
29
30
31
32
33
34
35
36
37
# File 'lib/assist/payment_interface.rb', line 28

def initialize(order_number, order_amount, extra_params = {})
  extra_params = normalize_keys(extra_params)
  extra_params.keep_if { |key| PERMITTED_EXTRA_PARAMS.include?(key) }

  params.merge!(extra_params)
  params.merge!(ordernumber: order_number, orderamount: order_amount)

  return unless Assist.config.checkvalue?
  params[:checkvalue] = generate_checkvalue(params)
end

Instance Method Details

#urlObject



39
40
41
42
43
# File 'lib/assist/payment_interface.rb', line 39

def url
  uri = URI(Assist.config.endpoint + SERVICE_PATH)
  uri.query = URI.encode_www_form(params)
  uri.to_s
end