Class: Rspayd::Payment

Inherits:
Object
  • Object
show all
Defined in:
lib/rspayd/payment.rb

Direct Known Subclasses

CzechPayment

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Payment

Returns a new instance of Payment.



15
16
17
18
19
20
21
22
23
# File 'lib/rspayd/payment.rb', line 15

def initialize(options)
  options = Hash[options.map{|(k,v)| [k.to_sym,v]}]
  @iban           = options[:iban]
  @amount         = options[:amount]
  @currency       = options[:currency] || 'CZK'
  @rf             = options[:rf]
  @dt             = options[:dt]
  @message        = options[:message]
end

Instance Attribute Details

#amountObject (readonly)

iban - Číslo účtu, na který se mají poslat prostředky, ve formátu IBAN. amount - Částka platby. currency - Měna platby. rf - Identifikátor platby pro příjemce. dt - Datum splatnosti. message - Zpráva pro příjemce.



13
14
15
# File 'lib/rspayd/payment.rb', line 13

def amount
  @amount
end

#currencyObject (readonly)

iban - Číslo účtu, na který se mají poslat prostředky, ve formátu IBAN. amount - Částka platby. currency - Měna platby. rf - Identifikátor platby pro příjemce. dt - Datum splatnosti. message - Zpráva pro příjemce.



13
14
15
# File 'lib/rspayd/payment.rb', line 13

def currency
  @currency
end

#dtObject (readonly)

iban - Číslo účtu, na který se mají poslat prostředky, ve formátu IBAN. amount - Částka platby. currency - Měna platby. rf - Identifikátor platby pro příjemce. dt - Datum splatnosti. message - Zpráva pro příjemce.



13
14
15
# File 'lib/rspayd/payment.rb', line 13

def dt
  @dt
end

#ibanObject (readonly)

iban - Číslo účtu, na který se mají poslat prostředky, ve formátu IBAN. amount - Částka platby. currency - Měna platby. rf - Identifikátor platby pro příjemce. dt - Datum splatnosti. message - Zpráva pro příjemce.



13
14
15
# File 'lib/rspayd/payment.rb', line 13

def iban
  @iban
end

#messageObject (readonly)

iban - Číslo účtu, na který se mají poslat prostředky, ve formátu IBAN. amount - Částka platby. currency - Měna platby. rf - Identifikátor platby pro příjemce. dt - Datum splatnosti. message - Zpráva pro příjemce.



13
14
15
# File 'lib/rspayd/payment.rb', line 13

def message
  @message
end

#rfObject (readonly)

iban - Číslo účtu, na který se mají poslat prostředky, ve formátu IBAN. amount - Částka platby. currency - Měna platby. rf - Identifikátor platby pro příjemce. dt - Datum splatnosti. message - Zpráva pro příjemce.



13
14
15
# File 'lib/rspayd/payment.rb', line 13

def rf
  @rf
end

Class Method Details

.generate_string(options) ⇒ Object

generates SPAYD string for payment



39
40
41
# File 'lib/rspayd/payment.rb', line 39

def self.generate_string(options)
  new(options).to_s
end

Instance Method Details

#to_sObject

SPAYD string for payment



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rspayd/payment.rb', line 26

def to_s
  out = []
  out << "SPD*1.0"
  out << "*ACC:#{iban}"
  out << "*AM:#{'%.2f' % amount}" if amount
  out << "*CC:#{currency}" if currency
  out << "*RF:#{rf}" if rf
  out << "*DT:#{dt}" if dt
  out << "*MSG:#{message.upcase}" if message
  out.join
end