Class: Walletone::Payment
- Inherits:
-
Fields
- Object
- Hash
- Fields
- Walletone::Payment
show all
- Defined in:
- lib/walletone/payment.rb
Constant Summary
collapse
- DESCRIPTION_TRUNCATE_LENGTH =
250
- FIELDS =
i(
WMI_MERCHANT_ID
WMI_PAYMENT_NO
WMI_PAYMENT_AMOUNT
WMI_CURRENCY_ID
WMI_DESCRIPTION
WMI_SUCCESS_URL WMI_FAIL_URL
WMI_EXPIRED_DATE
WMI_PTENABLED WMI_PTDISABLED
WMI_RECIPIENT_LOGIN
WMI_CUSTOMER_FIRSTNAME WMI_CUSTOMER_LASTNAME WMI_CUSTOMER_EMAIL
WMI_CULTURE_ID
WMI_SIGNATURE
WMI_DELIVERY_REQUEST
WMI_DELIVERY_COUNTRY WMI_DELIVERY_REGION WMI_DELIVERY_CITY WMI_DELIVERY_ADDRESS
WMI_DELIVERY_CONTACTINFO WMI_DELIVERY_ORDERID
WMI_DELIVERY_DATEFROM WMI_DELIVERY_DATETILL
WMI_PSP_MERCHANT_ID
)
- MULTIPLE_VALUES =
i(WMI_PTENABLED WMI_PTDISABLED)
- RUB_ISO_NUMBER =
643
- DEFAULT_CURRENTY =
RUB_ISO_NUMBER
Class Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Fields
#[], #[]=, #as_list, define_fields, #fetch, #initialize, #to_s
Class Attribute Details
.encode_description ⇒ Object
Returns the value of attribute encode_description.
14
15
16
|
# File 'lib/walletone/payment.rb', line 14
def encode_description
@encode_description
end
|
Instance Method Details
62
63
64
|
# File 'lib/walletone/payment.rb', line 62
def form
Walletone::Form.new self
end
|
#sign!(secret_key, hash_type = Signer::DEFAULT_HASH_TYPE) ⇒ Object
45
46
47
48
49
50
|
# File 'lib/walletone/payment.rb', line 45
def sign!(secret_key, hash_type=Signer::DEFAULT_HASH_TYPE)
raise 'Already signed!' if signed?
self.WMI_SIGNATURE = signer.signature secret_key, hash_type
freeze
end
|
#signed? ⇒ Boolean
52
53
54
|
# File 'lib/walletone/payment.rb', line 52
def signed?
self.WMI_SIGNATURE.is_a?(String) && ! self.WMI_SIGNATURE.empty?
end
|
#valid? ⇒ Boolean
56
57
58
59
|
# File 'lib/walletone/payment.rb', line 56
def valid?
self.WMI_PAYMENT_AMOUNT && self.WMI_MERCHANT_ID
end
|
#WMI_CURRENCY_ID ⇒ Object
66
67
68
|
# File 'lib/walletone/payment.rb', line 66
def WMI_CURRENCY_ID
fetch(:WMI_CURRENCY_ID) || DEFAULT_CURRENTY
end
|
#WMI_DESCRIPTION ⇒ Object
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/walletone/payment.rb', line 75
def WMI_DESCRIPTION
value = fetch :WMI_DESCRIPTION
return value unless value
if self.class.encode_description
"BASE64:#{Base64.encode64(value[0...250])[0..-2]}"
else
value.slice 0, DESCRIPTION_TRUNCATE_LENGTH
end
end
|
#WMI_EXPIRED_DATE ⇒ Object
86
87
88
89
|
# File 'lib/walletone/payment.rb', line 86
def WMI_EXPIRED_DATE
value = fetch :WMI_EXPIRED_DATE
value ? value.iso8601 : value
end
|
#WMI_PAYMENT_AMOUNT ⇒ Object
70
71
72
73
|
# File 'lib/walletone/payment.rb', line 70
def WMI_PAYMENT_AMOUNT
value = fetch :WMI_PAYMENT_AMOUNT
"%.2f" % value if value
end
|