Class: Walletone::Notification

Inherits:
Fields
  • Object
show all
Defined in:
lib/walletone/notification.rb

Constant Summary collapse

FIELDS =
i(
  WMI_AUTO_ACCEPT

  WMI_NOTIFY_COUNT
  WMI_LAST_NOTIFY_DATE

  WMI_MERCHANT_ID

  WMI_RECURRING_PAYMENTS_APPROVED

  WMI_PAYMENT_NO
  WMI_PAYMENT_AMOUNT
  WMI_PAYMENT_TYPE

  WMI_COMMISSION_AMOUNT
  WMI_CURRENCY_ID
  WMI_TO_USER_ID

  WMI_ORDER_ID
  WMI_ORDER_STATE

  WMI_DESCRIPTION
  WMI_SUCCESS_URL WMI_FAIL_URL
  WMI_EXPIRED_DATE
  WMI_CREATE_DATE WMI_UPDATE_DATE

  WMI_RECURRENCE_STATE_ID

  WMI_SIGNATURE
)

Instance Method Summary collapse

Methods inherited from Fields

#[], #[]=, #as_list, define_fields, #fetch, #to_s

Constructor Details

#initialize(params) ⇒ Notification

Returns a new instance of Notification.



41
42
43
# File 'lib/walletone/notification.rb', line 41

def initialize params
  super( params ).freeze
end

Instance Method Details

#accepted?Boolean

Принята оплата или не прошла?

Returns:

  • (Boolean)


54
55
56
# File 'lib/walletone/notification.rb', line 54

def accepted?
  self['WMI_ORDER_STATE'].to_s.upcase == 'ACCEPTED'
end

#valid?(secret_key, hash_type = Signer::DEFAULT_HASH_TYPE) ⇒ Boolean

Обязательно проверяем валидость уведомления, вдруг его прислал злоумышленник.

Returns:

  • (Boolean)


48
49
50
# File 'lib/walletone/notification.rb', line 48

def valid?(secret_key, hash_type = Signer::DEFAULT_HASH_TYPE)
  self.WMI_SIGNATURE == signer.signature( secret_key, hash_type )
end