cryptopay-ruby 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +6 -1
- data/.rubocop.yml +3 -0
- data/README.md +60 -0
- data/lib/cryptopay/api/invoices.rb +2 -0
- data/lib/cryptopay/api/subscriptions.rb +99 -0
- data/lib/cryptopay/client.rb +4 -2
- data/lib/cryptopay/models/account.rb +8 -8
- data/lib/cryptopay/models/account_list_result.rb +8 -8
- data/lib/cryptopay/models/callback.rb +3 -1
- data/lib/cryptopay/models/channel.rb +8 -8
- data/lib/cryptopay/models/channel_list_result.rb +8 -8
- data/lib/cryptopay/models/channel_params.rb +8 -8
- data/lib/cryptopay/models/channel_payment.rb +8 -8
- data/lib/cryptopay/models/channel_payment_callback.rb +8 -8
- data/lib/cryptopay/models/channel_payment_list_result.rb +8 -8
- data/lib/cryptopay/models/channel_payment_result.rb +8 -8
- data/lib/cryptopay/models/channel_result.rb +8 -8
- data/lib/cryptopay/models/channel_update_params.rb +8 -8
- data/lib/cryptopay/models/channels_config.rb +8 -8
- data/lib/cryptopay/models/coin.rb +8 -8
- data/lib/cryptopay/models/coin_destination_tag.rb +8 -8
- data/lib/cryptopay/models/coin_list_result.rb +8 -8
- data/lib/cryptopay/models/coin_network.rb +8 -8
- data/lib/cryptopay/models/coin_withdrawal.rb +8 -8
- data/lib/cryptopay/models/coin_withdrawal_callback.rb +8 -8
- data/lib/cryptopay/models/coin_withdrawal_list_result.rb +8 -8
- data/lib/cryptopay/models/coin_withdrawal_params.rb +8 -8
- data/lib/cryptopay/models/coin_withdrawal_result.rb +8 -8
- data/lib/cryptopay/models/coin_withdrawals_config.rb +8 -8
- data/lib/cryptopay/models/customer.rb +8 -8
- data/lib/cryptopay/models/customer_address.rb +8 -8
- data/lib/cryptopay/models/customer_list_result.rb +8 -8
- data/lib/cryptopay/models/customer_params.rb +8 -8
- data/lib/cryptopay/models/customer_result.rb +8 -8
- data/lib/cryptopay/models/customer_update_params.rb +8 -8
- data/lib/cryptopay/models/exchange.rb +8 -8
- data/lib/cryptopay/models/exchange_transfer.rb +8 -8
- data/lib/cryptopay/models/exchange_transfer_params.rb +8 -8
- data/lib/cryptopay/models/exchange_transfer_result.rb +8 -8
- data/lib/cryptopay/models/invoice.rb +15 -8
- data/lib/cryptopay/models/invoice_callback.rb +8 -8
- data/lib/cryptopay/models/invoice_list_result.rb +8 -8
- data/lib/cryptopay/models/invoice_params.rb +17 -10
- data/lib/cryptopay/models/invoice_recalculation.rb +8 -8
- data/lib/cryptopay/models/invoice_recalculation_params.rb +8 -8
- data/lib/cryptopay/models/invoice_recalculation_result.rb +8 -8
- data/lib/cryptopay/models/invoice_refund.rb +8 -8
- data/lib/cryptopay/models/invoice_refund_list_result.rb +8 -8
- data/lib/cryptopay/models/invoice_refund_params.rb +8 -8
- data/lib/cryptopay/models/invoice_refund_result.rb +8 -8
- data/lib/cryptopay/models/invoice_result.rb +8 -8
- data/lib/cryptopay/models/invoice_transaction.rb +8 -8
- data/lib/cryptopay/models/invoices_config.rb +8 -8
- data/lib/cryptopay/models/network_fee.rb +8 -8
- data/lib/cryptopay/models/network_fee_list_result.rb +8 -8
- data/lib/cryptopay/models/pagination.rb +8 -8
- data/lib/cryptopay/models/rate.rb +8 -8
- data/lib/cryptopay/models/rate_result.rb +8 -8
- data/lib/cryptopay/models/rates_result.rb +8 -8
- data/lib/cryptopay/models/risk.rb +8 -8
- data/lib/cryptopay/models/risk_params.rb +8 -8
- data/lib/cryptopay/models/risk_result.rb +8 -8
- data/lib/cryptopay/models/subscription.rb +222 -0
- data/lib/cryptopay/models/subscription_callback.rb +88 -0
- data/lib/cryptopay/models/subscription_callback_event.rb +18 -0
- data/lib/cryptopay/models/subscription_list_result.rb +82 -0
- data/lib/cryptopay/models/subscription_params.rb +159 -0
- data/lib/cryptopay/models/subscription_period.rb +20 -0
- data/lib/cryptopay/models/subscription_result.rb +68 -0
- data/lib/cryptopay/models/subscription_status.rb +18 -0
- data/lib/cryptopay/models/transaction.rb +8 -8
- data/lib/cryptopay/models/transaction_list_result.rb +8 -8
- data/lib/cryptopay/require.rb +9 -0
- data/lib/cryptopay/version.rb +1 -1
- metadata +15 -6
@@ -0,0 +1,222 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Auto-generated file
|
4
|
+
# DO NOT EDIT
|
5
|
+
|
6
|
+
module Cryptopay
|
7
|
+
class Subscription
|
8
|
+
ENCODER = Encoder.new(
|
9
|
+
name: 'Cryptopay::Subscription',
|
10
|
+
attribute_map: {
|
11
|
+
'id': :id,
|
12
|
+
'status': :status,
|
13
|
+
'custom_id': :custom_id,
|
14
|
+
'name': :name,
|
15
|
+
'amount': :amount,
|
16
|
+
'currency': :currency,
|
17
|
+
'period': :period,
|
18
|
+
'period_quantity': :period_quantity,
|
19
|
+
'current_period_starts_at': :current_period_starts_at,
|
20
|
+
'current_period_ends_at': :current_period_ends_at,
|
21
|
+
'current_period_paid': :current_period_paid,
|
22
|
+
'payer_email': :payer_email,
|
23
|
+
'payer_name': :payer_name,
|
24
|
+
'product_name': :product_name,
|
25
|
+
'product_description': :product_description,
|
26
|
+
'success_redirect_url': :success_redirect_url,
|
27
|
+
'unsuccess_redirect_url': :unsuccess_redirect_url,
|
28
|
+
'created_at': :created_at,
|
29
|
+
'cancelled_at': :cancelled_at
|
30
|
+
},
|
31
|
+
types: {
|
32
|
+
'id': :String,
|
33
|
+
'status': :SubscriptionStatus,
|
34
|
+
'custom_id': :String,
|
35
|
+
'name': :String,
|
36
|
+
'amount': :Decimal,
|
37
|
+
'currency': :String,
|
38
|
+
'period': :SubscriptionPeriod,
|
39
|
+
'period_quantity': :Integer,
|
40
|
+
'current_period_starts_at': :Time,
|
41
|
+
'current_period_ends_at': :Time,
|
42
|
+
'current_period_paid': :Boolean,
|
43
|
+
'payer_email': :String,
|
44
|
+
'payer_name': :String,
|
45
|
+
'product_name': :String,
|
46
|
+
'product_description': :String,
|
47
|
+
'success_redirect_url': :String,
|
48
|
+
'unsuccess_redirect_url': :String,
|
49
|
+
'created_at': :Time,
|
50
|
+
'cancelled_at': :Time
|
51
|
+
},
|
52
|
+
nullables: %i[
|
53
|
+
custom_id
|
54
|
+
payer_name
|
55
|
+
product_name
|
56
|
+
product_description
|
57
|
+
success_redirect_url
|
58
|
+
unsuccess_redirect_url
|
59
|
+
cancelled_at
|
60
|
+
]
|
61
|
+
)
|
62
|
+
private_constant :ENCODER
|
63
|
+
|
64
|
+
# Builds the object from hash
|
65
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
66
|
+
# @return [Cryptopay::Subscription] Returns the model itself
|
67
|
+
def self.build_from_hash(data)
|
68
|
+
attributes = ENCODER.build_from_hash(data)
|
69
|
+
new(attributes)
|
70
|
+
end
|
71
|
+
|
72
|
+
# Initializes the object
|
73
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
74
|
+
def initialize(attributes = {})
|
75
|
+
@attributes = ENCODER.sanitize(attributes)
|
76
|
+
end
|
77
|
+
|
78
|
+
# Subscription ID
|
79
|
+
def id
|
80
|
+
@attributes[:id]
|
81
|
+
end
|
82
|
+
|
83
|
+
def status
|
84
|
+
@attributes[:status]
|
85
|
+
end
|
86
|
+
|
87
|
+
# Subscription reference ID in your system
|
88
|
+
def custom_id
|
89
|
+
@attributes[:custom_id]
|
90
|
+
end
|
91
|
+
|
92
|
+
# Subscription name
|
93
|
+
def name
|
94
|
+
@attributes[:name]
|
95
|
+
end
|
96
|
+
|
97
|
+
# Subscription amount
|
98
|
+
def amount
|
99
|
+
@attributes[:amount]
|
100
|
+
end
|
101
|
+
|
102
|
+
# Subscription amount currency
|
103
|
+
def currency
|
104
|
+
@attributes[:currency]
|
105
|
+
end
|
106
|
+
|
107
|
+
def period
|
108
|
+
@attributes[:period]
|
109
|
+
end
|
110
|
+
|
111
|
+
def period_quantity
|
112
|
+
@attributes[:period_quantity]
|
113
|
+
end
|
114
|
+
|
115
|
+
def current_period_starts_at
|
116
|
+
@attributes[:current_period_starts_at]
|
117
|
+
end
|
118
|
+
|
119
|
+
def current_period_ends_at
|
120
|
+
@attributes[:current_period_ends_at]
|
121
|
+
end
|
122
|
+
|
123
|
+
def current_period_paid
|
124
|
+
@attributes[:current_period_paid]
|
125
|
+
end
|
126
|
+
|
127
|
+
def payer_email
|
128
|
+
@attributes[:payer_email]
|
129
|
+
end
|
130
|
+
|
131
|
+
def payer_name
|
132
|
+
@attributes[:payer_name]
|
133
|
+
end
|
134
|
+
|
135
|
+
def product_name
|
136
|
+
@attributes[:product_name]
|
137
|
+
end
|
138
|
+
|
139
|
+
def product_description
|
140
|
+
@attributes[:product_description]
|
141
|
+
end
|
142
|
+
|
143
|
+
# The URL that the customer will be redirected to upon transaction confirmation
|
144
|
+
def success_redirect_url
|
145
|
+
@attributes[:success_redirect_url]
|
146
|
+
end
|
147
|
+
|
148
|
+
def unsuccess_redirect_url
|
149
|
+
@attributes[:unsuccess_redirect_url]
|
150
|
+
end
|
151
|
+
|
152
|
+
def created_at
|
153
|
+
@attributes[:created_at]
|
154
|
+
end
|
155
|
+
|
156
|
+
def cancelled_at
|
157
|
+
@attributes[:cancelled_at]
|
158
|
+
end
|
159
|
+
|
160
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
161
|
+
# @return Array for valid properties with the reasons
|
162
|
+
def invalid_properties
|
163
|
+
properties = []
|
164
|
+
|
165
|
+
properties.push('invalid value for "id", id cannot be nil.') if id.nil?
|
166
|
+
|
167
|
+
properties.push('invalid value for "status", status cannot be nil.') if status.nil?
|
168
|
+
|
169
|
+
if !status.nil? && !%w[active cancelled].include?(status)
|
170
|
+
properties.push('invalid value for status, must be one of "active", "cancelled"')
|
171
|
+
end
|
172
|
+
|
173
|
+
properties.push('invalid value for "name", name cannot be nil.') if name.nil?
|
174
|
+
|
175
|
+
properties.push('invalid value for "amount", amount cannot be nil.') if amount.nil?
|
176
|
+
|
177
|
+
properties.push('invalid value for "currency", currency cannot be nil.') if currency.nil?
|
178
|
+
|
179
|
+
properties.push('invalid value for "period", period cannot be nil.') if period.nil?
|
180
|
+
|
181
|
+
if !period.nil? && !%w[day week month year].include?(period)
|
182
|
+
properties.push('invalid value for period, must be one of "day", "week", "month", "year"')
|
183
|
+
end
|
184
|
+
|
185
|
+
properties.push('invalid value for "period_quantity", period_quantity cannot be nil.') if period_quantity.nil?
|
186
|
+
|
187
|
+
if current_period_starts_at.nil?
|
188
|
+
properties.push('invalid value for "current_period_starts_at", current_period_starts_at cannot be nil.')
|
189
|
+
end
|
190
|
+
|
191
|
+
if current_period_ends_at.nil?
|
192
|
+
properties.push('invalid value for "current_period_ends_at", current_period_ends_at cannot be nil.')
|
193
|
+
end
|
194
|
+
|
195
|
+
if current_period_paid.nil?
|
196
|
+
properties.push('invalid value for "current_period_paid", current_period_paid cannot be nil.')
|
197
|
+
end
|
198
|
+
|
199
|
+
properties.push('invalid value for "payer_email", payer_email cannot be nil.') if payer_email.nil?
|
200
|
+
|
201
|
+
properties.push('invalid value for "created_at", created_at cannot be nil.') if created_at.nil?
|
202
|
+
|
203
|
+
properties
|
204
|
+
end
|
205
|
+
|
206
|
+
# Check to see if the all the properties in the model are valid
|
207
|
+
# @return true if the model is valid
|
208
|
+
def valid?
|
209
|
+
invalid_properties.empty?
|
210
|
+
end
|
211
|
+
|
212
|
+
# Returns the object in the form of hash
|
213
|
+
# @return [Hash] Returns the object in the form of hash
|
214
|
+
def to_hash
|
215
|
+
ENCODER.to_hash(@attributes)
|
216
|
+
end
|
217
|
+
|
218
|
+
def inspect
|
219
|
+
"#<#{self.class}:0x#{object_id.to_s(16)}> JSON: " + JSON.pretty_generate(to_hash)
|
220
|
+
end
|
221
|
+
end
|
222
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Auto-generated file
|
4
|
+
# DO NOT EDIT
|
5
|
+
|
6
|
+
module Cryptopay
|
7
|
+
class SubscriptionCallback
|
8
|
+
ENCODER = Encoder.new(
|
9
|
+
name: 'Cryptopay::SubscriptionCallback',
|
10
|
+
attribute_map: {
|
11
|
+
'type': :type,
|
12
|
+
'event': :event,
|
13
|
+
'data': :data
|
14
|
+
},
|
15
|
+
types: {
|
16
|
+
'type': :String,
|
17
|
+
'event': :SubscriptionCallbackEvent,
|
18
|
+
'data': :Subscription
|
19
|
+
},
|
20
|
+
nullables: []
|
21
|
+
)
|
22
|
+
private_constant :ENCODER
|
23
|
+
|
24
|
+
# Builds the object from hash
|
25
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
26
|
+
# @return [Cryptopay::SubscriptionCallback] Returns the model itself
|
27
|
+
def self.build_from_hash(data)
|
28
|
+
attributes = ENCODER.build_from_hash(data)
|
29
|
+
new(attributes)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Initializes the object
|
33
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
34
|
+
def initialize(attributes = {})
|
35
|
+
@attributes = ENCODER.sanitize(attributes)
|
36
|
+
end
|
37
|
+
|
38
|
+
def type
|
39
|
+
@attributes[:type]
|
40
|
+
end
|
41
|
+
|
42
|
+
def event
|
43
|
+
@attributes[:event]
|
44
|
+
end
|
45
|
+
|
46
|
+
def data
|
47
|
+
@attributes[:data]
|
48
|
+
end
|
49
|
+
|
50
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
51
|
+
# @return Array for valid properties with the reasons
|
52
|
+
def invalid_properties
|
53
|
+
properties = []
|
54
|
+
|
55
|
+
properties.push('invalid value for "type", type cannot be nil.') if type.nil?
|
56
|
+
|
57
|
+
properties.push('invalid value for "event", event cannot be nil.') if event.nil?
|
58
|
+
|
59
|
+
if !event.nil? && !%w[paid cancelled].include?(event)
|
60
|
+
properties.push('invalid value for event, must be one of "paid", "cancelled"')
|
61
|
+
end
|
62
|
+
|
63
|
+
properties.push('invalid value for "data", data cannot be nil.') if data.nil?
|
64
|
+
|
65
|
+
data&.invalid_properties&.each do |prop|
|
66
|
+
properties.push("invalid value for \"data\": #{prop}")
|
67
|
+
end
|
68
|
+
|
69
|
+
properties
|
70
|
+
end
|
71
|
+
|
72
|
+
# Check to see if the all the properties in the model are valid
|
73
|
+
# @return true if the model is valid
|
74
|
+
def valid?
|
75
|
+
invalid_properties.empty?
|
76
|
+
end
|
77
|
+
|
78
|
+
# Returns the object in the form of hash
|
79
|
+
# @return [Hash] Returns the object in the form of hash
|
80
|
+
def to_hash
|
81
|
+
ENCODER.to_hash(@attributes)
|
82
|
+
end
|
83
|
+
|
84
|
+
def inspect
|
85
|
+
"#<#{self.class}:0x#{object_id.to_s(16)}> JSON: " + JSON.pretty_generate(to_hash)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Auto-generated file
|
4
|
+
# DO NOT EDIT
|
5
|
+
|
6
|
+
module Cryptopay
|
7
|
+
module SubscriptionCallbackEvent
|
8
|
+
PAID = 'paid'
|
9
|
+
CANCELLED = 'cancelled'
|
10
|
+
|
11
|
+
# Builds the enum from string
|
12
|
+
# @param [String] The enum value in the form of the string
|
13
|
+
# @return [String] The enum value
|
14
|
+
def self.build_from_hash(value)
|
15
|
+
value
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Auto-generated file
|
4
|
+
# DO NOT EDIT
|
5
|
+
|
6
|
+
module Cryptopay
|
7
|
+
class SubscriptionListResult
|
8
|
+
ENCODER = Encoder.new(
|
9
|
+
name: 'Cryptopay::SubscriptionListResult',
|
10
|
+
attribute_map: {
|
11
|
+
'data': :data,
|
12
|
+
'meta': :meta
|
13
|
+
},
|
14
|
+
types: {
|
15
|
+
'data': :'Array<Subscription>',
|
16
|
+
'meta': :Pagination
|
17
|
+
},
|
18
|
+
nullables: []
|
19
|
+
)
|
20
|
+
private_constant :ENCODER
|
21
|
+
|
22
|
+
# Builds the object from hash
|
23
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
24
|
+
# @return [Cryptopay::SubscriptionListResult] Returns the model itself
|
25
|
+
def self.build_from_hash(data)
|
26
|
+
attributes = ENCODER.build_from_hash(data)
|
27
|
+
new(attributes)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Initializes the object
|
31
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
32
|
+
def initialize(attributes = {})
|
33
|
+
@attributes = ENCODER.sanitize(attributes)
|
34
|
+
end
|
35
|
+
|
36
|
+
def data
|
37
|
+
@attributes[:data]
|
38
|
+
end
|
39
|
+
|
40
|
+
def meta
|
41
|
+
@attributes[:meta]
|
42
|
+
end
|
43
|
+
|
44
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
45
|
+
# @return Array for valid properties with the reasons
|
46
|
+
def invalid_properties
|
47
|
+
properties = []
|
48
|
+
|
49
|
+
properties.push('invalid value for "data", data cannot be nil.') if data.nil?
|
50
|
+
|
51
|
+
data&.each_with_index do |item, index|
|
52
|
+
item.invalid_properties.each do |prop|
|
53
|
+
properties.push("invalid value for \"data.#{index}\": #{prop}")
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
properties.push('invalid value for "meta", meta cannot be nil.') if meta.nil?
|
58
|
+
|
59
|
+
meta&.invalid_properties&.each do |prop|
|
60
|
+
properties.push("invalid value for \"meta\": #{prop}")
|
61
|
+
end
|
62
|
+
|
63
|
+
properties
|
64
|
+
end
|
65
|
+
|
66
|
+
# Check to see if the all the properties in the model are valid
|
67
|
+
# @return true if the model is valid
|
68
|
+
def valid?
|
69
|
+
invalid_properties.empty?
|
70
|
+
end
|
71
|
+
|
72
|
+
# Returns the object in the form of hash
|
73
|
+
# @return [Hash] Returns the object in the form of hash
|
74
|
+
def to_hash
|
75
|
+
ENCODER.to_hash(@attributes)
|
76
|
+
end
|
77
|
+
|
78
|
+
def inspect
|
79
|
+
"#<#{self.class}:0x#{object_id.to_s(16)}> JSON: " + JSON.pretty_generate(to_hash)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,159 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Auto-generated file
|
4
|
+
# DO NOT EDIT
|
5
|
+
|
6
|
+
module Cryptopay
|
7
|
+
class SubscriptionParams
|
8
|
+
ENCODER = Encoder.new(
|
9
|
+
name: 'Cryptopay::SubscriptionParams',
|
10
|
+
attribute_map: {
|
11
|
+
'name': :name,
|
12
|
+
'amount': :amount,
|
13
|
+
'currency': :currency,
|
14
|
+
'period': :period,
|
15
|
+
'period_quantity': :period_quantity,
|
16
|
+
'starts_at': :starts_at,
|
17
|
+
'payer_email': :payer_email,
|
18
|
+
'payer_name': :payer_name,
|
19
|
+
'custom_id': :custom_id,
|
20
|
+
'product_name': :product_name,
|
21
|
+
'product_description': :product_description,
|
22
|
+
'success_redirect_url': :success_redirect_url,
|
23
|
+
'unsuccess_redirect_url': :unsuccess_redirect_url
|
24
|
+
},
|
25
|
+
types: {
|
26
|
+
'name': :String,
|
27
|
+
'amount': :Decimal,
|
28
|
+
'currency': :String,
|
29
|
+
'period': :SubscriptionPeriod,
|
30
|
+
'period_quantity': :Integer,
|
31
|
+
'starts_at': :Time,
|
32
|
+
'payer_email': :String,
|
33
|
+
'payer_name': :String,
|
34
|
+
'custom_id': :String,
|
35
|
+
'product_name': :String,
|
36
|
+
'product_description': :String,
|
37
|
+
'success_redirect_url': :String,
|
38
|
+
'unsuccess_redirect_url': :String
|
39
|
+
},
|
40
|
+
nullables: []
|
41
|
+
)
|
42
|
+
private_constant :ENCODER
|
43
|
+
|
44
|
+
# Builds the object from hash
|
45
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
46
|
+
# @return [Cryptopay::SubscriptionParams] Returns the model itself
|
47
|
+
def self.build_from_hash(data)
|
48
|
+
attributes = ENCODER.build_from_hash(data)
|
49
|
+
new(attributes)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Initializes the object
|
53
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
54
|
+
def initialize(attributes = {})
|
55
|
+
@attributes = ENCODER.sanitize(attributes)
|
56
|
+
end
|
57
|
+
|
58
|
+
# Subscription name
|
59
|
+
def name
|
60
|
+
@attributes[:name]
|
61
|
+
end
|
62
|
+
|
63
|
+
# Subscription amount
|
64
|
+
def amount
|
65
|
+
@attributes[:amount]
|
66
|
+
end
|
67
|
+
|
68
|
+
# Subscription amount currency
|
69
|
+
def currency
|
70
|
+
@attributes[:currency]
|
71
|
+
end
|
72
|
+
|
73
|
+
def period
|
74
|
+
@attributes[:period]
|
75
|
+
end
|
76
|
+
|
77
|
+
def period_quantity
|
78
|
+
@attributes[:period_quantity]
|
79
|
+
end
|
80
|
+
|
81
|
+
def starts_at
|
82
|
+
@attributes[:starts_at]
|
83
|
+
end
|
84
|
+
|
85
|
+
# Email of the payer
|
86
|
+
def payer_email
|
87
|
+
@attributes[:payer_email]
|
88
|
+
end
|
89
|
+
|
90
|
+
# Name of the payer
|
91
|
+
def payer_name
|
92
|
+
@attributes[:payer_name]
|
93
|
+
end
|
94
|
+
|
95
|
+
# Subscription reference ID in your system
|
96
|
+
def custom_id
|
97
|
+
@attributes[:custom_id]
|
98
|
+
end
|
99
|
+
|
100
|
+
def product_name
|
101
|
+
@attributes[:product_name]
|
102
|
+
end
|
103
|
+
|
104
|
+
def product_description
|
105
|
+
@attributes[:product_description]
|
106
|
+
end
|
107
|
+
|
108
|
+
# The URL that the customer will be redirected to upon transaction confirmation
|
109
|
+
def success_redirect_url
|
110
|
+
@attributes[:success_redirect_url]
|
111
|
+
end
|
112
|
+
|
113
|
+
def unsuccess_redirect_url
|
114
|
+
@attributes[:unsuccess_redirect_url]
|
115
|
+
end
|
116
|
+
|
117
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
118
|
+
# @return Array for valid properties with the reasons
|
119
|
+
def invalid_properties
|
120
|
+
properties = []
|
121
|
+
|
122
|
+
properties.push('invalid value for "name", name cannot be nil.') if name.nil?
|
123
|
+
|
124
|
+
properties.push('invalid value for "amount", amount cannot be nil.') if amount.nil?
|
125
|
+
|
126
|
+
properties.push('invalid value for "currency", currency cannot be nil.') if currency.nil?
|
127
|
+
|
128
|
+
properties.push('invalid value for "period", period cannot be nil.') if period.nil?
|
129
|
+
|
130
|
+
if !period.nil? && !%w[day week month year].include?(period)
|
131
|
+
properties.push('invalid value for period, must be one of "day", "week", "month", "year"')
|
132
|
+
end
|
133
|
+
|
134
|
+
properties.push('invalid value for "period_quantity", period_quantity cannot be nil.') if period_quantity.nil?
|
135
|
+
|
136
|
+
properties.push('invalid value for "starts_at", starts_at cannot be nil.') if starts_at.nil?
|
137
|
+
|
138
|
+
properties.push('invalid value for "payer_email", payer_email cannot be nil.') if payer_email.nil?
|
139
|
+
|
140
|
+
properties
|
141
|
+
end
|
142
|
+
|
143
|
+
# Check to see if the all the properties in the model are valid
|
144
|
+
# @return true if the model is valid
|
145
|
+
def valid?
|
146
|
+
invalid_properties.empty?
|
147
|
+
end
|
148
|
+
|
149
|
+
# Returns the object in the form of hash
|
150
|
+
# @return [Hash] Returns the object in the form of hash
|
151
|
+
def to_hash
|
152
|
+
ENCODER.to_hash(@attributes)
|
153
|
+
end
|
154
|
+
|
155
|
+
def inspect
|
156
|
+
"#<#{self.class}:0x#{object_id.to_s(16)}> JSON: " + JSON.pretty_generate(to_hash)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Auto-generated file
|
4
|
+
# DO NOT EDIT
|
5
|
+
|
6
|
+
module Cryptopay
|
7
|
+
module SubscriptionPeriod
|
8
|
+
DAY = 'day'
|
9
|
+
WEEK = 'week'
|
10
|
+
MONTH = 'month'
|
11
|
+
YEAR = 'year'
|
12
|
+
|
13
|
+
# Builds the enum from string
|
14
|
+
# @param [String] The enum value in the form of the string
|
15
|
+
# @return [String] The enum value
|
16
|
+
def self.build_from_hash(value)
|
17
|
+
value
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Auto-generated file
|
4
|
+
# DO NOT EDIT
|
5
|
+
|
6
|
+
module Cryptopay
|
7
|
+
class SubscriptionResult
|
8
|
+
ENCODER = Encoder.new(
|
9
|
+
name: 'Cryptopay::SubscriptionResult',
|
10
|
+
attribute_map: {
|
11
|
+
'data': :data
|
12
|
+
},
|
13
|
+
types: {
|
14
|
+
'data': :Subscription
|
15
|
+
},
|
16
|
+
nullables: []
|
17
|
+
)
|
18
|
+
private_constant :ENCODER
|
19
|
+
|
20
|
+
# Builds the object from hash
|
21
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
22
|
+
# @return [Cryptopay::SubscriptionResult] Returns the model itself
|
23
|
+
def self.build_from_hash(data)
|
24
|
+
attributes = ENCODER.build_from_hash(data)
|
25
|
+
new(attributes)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Initializes the object
|
29
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
30
|
+
def initialize(attributes = {})
|
31
|
+
@attributes = ENCODER.sanitize(attributes)
|
32
|
+
end
|
33
|
+
|
34
|
+
def data
|
35
|
+
@attributes[:data]
|
36
|
+
end
|
37
|
+
|
38
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
39
|
+
# @return Array for valid properties with the reasons
|
40
|
+
def invalid_properties
|
41
|
+
properties = []
|
42
|
+
|
43
|
+
properties.push('invalid value for "data", data cannot be nil.') if data.nil?
|
44
|
+
|
45
|
+
data&.invalid_properties&.each do |prop|
|
46
|
+
properties.push("invalid value for \"data\": #{prop}")
|
47
|
+
end
|
48
|
+
|
49
|
+
properties
|
50
|
+
end
|
51
|
+
|
52
|
+
# Check to see if the all the properties in the model are valid
|
53
|
+
# @return true if the model is valid
|
54
|
+
def valid?
|
55
|
+
invalid_properties.empty?
|
56
|
+
end
|
57
|
+
|
58
|
+
# Returns the object in the form of hash
|
59
|
+
# @return [Hash] Returns the object in the form of hash
|
60
|
+
def to_hash
|
61
|
+
ENCODER.to_hash(@attributes)
|
62
|
+
end
|
63
|
+
|
64
|
+
def inspect
|
65
|
+
"#<#{self.class}:0x#{object_id.to_s(16)}> JSON: " + JSON.pretty_generate(to_hash)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Auto-generated file
|
4
|
+
# DO NOT EDIT
|
5
|
+
|
6
|
+
module Cryptopay
|
7
|
+
module SubscriptionStatus
|
8
|
+
ACTIVE = 'active'
|
9
|
+
CANCELLED = 'cancelled'
|
10
|
+
|
11
|
+
# Builds the enum from string
|
12
|
+
# @param [String] The enum value in the form of the string
|
13
|
+
# @return [String] The enum value
|
14
|
+
def self.build_from_hash(value)
|
15
|
+
value
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -51,6 +51,14 @@ module Cryptopay
|
|
51
51
|
)
|
52
52
|
private_constant :ENCODER
|
53
53
|
|
54
|
+
# Builds the object from hash
|
55
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
56
|
+
# @return [Cryptopay::Transaction] Returns the model itself
|
57
|
+
def self.build_from_hash(data)
|
58
|
+
attributes = ENCODER.build_from_hash(data)
|
59
|
+
new(attributes)
|
60
|
+
end
|
61
|
+
|
54
62
|
# Initializes the object
|
55
63
|
# @param [Hash] attributes Model attributes in the form of hash
|
56
64
|
def initialize(attributes = {})
|
@@ -166,14 +174,6 @@ module Cryptopay
|
|
166
174
|
invalid_properties.empty?
|
167
175
|
end
|
168
176
|
|
169
|
-
# Builds the object from hash
|
170
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
171
|
-
# @return [Cryptopay::Transaction] Returns the model itself
|
172
|
-
def self.build_from_hash(data)
|
173
|
-
attributes = ENCODER.build_from_hash(data)
|
174
|
-
new(attributes)
|
175
|
-
end
|
176
|
-
|
177
177
|
# Returns the object in the form of hash
|
178
178
|
# @return [Hash] Returns the object in the form of hash
|
179
179
|
def to_hash
|