Class: SermepaWebTpv::Request

Inherits:
Struct
  • Object
show all
Includes:
Persistence::ActiveRecord
Defined in:
lib/sermepa_web_tpv/request.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Persistence::ActiveRecord

#generate_transaction_number!, #transaction_amount, #transaction_number

Instance Attribute Details

#descriptionObject

Returns the value of attribute description

Returns:

  • (Object)

    the current value of description



4
5
6
# File 'lib/sermepa_web_tpv/request.rb', line 4

def description
  @description
end

#transactionObject

Returns the value of attribute transaction

Returns:

  • (Object)

    the current value of transaction



4
5
6
# File 'lib/sermepa_web_tpv/request.rb', line 4

def transaction
  @transaction
end

Instance Method Details

#bank_urlObject



7
8
9
# File 'lib/sermepa_web_tpv/request.rb', line 7

def bank_url
  SermepaWebTpv.bank_url
end

#merchant_parametersObject



25
26
27
28
# File 'lib/sermepa_web_tpv/request.rb', line 25

def merchant_parameters
  Base64.urlsafe_encode64(
    merchant_parameters_json).split("\n").join('')
end

#merchant_parameters_jsonObject



21
22
23
# File 'lib/sermepa_web_tpv/request.rb', line 21

def merchant_parameters_json
  options.to_json
end

#optionsObject



17
18
19
# File 'lib/sermepa_web_tpv/request.rb', line 17

def options
  optional_options.merge(must_options)
end

#paramsObject



30
31
32
33
34
35
36
# File 'lib/sermepa_web_tpv/request.rb', line 30

def params
  {
    'Ds_SignatureVersion' => 'HMAC_SHA256_V1',
    'Ds_MerchantParameters' => merchant_parameters,
    'Ds_Signature' => signature
  }
end

#transact {|transaction| ... } ⇒ Object

Yields:



11
12
13
14
15
# File 'lib/sermepa_web_tpv/request.rb', line 11

def transact(&block)
  generate_transaction_number!
  yield(transaction)
  transaction
end