komoju 0.0.0 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -14
- data/.gitmodules +3 -0
- data/Gemfile.lock +34 -0
- data/LICENSE.txt +1 -1
- data/README.md +14 -2
- data/Rakefile +9 -0
- data/bin/generate-client +11 -0
- data/komoju.gemspec +15 -6
- data/lib/komoju/client.rb +460 -0
- data/lib/komoju/version.rb +1 -1
- data/lib/komoju.rb +10 -2
- data/test/client_test.rb +8 -0
- data/test/helper.rb +1 -0
- data/vendor/heroics/lib/heroics/cli.rb +88 -0
- data/vendor/heroics/lib/heroics/client.rb +109 -0
- data/vendor/heroics/lib/heroics/client_generator.rb +99 -0
- data/vendor/heroics/lib/heroics/command.rb +67 -0
- data/vendor/heroics/lib/heroics/errors.rb +6 -0
- data/vendor/heroics/lib/heroics/link.rb +120 -0
- data/vendor/heroics/lib/heroics/naming.rb +19 -0
- data/vendor/heroics/lib/heroics/resource.rb +30 -0
- data/vendor/heroics/lib/heroics/schema.rb +444 -0
- data/vendor/heroics/lib/heroics/version.rb +3 -0
- data/vendor/heroics/lib/heroics.rb +22 -0
- data/vendor/heroics/test/cli_test.rb +236 -0
- data/vendor/heroics/test/client_generator_test.rb +34 -0
- data/vendor/heroics/test/client_test.rb +215 -0
- data/vendor/heroics/test/command_test.rb +214 -0
- data/vendor/heroics/test/helper.rb +204 -0
- data/vendor/heroics/test/link_test.rb +398 -0
- data/vendor/heroics/test/naming_test.rb +45 -0
- data/vendor/heroics/test/resource_test.rb +35 -0
- data/vendor/heroics/test/schema_test.rb +287 -0
- data/vendor/heroics/test/version_test.rb +9 -0
- data/vendor/heroics/test.rb +42 -0
- metadata +139 -8
@@ -0,0 +1,460 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
#
|
4
|
+
# WARNING: Do not edit by hand, this file was generated by Heroics:
|
5
|
+
#
|
6
|
+
# https://github.com/interagent/heroics
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'heroics'
|
10
|
+
require 'uri'
|
11
|
+
|
12
|
+
module Komoju
|
13
|
+
# Get a Client configured to use HTTP Basic authentication.
|
14
|
+
#
|
15
|
+
# @param api_key [String] The API key to use when connecting.
|
16
|
+
# @param options [Hash<Symbol,String>] Optionally, custom settings
|
17
|
+
# to use with the client. Allowed options are `default_headers`,
|
18
|
+
# `cache`, `user` and `url`.
|
19
|
+
# @return [Client] A client configured to use the API with HTTP Basic
|
20
|
+
# authentication.
|
21
|
+
def self.connect(api_key, options=nil)
|
22
|
+
options = custom_options(options)
|
23
|
+
uri = URI.parse(options[:url])
|
24
|
+
uri.user = URI.encode_www_form_component options.fetch(:user, 'user')
|
25
|
+
uri.password = api_key
|
26
|
+
client = Heroics.client_from_schema(SCHEMA, uri.to_s, options)
|
27
|
+
Client.new(client)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Get a Client configured to use OAuth authentication.
|
31
|
+
#
|
32
|
+
# @param oauth_token [String] The OAuth token to use with the API.
|
33
|
+
# @param options [Hash<Symbol,String>] Optionally, custom settings
|
34
|
+
# to use with the client. Allowed options are `default_headers`,
|
35
|
+
# `cache` and `url`.
|
36
|
+
# @return [Client] A client configured to use the API with OAuth
|
37
|
+
# authentication.
|
38
|
+
def self.connect_oauth(oauth_token, options=nil)
|
39
|
+
options = custom_options(options)
|
40
|
+
url = options[:url]
|
41
|
+
client = Heroics.oauth_client_from_schema(oauth_token, SCHEMA, url, options)
|
42
|
+
Client.new(client)
|
43
|
+
end
|
44
|
+
|
45
|
+
# Get a Client configured to use Token authentication.
|
46
|
+
#
|
47
|
+
# @param token [String] The token to use with the API.
|
48
|
+
# @param options [Hash<Symbol,String>] Optionally, custom settings
|
49
|
+
# to use with the client. Allowed options are `default_headers`,
|
50
|
+
# `cache` and `url`.
|
51
|
+
# @return [Client] A client configured to use the API with OAuth
|
52
|
+
# authentication.
|
53
|
+
def self.connect_token(token, options=nil)
|
54
|
+
options = custom_options(options)
|
55
|
+
url = options[:url]
|
56
|
+
client = Heroics.token_client_from_schema(token, SCHEMA, url, options)
|
57
|
+
Client.new(client)
|
58
|
+
end
|
59
|
+
|
60
|
+
# Get customized options.
|
61
|
+
def self.custom_options(options)
|
62
|
+
return default_options if options.nil?
|
63
|
+
|
64
|
+
final_options = default_options
|
65
|
+
if options[:default_headers]
|
66
|
+
final_options[:default_headers].merge!(options[:default_headers])
|
67
|
+
end
|
68
|
+
final_options[:cache] = options[:cache] if options[:cache]
|
69
|
+
final_options[:url] = options[:url] if options[:url]
|
70
|
+
final_options[:user] = options[:user] if options[:user]
|
71
|
+
final_options
|
72
|
+
end
|
73
|
+
|
74
|
+
# Get the default options.
|
75
|
+
def self.default_options
|
76
|
+
default_headers = {}
|
77
|
+
cache = {}
|
78
|
+
{
|
79
|
+
default_headers: default_headers,
|
80
|
+
cache: cache,
|
81
|
+
url: "https://komoju.com/api/v1"
|
82
|
+
}
|
83
|
+
end
|
84
|
+
|
85
|
+
private_class_method :default_options, :custom_options
|
86
|
+
|
87
|
+
# Komoju API auto-generated JSON Schema
|
88
|
+
class Client
|
89
|
+
def initialize(client)
|
90
|
+
@client = client
|
91
|
+
end
|
92
|
+
|
93
|
+
# Event Resource
|
94
|
+
#
|
95
|
+
# @return [Events]
|
96
|
+
def events
|
97
|
+
@events_resource ||= Events.new(@client)
|
98
|
+
end
|
99
|
+
|
100
|
+
# Payment resource
|
101
|
+
#
|
102
|
+
# @return [Payments]
|
103
|
+
def payments
|
104
|
+
@payments_resource ||= Payments.new(@client)
|
105
|
+
end
|
106
|
+
|
107
|
+
# Payout Resource
|
108
|
+
#
|
109
|
+
# @return [Payouts]
|
110
|
+
def payouts
|
111
|
+
@payouts_resource ||= Payouts.new(@client)
|
112
|
+
end
|
113
|
+
|
114
|
+
# Subscription Resource
|
115
|
+
#
|
116
|
+
# @return [Subscriptions]
|
117
|
+
def subscriptions
|
118
|
+
@subscriptions_resource ||= Subscriptions.new(@client)
|
119
|
+
end
|
120
|
+
|
121
|
+
# Subscription Customers
|
122
|
+
#
|
123
|
+
# @return [Customers]
|
124
|
+
def customers
|
125
|
+
@customers_resource ||= Customers.new(@client)
|
126
|
+
end
|
127
|
+
|
128
|
+
# Subscription Invoice
|
129
|
+
#
|
130
|
+
# @return [Invoices]
|
131
|
+
def invoices
|
132
|
+
@invoices_resource ||= Invoices.new(@client)
|
133
|
+
end
|
134
|
+
|
135
|
+
# Subscription Invoice Items
|
136
|
+
#
|
137
|
+
# @return [InvoiceItems]
|
138
|
+
def invoice_items
|
139
|
+
@invoice_items_resource ||= InvoiceItems.new(@client)
|
140
|
+
end
|
141
|
+
|
142
|
+
# Subscription Plans
|
143
|
+
#
|
144
|
+
# @return [Plans]
|
145
|
+
def plans
|
146
|
+
@plans_resource ||= Plans.new(@client)
|
147
|
+
end
|
148
|
+
|
149
|
+
# Token resource
|
150
|
+
#
|
151
|
+
# @return [Tokens]
|
152
|
+
def tokens
|
153
|
+
@tokens_resource ||= Tokens.new(@client)
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
private
|
158
|
+
|
159
|
+
# Event Resource
|
160
|
+
class Events
|
161
|
+
def initialize(client)
|
162
|
+
@client = client
|
163
|
+
end
|
164
|
+
|
165
|
+
# List events
|
166
|
+
#
|
167
|
+
# @param collection_options: additional collection options to pass with the request
|
168
|
+
def list(collection_options = {})
|
169
|
+
@client.events.list(collection_options)
|
170
|
+
end
|
171
|
+
|
172
|
+
# Show a event
|
173
|
+
#
|
174
|
+
# @param events_id: A unique identifier for an event.
|
175
|
+
def show(events_id)
|
176
|
+
@client.events.show(events_id)
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
# Payment resource
|
181
|
+
class Payments
|
182
|
+
def initialize(client)
|
183
|
+
@client = client
|
184
|
+
end
|
185
|
+
|
186
|
+
# List payments
|
187
|
+
#
|
188
|
+
# @param collection_options: additional collection options to pass with the request
|
189
|
+
def list(collection_options = {})
|
190
|
+
@client.payments.list(collection_options)
|
191
|
+
end
|
192
|
+
|
193
|
+
# Show a payment
|
194
|
+
#
|
195
|
+
# @param payments_id: A unique indentifier for the payment
|
196
|
+
def show(payments_id)
|
197
|
+
@client.payments.show(payments_id)
|
198
|
+
end
|
199
|
+
|
200
|
+
# Create a payment
|
201
|
+
#
|
202
|
+
# @param body: the object to pass as the request payload
|
203
|
+
def create(body)
|
204
|
+
@client.payments.create(body)
|
205
|
+
end
|
206
|
+
|
207
|
+
# Update a payment
|
208
|
+
#
|
209
|
+
# @param payments_id: A unique indentifier for the payment
|
210
|
+
# @param body: the object to pass as the request payload
|
211
|
+
def update(payments_id, body)
|
212
|
+
@client.payments.update(payments_id, body)
|
213
|
+
end
|
214
|
+
|
215
|
+
# Refund a payment
|
216
|
+
#
|
217
|
+
# @param payments_id: A unique indentifier for the payment
|
218
|
+
# @param body: the object to pass as the request payload
|
219
|
+
def refund(payments_id, body)
|
220
|
+
@client.payments.refund(payments_id, body)
|
221
|
+
end
|
222
|
+
|
223
|
+
# Cancel a payment
|
224
|
+
#
|
225
|
+
# @param payments_id: A unique indentifier for the payment
|
226
|
+
def cancel(payments_id)
|
227
|
+
@client.payments.cancel(payments_id)
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
231
|
+
# Payout Resource
|
232
|
+
class Payouts
|
233
|
+
def initialize(client)
|
234
|
+
@client = client
|
235
|
+
end
|
236
|
+
|
237
|
+
# List payouts
|
238
|
+
#
|
239
|
+
# @param collection_options: additional collection options to pass with the request
|
240
|
+
def list(collection_options = {})
|
241
|
+
@client.payouts.list(collection_options)
|
242
|
+
end
|
243
|
+
|
244
|
+
# Show a payout
|
245
|
+
#
|
246
|
+
# @param payouts_id: A unique identifier for a payout.
|
247
|
+
def show(payouts_id)
|
248
|
+
@client.payouts.show(payouts_id)
|
249
|
+
end
|
250
|
+
|
251
|
+
# List payout items
|
252
|
+
#
|
253
|
+
# @param payouts_id: A unique identifier for a payout.
|
254
|
+
# @param collection_options: additional collection options to pass with the request
|
255
|
+
def payout_items(payouts_id, collection_options = {})
|
256
|
+
@client.payouts.payout_items(payouts_id, collection_options)
|
257
|
+
end
|
258
|
+
end
|
259
|
+
|
260
|
+
# Subscription Resource
|
261
|
+
class Subscriptions
|
262
|
+
def initialize(client)
|
263
|
+
@client = client
|
264
|
+
end
|
265
|
+
|
266
|
+
# List subscriptions
|
267
|
+
#
|
268
|
+
# @param collection_options: additional collection options to pass with the request
|
269
|
+
def list(collection_options = {})
|
270
|
+
@client.subscriptions.list(collection_options)
|
271
|
+
end
|
272
|
+
|
273
|
+
# Show a subscription
|
274
|
+
#
|
275
|
+
# @param subscriptions_id: A unique identifier for a subscription.
|
276
|
+
def show(subscriptions_id)
|
277
|
+
@client.subscriptions.show(subscriptions_id)
|
278
|
+
end
|
279
|
+
|
280
|
+
# Create a subscription
|
281
|
+
#
|
282
|
+
# @param body: the object to pass as the request payload
|
283
|
+
def create(body)
|
284
|
+
@client.subscriptions.create(body)
|
285
|
+
end
|
286
|
+
|
287
|
+
# Destroy a subscription
|
288
|
+
#
|
289
|
+
# @param subscriptions_id: A unique identifier for a subscription.
|
290
|
+
def destroy(subscriptions_id)
|
291
|
+
@client.subscriptions.destroy(subscriptions_id)
|
292
|
+
end
|
293
|
+
end
|
294
|
+
|
295
|
+
# Subscription Customers
|
296
|
+
class Customers
|
297
|
+
def initialize(client)
|
298
|
+
@client = client
|
299
|
+
end
|
300
|
+
|
301
|
+
# List customers
|
302
|
+
#
|
303
|
+
# @param collection_options: additional collection options to pass with the request
|
304
|
+
def list(collection_options = {})
|
305
|
+
@client.customers.list(collection_options)
|
306
|
+
end
|
307
|
+
|
308
|
+
# Show a customer
|
309
|
+
#
|
310
|
+
# @param customers_id: A unique identifier for the customer.
|
311
|
+
def show(customers_id)
|
312
|
+
@client.customers.show(customers_id)
|
313
|
+
end
|
314
|
+
|
315
|
+
# Create a customer
|
316
|
+
#
|
317
|
+
# @param body: the object to pass as the request payload
|
318
|
+
def create(body)
|
319
|
+
@client.customers.create(body)
|
320
|
+
end
|
321
|
+
|
322
|
+
# Update customers
|
323
|
+
#
|
324
|
+
# @param customers_id: A unique identifier for the customer.
|
325
|
+
# @param body: the object to pass as the request payload
|
326
|
+
def update(customers_id, body)
|
327
|
+
@client.customers.update(customers_id, body)
|
328
|
+
end
|
329
|
+
|
330
|
+
# Destroy a customer
|
331
|
+
#
|
332
|
+
# @param customers_id: A unique identifier for the customer.
|
333
|
+
def destroy(customers_id)
|
334
|
+
@client.customers.destroy(customers_id)
|
335
|
+
end
|
336
|
+
end
|
337
|
+
|
338
|
+
# Subscription Invoice
|
339
|
+
class Invoices
|
340
|
+
def initialize(client)
|
341
|
+
@client = client
|
342
|
+
end
|
343
|
+
|
344
|
+
# List invoices
|
345
|
+
#
|
346
|
+
# @param collection_options: additional collection options to pass with the request
|
347
|
+
def list(collection_options = {})
|
348
|
+
@client.invoices.list(collection_options)
|
349
|
+
end
|
350
|
+
|
351
|
+
# Show an invoice
|
352
|
+
#
|
353
|
+
# @param invoices_id: A unique identifier for the invoice.
|
354
|
+
def show(invoices_id)
|
355
|
+
@client.invoices.show(invoices_id)
|
356
|
+
end
|
357
|
+
|
358
|
+
# Create an invoice
|
359
|
+
#
|
360
|
+
# @param body: the object to pass as the request payload
|
361
|
+
def create(body)
|
362
|
+
@client.invoices.create(body)
|
363
|
+
end
|
364
|
+
|
365
|
+
# Preview an upcoming invoice
|
366
|
+
#
|
367
|
+
# @param body: the object to pass as the request payload
|
368
|
+
def preview(body)
|
369
|
+
@client.invoices.preview(body)
|
370
|
+
end
|
371
|
+
end
|
372
|
+
|
373
|
+
# Subscription Invoice Items
|
374
|
+
class InvoiceItems
|
375
|
+
def initialize(client)
|
376
|
+
@client = client
|
377
|
+
end
|
378
|
+
|
379
|
+
# List invoice items
|
380
|
+
#
|
381
|
+
# @param collection_options: additional collection options to pass with the request
|
382
|
+
def list(collection_options = {})
|
383
|
+
@client.invoice_items.list(collection_options)
|
384
|
+
end
|
385
|
+
|
386
|
+
# Show an invoice item
|
387
|
+
#
|
388
|
+
# @param invoice_items_id: A unique identifier for the invoice items.
|
389
|
+
def show(invoice_items_id)
|
390
|
+
@client.invoice_items.show(invoice_items_id)
|
391
|
+
end
|
392
|
+
|
393
|
+
# Create an invoice item
|
394
|
+
#
|
395
|
+
# @param body: the object to pass as the request payload
|
396
|
+
def create(body)
|
397
|
+
@client.invoice_items.create(body)
|
398
|
+
end
|
399
|
+
|
400
|
+
# Deletes an invoice item from the upcoming invoice.
|
401
|
+
#
|
402
|
+
# @param invoice_items_id: A unique identifier for the invoice items.
|
403
|
+
def destroy(invoice_items_id)
|
404
|
+
@client.invoice_items.destroy(invoice_items_id)
|
405
|
+
end
|
406
|
+
end
|
407
|
+
|
408
|
+
# Subscription Plans
|
409
|
+
class Plans
|
410
|
+
def initialize(client)
|
411
|
+
@client = client
|
412
|
+
end
|
413
|
+
|
414
|
+
# List plans
|
415
|
+
#
|
416
|
+
# @param collection_options: additional collection options to pass with the request
|
417
|
+
def list(collection_options = {})
|
418
|
+
@client.plans.list(collection_options)
|
419
|
+
end
|
420
|
+
|
421
|
+
# Show a plan
|
422
|
+
#
|
423
|
+
# @param plans_name: Name of the plan.
|
424
|
+
def show(plans_name)
|
425
|
+
@client.plans.show(plans_name)
|
426
|
+
end
|
427
|
+
|
428
|
+
# Create a plan
|
429
|
+
#
|
430
|
+
# @param body: the object to pass as the request payload
|
431
|
+
def create(body)
|
432
|
+
@client.plans.create(body)
|
433
|
+
end
|
434
|
+
|
435
|
+
# Destroy a plan
|
436
|
+
#
|
437
|
+
# @param plans_name: Name of the plan.
|
438
|
+
def destroy(plans_name)
|
439
|
+
@client.plans.destroy(plans_name)
|
440
|
+
end
|
441
|
+
end
|
442
|
+
|
443
|
+
# Token resource
|
444
|
+
class Tokens
|
445
|
+
def initialize(client)
|
446
|
+
@client = client
|
447
|
+
end
|
448
|
+
|
449
|
+
# Create a token
|
450
|
+
#
|
451
|
+
# @param body: the object to pass as the request payload
|
452
|
+
def create(body)
|
453
|
+
@client.tokens.create(body)
|
454
|
+
end
|
455
|
+
end
|
456
|
+
|
457
|
+
SCHEMA = Heroics::Schema.new(MultiJson.load(<<-'HEROICS_SCHEMA'))
|
458
|
+
{"$schema":"http://json-schema.org/draft-04/hyper-schema","definitions":{"list":{"type":["object"],"properties":{"resource":{"enum":["list"]},"total":{"type":["integer"]},"page":{"type":["integer"]},"per_page":{"type":["integer"]},"last_page":{"type":["integer"]},"data":{"oneOf":[{"type":["array"],"items":{"$ref":"#/definitions/payments"}},{"type":["array"],"items":{"$ref":"#/definitions/payouts"}},{"type":["array"],"items":{"$ref":"#/definitions/payouts/definitions/payout_item"}},{"type":["array"],"items":{"$ref":"#/definitions/events"}},{"type":["array"],"items":{"$ref":"#/definitions/tokens"}},{"type":["array"],"items":{"$ref":"#/definitions/customers"}},{"type":["array"],"items":{"$ref":"#/definitions/plans"}},{"type":["array"],"items":{"$ref":"#/definitions/subscriptions"}},{"type":["array"],"items":{"$ref":"#/definitions/invoices"}},{"type":["array"],"items":{"$ref":"#/definitions/invoice_items"}}]}}},"events":{"$schema":"http://json-schema.org/draft-04/hyper-schema","type":["object"],"definitions":{"id":{"example":"66a4824ac97cc7afff608f27c7","readOnly":true,"type":["string"],"description":"A unique identifier for an event."},"type":{"example":"payment.authorized","readOnly":true,"type":["string"]},"data":{"readOnly":true,"type":["object"],"description":"An object which creates an event"},"resource":{"example":"event","readOnly":true,"enum":["event"],"description":"Name of resource"},"created_at":{"example":"2015-03-06T06:52:35Z","format":"date-time","readOnly":true,"type":["string"],"description":"An ISO 8601 formatted timestamp of when the event was created."}},"links":[{"title":"List","description":"List events","href":"/events","method":"GET","rel":"instances","response_example":"events#index","targetSchema":{"$ref":"#/definitions/list/"}},{"title":"Show","description":"Show a event","href":"/events/{(%2Fdefinitions%2Fevents%2Fdefinitions%2Fid)}","method":"GET","rel":"self","response_example":"events#show","targetSchema":{"$ref":"#/definitions/events/"}}],"properties":{"id":{"$ref":"#/definitions/events/definitions/id"},"type":{"$ref":"#/definitions/events/definitions/type"},"resource":{"$ref":"#/definitions/events/definitions/resource"},"data":{"$ref":"#/definitions/events/definitions/data"},"created_at":{"$ref":"#/definitions/events/definitions/created_at"}},"description":"Event Resource","title":"Events"},"payments":{"$schema":"http://json-schema.org/draft-04/hyper-schema","type":["object"],"definitions":{"given_name":{"type":["string"]},"family_name":{"type":["string"]},"given_name_kana":{"type":["string"]},"family_name_kana":{"type":["string"]},"email":{"type":["string"],"format":"email"},"phone":{"type":["string"],"pattern":"\\A([() \\-_+]*[0-9]){10}[() \\-_+0-9]*\\Z"},"expiry_days":{"type":["integer"],"minimum":0,"maximum":59,"exclusiveMinimum":false,"exclusiveMaximum":false},"instructions_url":{"type":["string"],"format":"uri"},"external_order_num":{"type":["string"]},"bank_transfer_request":{"type":["object"],"properties":{"type":{"enum":["bank_transfer"]},"phone":{"$ref":"#/definitions/payments/definitions/phone"},"email":{"$ref":"#/definitions/payments/definitions/email"},"given_name":{"$ref":"#/definitions/payments/definitions/given_name"},"family_name":{"$ref":"#/definitions/payments/definitions/family_name"},"given_name_kana":{"$ref":"#/definitions/payments/definitions/given_name_kana"},"family_name_kana":{"$ref":"#/definitions/payments/definitions/family_name_kana"},"expiry_days":{"$ref":"#/definitions/payments/definitions/expiry_days"}},"required":["type","given_name","family_name","given_name_kana","family_name_kana","phone","email"]},"bank_transfer_response":{"type":["object"],"properties":{"type":{"enum":["bank_transfer"]},"email":{"$ref":"#/definitions/payments/definitions/email"},"order_id":{"type":["string"]},"bank_name":{"type":["string"]},"account_number":{"type":["integer"]},"account_type":{"type":["string"]},"account_name":{"type":["string"]}},"required":["type","email","order_id","bank_name","account_number","account_type","account_name"]},"konbini_request":{"type":["object"],"properties":{"type":{"enum":["konbini"]},"store":{"enum":["seven-eleven","lawson","family-mart","sunkus","circle-k","ministop","daily-yamazaki"]},"email":{"$ref":"#/definitions/payments/definitions/email"},"phone":{"$ref":"#/definitions/payments/definitions/phone"},"expiry_days":{"$ref":"#/definitions/payments/definitions/expiry_days"}},"required":["type","store","phone","email"]},"konbini_response":{"type":["object"],"properties":{"type":{"enum":["konbini"]},"store":{"enum":["seven-eleven","lawson","family-mart","sunkus","circle-k","ministop","daily-yamazaki"]},"instructions_url":{"$ref":"#/definitions/payments/definitions/instructions_url"},"confirmation_code":{"type":["string"]},"receipt":{"type":["string"]}},"required":["type","store","confirmation_code","receipt","instructions_url"]},"pay_easy_request":{"type":["object"],"properties":{"type":{"enum":["pay_easy"]},"email":{"$ref":"#/definitions/payments/definitions/email"},"given_name":{"$ref":"#/definitions/payments/definitions/given_name"},"family_name":{"$ref":"#/definitions/payments/definitions/family_name"},"given_name_kana":{"$ref":"#/definitions/payments/definitions/given_name_kana"},"family_name_kana":{"$ref":"#/definitions/payments/definitions/family_name_kana"},"instructions_url":{"$ref":"#/definitions/payments/definitions/instructions_url"},"phone":{"$ref":"#/definitions/payments/definitions/phone"},"expiry_days":{"$ref":"#/definitions/payments/definitions/expiry_days"}},"required":["type","given_name","family_name","given_name_kana","family_name_kana","email","phone"]},"pay_easy_response":{"type":["object"],"properties":{"type":{"enum":["pay_easy"]},"pay_url":{"type":["string"]},"instructions_url":{"$ref":"#/definitions/payments/definitions/instructions_url"}},"required":["type","pay_url","instructions_url"]},"web_money_request":{"type":["object"],"properties":{"type":{"enum":["web_money"]},"prepaid_number":{"type":["string"],"maxLength":16}},"required":["type","prepaid_number"]},"web_money_response":{"type":["object"],"properties":{"type":{"enum":["web_money"]},"short_amount":{"type":["integer"]}},"required":["type","short_amount"]},"credit_card_request":{"type":["object"],"properties":{"type":{"enum":["credit_card"]},"number":{"type":["string"]},"month":{"type":["integer"]},"year":{"type":["integer"]},"verification_value":{"type":["string"]},"given_name":{"$ref":"#/definitions/payments/definitions/given_name"},"family_name":{"$ref":"#/definitions/payments/definitions/family_name"},"last_four_digits":{"type":["string"]},"brand":{"enum":["visa","american_express","master","jcb"]}},"required":["type","number","month","year","given_name","family_name"]},"credit_card_response":{"type":["object"],"properties":{"type":{"enum":["credit_card"]},"month":{"type":["integer"]},"year":{"type":["integer"]},"last_four_digits":{"type":["string"]},"brand":{"enum":["visa","american_express","master","jcb"]}},"required":["type","brand","last_four_digits","month","year"]},"id":{"example":"94f128d4021b049bc616f5b1b0","readOnly":true,"type":["string"],"description":"A unique indentifier for the payment"},"resource":{"example":"payment","enum":["payment"],"description":"Value of `resource`."},"status":{"example":"pending","enum":["pending","authorized","captured","expired","cancelled","refunded"],"description":"The status of the payment."},"amount":{"example":"300","minimum":0,"type":["number"],"description":"The amount to be charged before tax. Must be equal or greater than 0. Use a ‘.’ as a decimal separator, and no thousands separator"},"tax":{"example":"30","type":["number","null"],"description":"The amount of tax to be charged, or ‘auto’ to use the current consumption tax rate in Japan. Use a ‘.’ as a decimal separator, and no thousands separator. If the tax is more precise than the currency allows, it will be rounded using a round half up algorithm."},"payment_deadline":{"format":"date-time","example":"2015-03-09T06:52:34Z","type":["string","null"],"description":"Time when the payment will expire. This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ."},"payment_method_fee":{"example":"0","type":["number"],"minimum":0,"description":"An additional fee added to specific payment types"},"total":{"example":"330","type":["number"],"description":"The payment total, this is the amount + tax + payment_method_fee"},"currency":{"example":"JPY","enum":["JPY","USD"],"description":"3 letter ISO currency code of the transaction"},"description":{"example":"","type":["string","null"],"description":"Description of the payment (used in e-mail receipts if enabled)."},"subscription":{"example":null,"type":["object","null"],"description":"Shown if payment was part of a subscription"},"captured_at":{"example":"2015-03-09T06:52:34Z","type":["string","null"],"description":"An ISO 8601 formatted timestamp of when a payment was captured"},"metadata":{"type":["object","null"],"example":{"order_id":"abcdefghijklmn"},"description":"A set of key-value pairs"},"payment_details_request":{"description":"A hash or token describing the payment method used to make the payment.","example":{"type":["konbini"],"store":"lawson","email":"foo@bar.com","phone":"08011111111"},"type":["string","object"],"properties":{"type":{"enum":["credit_card","bank_transfer","konbini","pay_easy","web_money"]}},"required":["type"]},"payment_details_response":{"description":"A hash or token describing the payment method used to make the payment.","example":{"type":["konbini"],"store":"lawson","confirmation_code":null,"receipt":"12345"},"oneOf":[{"type":["null"]},{"$ref":"#/definitions/payments/definitions/bank_transfer_response"},{"$ref":"#/definitions/payments/definitions/credit_card_response"},{"$ref":"#/definitions/payments/definitions/konbini_response"},{"$ref":"#/definitions/payments/definitions/pay_easy_response"},{"$ref":"#/definitions/payments/definitions/web_money_response"}]},"fraud_details":{"type":["object","null"],"properties":{"customer_ip":{"format":"ipv4","type":["string"]},"customer_email":{"format":"email","type":["string"]},"browser_language":{"type":["string"]},"browser_user_agent":{"type":["string"]}},"dependencies":{"customer_email":["customer_ip"],"browser_language":["customer_ip"],"browser_user_agent":["customer_ip"]},"additionalProperties":false},"created_at":{"example":"2015-03-06T06:52:35Z","format":"date-time","type":["string"],"description":"An ISO 8601 formatted timestamp of when a payment was created"}},"links":[{"title":"List","description":"List payments","href":"/payments","method":"GET","rel":"instances","response_example":"payments#index","targetSchema":{"$ref":"#/definitions/list/"}},{"title":"Show","description":"Show a payment","href":"/payments/{(%2Fdefinitions%2Fpayments%2Fdefinitions%2Fid)}","method":"GET","rel":"self","response_example":"payments#show","targetSchema":{"$ref":"#/definitions/payments/"}},{"title":"Create","description":"Create a payment","href":"/payments","method":"POST","rel":"create","response_example":"payments#create","targetSchema":{"$ref":"#/definitions/payments/"},"schema":{"type":["object"],"properties":{"amount":{"$ref":"#/definitions/payments/definitions/amount"},"tax":{"$ref":"#/definitions/payments/definitions/tax"},"currency":{"$ref":"#/definitions/payments/definitions/currency"},"external_order_num":{"$ref":"#/definitions/payments/definitions/external_order_num"},"metadata":{"$ref":"#/definitions/payments/definitions/metadata"},"payment_details":{"$ref":"#/definitions/payments/definitions/payment_details_request"},"fraud_details":{"$ref":"#/definitions/payments/definitions/fraud_details"}},"required":["amount","currency","payment_details"],"additionalProperties":false}},{"title":"Update","description":"Update a payment","href":"/payments/{(%2Fdefinitions%2Fpayments%2Fdefinitions%2Fid)}","method":"PATCH","rel":"self","response_example":"payments#update","targetSchema":{"$ref":"#/definitions/payments/"},"schema":{"type":["object"],"properties":{"description":{"$ref":"#/definitions/payments/definitions/description"},"metadata":{"$ref":"#/definitions/payments/definitions/metadata"},"payment_details":{"type":["object"],"properties":{"type":{"enum":["web_money"]}},"required":["type"]}},"additionalProperties":false}},{"title":"Refund","description":"Refund a payment","href":"/payments/{(%2Fdefinitions%2Fpayments%2Fdefinitions%2Fid)}/refund","method":"POST","rel":"self","response_example":"payments#refund","targetSchema":{"$ref":"#/definitions/payments/"},"schema":{"type":["object"],"properties":{"amount":{"$ref":"#/definitions/payments/definitions/amount"},"description":{"$ref":"#/definitions/payments/definitions/description"}}}},{"title":"Cancel","description":"Cancel a payment","href":"/payments/{(%2Fdefinitions%2Fpayments%2Fdefinitions%2Fid)}/cancel","method":"POST","rel":"self","response_example":"payments#cancel","targetSchema":{"$ref":"#/definitions/payments/"}}],"properties":{"id":{"$ref":"#/definitions/payments/definitions/id"},"resource":{"$ref":"#/definitions/payments/definitions/resource"},"status":{"$ref":"#/definitions/payments/definitions/status"},"amount":{"$ref":"#/definitions/payments/definitions/amount"},"tax":{"$ref":"#/definitions/payments/definitions/tax"},"payment_deadline":{"$ref":"#/definitions/payments/definitions/payment_deadline"},"payment_details":{"$ref":"#/definitions/payments/definitions/payment_details_response"},"payment_method_fee":{"$ref":"#/definitions/payments/definitions/payment_method_fee"},"total":{"$ref":"#/definitions/payments/definitions/total"},"currency":{"$ref":"#/definitions/payments/definitions/currency"},"description":{"$ref":"#/definitions/payments/definitions/description"},"subscription":{"$ref":"#/definitions/payments/definitions/subscription"},"captured_at":{"$ref":"#/definitions/payments/definitions/captured_at"},"metadata":{"$ref":"#/definitions/payments/definitions/metadata"},"created_at":{"$ref":"#/definitions/payments/definitions/created_at"},"refunds":{"type":["array"]}},"description":"Payment resource","title":"Payments"},"payouts":{"$schema":"http://json-schema.org/draft-04/hyper-schema","type":["object"],"definitions":{"id":{"example":"66a4824ac97cc7afff608f27c7","readOnly":true,"type":["string"],"description":"A unique identifier for a payout."},"resource":{"example":"event","readOnly":true,"enum":["payout"],"description":"Name of resource"},"payout_item":{"readOnly":true,"type":["object"],"properties":{"resource":{"example":"payout_item","readOnly":true,"enum":["payout_item"],"description":"Name of resource."},"event_type":{"example":"capture","readOnly":true,"enum":["capture","refund"],"description":"Describes whether the payout item is from a captured or refunded payment."},"timestamp":{"example":"2015-03-06T06:52:35Z","readOnly":true,"format":"date-time","description":"Timestamp describing when the payment was either captured or refunded."},"payment_method":{"example":"visa","readOnly":true,"enum":["visa","master_card","american_express","jcb","bank_transfer","web_money","lawson","family-mart","sunkus","circle-k","ministop","daily-yamazaki","seven-eleven"],"description":"The payment method of the payment."},"payment_fee":{"example":"300","type":["number"],"description":"Komoju platform fee deducted from the payment total."},"receivable":{"example":"300","type":["number"],"description":"The amount paid to your account for a given payment."},"amount":{"$ref":"#/definitions/payments/definitions/amount"},"tax":{"$ref":"#/definitions/payments/definitions/tax"},"total":{"$ref":"#/definitions/payments/definitions/total"}},"description":"Payout Item Resource"},"created_at":{"example":"2015-03-06T06:52:35Z","format":"date-time","readOnly":true,"type":["string"],"description":"An ISO 8601 formatted timestamp of when the payout was created."}},"links":[{"title":"List","description":"List payouts","href":"/payouts","method":"GET","rel":"instances","response_example":"payouts#index","targetSchema":{"$ref":"#/definitions/list/"}},{"title":"Show","description":"Show a payout","href":"/payouts/{(%2Fdefinitions%2Fpayouts%2Fdefinitions%2Fid)}","method":"GET","rel":"self","response_example":"payouts#show","targetSchema":{"$ref":"#/definitions/payouts/"}},{"title":"Payout Items","description":"List payout items","href":"/payouts/{(%2Fdefinitions%2Fpayouts%2Fdefinitions%2Fid)}/payout_items","method":"GET","rel":"instances","response_example":"payouts#payout_items","targetSchema":{"$ref":"#/definitions/list/"}}],"properties":{"id":{"$ref":"#/definitions/payouts/definitions/id"},"resource":{"$ref":"#/definitions/payouts/definitions/resource"},"payout_items":{"$ref":"#/definitions/list/"},"created_at":{"$ref":"#/definitions/payouts/definitions/created_at"}},"description":"Payout Resource","title":"Payouts"},"subscriptions":{"$schema":"http://json-schema.org/draft-04/hyper-schema","type":["object"],"definitions":{"id":{"example":"66a4824ac97cc7afff608f27c7","readOnly":true,"type":["string"],"description":"A unique identifier for a subscription."},"resource":{"example":"subscription","readOnly":true,"enum":["subscription"],"description":"Name of resource"},"status":{"example":"pending","readOnly":true,"enum":["cancelled","pending","active","past_due"],"description":"The status of the subscription."},"plan":{"$ref":"#/definitions/plans"},"customer":{"$ref":"#/definitions/customers"},"current_period_end_at":{"example":null,"format":"date-time","readOnly":true,"type":["string","null"],"description":"An ISO 8601 formatted timestamp of when the subscription will next be billed."},"cancel_at_period_end":{"type":["boolean"]},"metadata":{"$ref":"#/definitions/payments/definitions/metadata"},"created_at":{"example":"2015-03-06T06:52:35Z","format":"date-time","readOnly":true,"type":["string"],"description":"An ISO 8601 formatted timestamp of when the plan was created."}},"links":[{"title":"List","description":"List subscriptions","href":"/subscriptions","method":"GET","rel":"instances","response_example":"subscriptions#index","targetSchema":{"$ref":"#/definitions/list/"}},{"title":"Show","description":"Show a subscription","href":"/subscriptions/{(%2Fdefinitions%2Fsubscriptions%2Fdefinitions%2Fid)}","method":"GET","rel":"self","response_example":"subscriptions#show","targetSchema":{"$ref":"#/definitions/subscriptions/"}},{"title":"Create","description":"Create a subscription","href":"/subscriptions","method":"POST","rel":"create","response_example":"subscriptions#create","targetSchema":{"$ref":"#/definitions/subscriptions/"},"schema":{"type":["object"],"properties":{"customer":{"type":["string"]},"plan":{"type":["string"]},"metadata":{"$ref":"#/definitions/subscriptions/definitions/metadata"}},"required":["customer","plan"]}},{"title":"Destroy","description":"Destroy a subscription","href":"/subscriptions/{(%2Fdefinitions%2Fsubscriptions%2Fdefinitions%2Fid)}","method":"DELETE","rel":"destroy","response_example":"subscriptions#destroy","targetSchema":{"$ref":"#/definitions/subscriptions/"}}],"properties":{"id":{"$ref":"#/definitions/subscriptions/definitions/id"},"resource":{"$ref":"#/definitions/subscriptions/definitions/resource"},"status":{"$ref":"#/definitions/subscriptions/definitions/status"},"plan":{"$ref":"#/definitions/subscriptions/definitions/plan"},"customer":{"$ref":"#/definitions/subscriptions/definitions/customer"},"current_period_end_at":{"$ref":"#/definitions/subscriptions/definitions/current_period_end_at"},"metadata":{"$ref":"#/definitions/subscriptions/definitions/metadata"},"created_at":{"$ref":"#/definitions/subscriptions/definitions/created_at"}},"description":"Subscription Resource","title":"Subscriptions"},"customers":{"$schema":"http://json-schema.org/draft-04/hyper-schema","type":["object"],"definitions":{"id":{"example":"fa799fca14be29d3fae455f22d","readOnly":true,"type":["string"],"description":"A unique identifier for the customer."},"resource":{"example":"customer","readOnly":true,"enum":["customer"],"description":"Name of resource"},"payment_details":{"$ref":"#/definitions/payments/definitions/payment_details_response"},"metadata":{"$ref":"#/definitions/payments/definitions/metadata"},"email":{"type":["string","null"],"format":"email","description":"Customer's email address."},"created_at":{"example":"2015-03-06T06:52:35Z","format":"date-time","readOnly":true,"type":["string"],"description":"An ISO 8601 formatted timestamp of when the customer was created."}},"links":[{"title":"List","description":"List customers","href":"/customers","method":"GET","rel":"instances","response_example":"customers#index","targetSchema":{"$ref":"#/definitions/list/"}},{"title":"Show","description":"Show a customer","href":"/customers/{(%2Fdefinitions%2Fcustomers%2Fdefinitions%2Fid)}","method":"GET","rel":"self","response_example":"customers#show","targetSchema":{"$ref":"#/definitions/customers/"}},{"title":"Create","description":"Create a customer","href":"/customers","method":"POST","rel":"create","response_example":"customers#create","targetSchema":{"$ref":"#/definitions/customers/"},"schema":{"type":["object"],"properties":{"payment_details":{"$ref":"#/definitions/payments/definitions/payment_details_request"},"currency":{"$ref":"#/definitions/payments/definitions/currency"},"email":{"$ref":"#/definitions/customers/definitions/email"},"metadata":{"$ref":"#/definitions/customers/definitions/metadata"}},"required":["currency","payment_details"],"additionalFields":false}},{"title":"Update","description":"Update customers","href":"/customers/{(%2Fdefinitions%2Fcustomers%2Fdefinitions%2Fid)}","method":"PATCH","rel":"self","response_example":"customers#update","schema":{"type":["object"],"properties":{"payment_details":{"$ref":"#/definitions/payments/definitions/payment_details_request"},"currency":{"$ref":"#/definitions/payments/definitions/currency"},"email":{"$ref":"#/definitions/customers/definitions/email"},"metadata":{"$ref":"#/definitions/customers/definitions/metadata"}},"required":["payment_details"],"additionalFields":false},"targetSchema":{"$ref":"#/definitions/customers/"}},{"title":"Destroy","description":"Destroy a customer","href":"/customers/{(%2Fdefinitions%2Fcustomers%2Fdefinitions%2Fid)}","method":"DELETE","rel":"destroy","response_example":"customers#destroy","targetSchema":{"$ref":"#/definitions/customers/"}}],"properties":{"id":{"$ref":"#/definitions/customers/definitions/id"},"resource":{"$ref":"#/definitions/customers/definitions/resource"},"email":{"$ref":"#/definitions/customers/definitions/email"},"metadata":{"$ref":"#/definitions/customers/definitions/metadata"},"created_at":{"$ref":"#/definitions/customers/definitions/created_at"}},"description":"Subscription Customers","title":"Customers"},"invoices":{"$schema":"http://json-schema.org/draft-04/hyper-schema","type":["object"],"definitions":{"id":{"example":"66a4824ac97cc7afff608f27c7","readOnly":true,"type":["string"],"description":"A unique identifier for the invoice."},"resource":{"example":"invoice","readOnly":true,"enum":["invoice"],"description":"Name of resource."},"invoice":{"readOnly":true,"type":["string","null"]},"paid":{"readOnly":true,"type":["boolean"]},"created_at":{"readOnly":true,"format":"date-time","type":["string","null"],"description":"An ISO 8601 formatted timestamp of when the invoice was created."}},"links":[{"title":"List","description":"List invoices","href":"/invoices","method":"GET","rel":"instances","response_example":"invoices#index","targetSchema":{"$ref":"#/definitions/list/"}},{"title":"Show","description":"Show an invoice","href":"/invoices/{(%2Fdefinitions%2Finvoices%2Fdefinitions%2Fid)}","method":"GET","rel":"self","response_example":"invoices#show","targetSchema":{"$ref":"#/definitions/invoices/"}},{"title":"Create","description":"Create an invoice","href":"/invoices","method":"POST","rel":"create","response_example":"invoices#create","targetSchema":{"$ref":"#/definitions/invoices/"},"schema":{"type":["object"],"properties":{"customer":{"$ref":"#/definitions/customers/definitions/id"},"metadata":{"$ref":"#/definitions/subscriptions/definitions/metadata"}},"required":["customer"]}},{"title":"Preview","description":"Preview an upcoming invoice","href":"/invoices/preview","method":"GET","rel":"self","response_example":"invoices#preview","targetSchema":{"$ref":"#/definitions/invoices/"},"schema":{"type":["object"],"properties":{"subscription":{"$ref":"#/definitions/invoices/properties/subscription"}},"required":["subscription"]}}],"properties":{"id":{"$ref":"#/definitions/payments/definitions/id"},"resource":{"$ref":"#/definitions/invoices/definitions/resource"},"subscription":{"$ref":"#/definitions/subscriptions/definitions/id"},"paid":{"$ref":"#/definitions/invoices/definitions/paid"},"invoice_items":{"$ref":"#/definitions/list/"},"total":{"$ref":"#/definitions/payments/definitions/total"},"currency":{"$ref":"#/definitions/payments/definitions/currency"},"created_at":{"$ref":"#/definitions/invoices/definitions/created_at"}},"description":"Subscription Invoice","title":"Invoices"},"invoice_items":{"$schema":"http://json-schema.org/draft-04/hyper-schema","type":["object"],"definitions":{"id":{"example":"66a4824ac97cc7afff608f27c7","readOnly":true,"type":["string"],"description":"A unique identifier for the invoice items."},"resource":{"example":"invoice_item","readOnly":true,"enum":["invoice_item"],"description":"Name of resource"},"type":{"example":"invoice_item","readOnly":true,"enum":["invoice_item","plan"]},"plan":{"oneOf":[{"$ref":"#/definitions/plans/"},{"type":["null"]}]},"invoice":{"readOnly":true,"type":["string","null"]}},"links":[{"title":"List","description":"List invoice items","href":"/invoice_items","method":"GET","rel":"instances","response_example":"invoice_items#index","targetSchema":{"$ref":"#/definitions/list/"}},{"title":"Show","description":"Show an invoice item","href":"/invoice_items/{(%2Fdefinitions%2Finvoice_items%2Fdefinitions%2Fid)}","method":"GET","rel":"self","response_example":"invoice_items#show","targetSchema":{"$ref":"#/definitions/invoice_items/"}},{"title":"Create","description":"Create an invoice item","href":"/invoice_items","method":"POST","rel":"create","response_example":"invoice_items#create","targetSchema":{"$ref":"#/definitions/invoice_items/"},"schema":{"type":["object"],"properties":{"amount":{"$ref":"#/definitions/invoice_items/properties/amount"},"currency":{"$ref":"#/definitions/invoice_items/properties/currency"},"customer":{"$ref":"#/definitions/invoice_items/properties/customer"},"metadata":{"$ref":"#/definitions/invoice_items/properties/metadata"}},"required":["amount","currency","customer"]}},{"title":"Destroy","description":"Deletes an invoice item from the upcoming invoice.","href":"/invoice_items/{(%2Fdefinitions%2Finvoice_items%2Fdefinitions%2Fid)}","method":"DELETE","rel":"destroy","response_example":"invoice_items#destroy","targetSchema":{"$ref":"#/definitions/invoice_items/"}}],"properties":{"id":{"$ref":"#/definitions/payments/definitions/id"},"resource":{"$ref":"#/definitions/invoice_items/definitions/resource"},"type":{"$ref":"#/definitions/invoice_items/definitions/type"},"amount":{"$ref":"#/definitions/payments/definitions/amount"},"currency":{"$ref":"#/definitions/payments/definitions/currency"},"customer":{"$ref":"#/definitions/customers/definitions/id"},"invoice":{"$ref":"#/definitions/invoice_items/definitions/invoice"},"plan":{"$ref":"#/definitions/invoice_items/definitions/plan"},"metadata":{"$ref":"#/definitions/payments/definitions/metadata"}},"required":["id","resource","type","amount","customer","currency","invoice","metadata","plan"],"description":"Subscription Invoice Items","title":"Invoice Items"},"plans":{"$schema":"http://json-schema.org/draft-04/hyper-schema","type":["object"],"definitions":{"name":{"example":"name2","type":["string"],"description":"Name of the plan."},"resource":{"example":"plan","enum":["plan"],"description":"Name of resource"},"interval":{"example":"month","enum":["day","week","month","year"],"description":"The billing frequency of a subscription."},"interval_count":{"example":"1","type":["integer"],"minimum":1,"description":"The number of intervals before the end of each billing period. For example, `interval=month` and `interval_count=3` would bill every 3 months."},"amount":{"$ref":"#/definitions/payments/definitions/amount"},"tax_percent":{"type":["integer","null"]},"currency":{"$ref":"#/definitions/payments/definitions/currency"},"metadata":{"$ref":"#/definitions/payments/definitions/metadata"},"renewal_notice_days":{"example":1,"type":["integer"],"minimum":0},"created_at":{"example":"2015-03-06T06:52:35Z","format":"date-time","readOnly":true,"type":["string"],"description":"An ISO 8601 formatted timestamp of when the plan was created."}},"links":[{"title":"List","description":"List plans","href":"/plans","method":"GET","rel":"instances","response_example":"plans#index","targetSchema":{"$ref":"#/definitions/list/"}},{"title":"Show","description":"Show a plan","href":"/plans/{(%2Fdefinitions%2Fplans%2Fdefinitions%2Fname)}","method":"GET","rel":"self","response_example":"plans#show","targetSchema":{"$ref":"#/definitions/plans/"}},{"title":"Create","description":"Create a plan","href":"/plans","method":"POST","rel":"create","response_example":"plans#create","targetSchema":{"$ref":"#/definitions/plans/"},"schema":{"type":["object"],"properties":{"name":{"$ref":"#/definitions/plans/definitions/name"},"interval":{"$ref":"#/definitions/plans/definitions/interval"},"interval_count":{"$ref":"#/definitions/plans/definitions/interval_count"},"amount":{"$ref":"#/definitions/plans/definitions/amount"},"tax_percent":{"$ref":"#/definitions/plans/definitions/tax_percent"},"currency":{"$ref":"#/definitions/plans/definitions/currency"},"renewal_notice_days":{"$ref":"#/definitions/plans/definitions/renewal_notice_days"},"metadata":{"$ref":"#/definitions/plans/definitions/metadata"}},"required":["name","interval","amount","currency"]}},{"title":"Destroy","description":"Destroy a plan","href":"/plans/{(%2Fdefinitions%2Fplans%2Fdefinitions%2Fname)}","method":"DELETE","rel":"destroy","response_example":"plans#destroy","targetSchema":{"$ref":"#/definitions/plans/"}}],"properties":{"resource":{"$ref":"#/definitions/plans/definitions/resource"},"name":{"$ref":"#/definitions/plans/definitions/name"},"interval":{"$ref":"#/definitions/plans/definitions/interval"},"interval_count":{"$ref":"#/definitions/plans/definitions/interval_count"},"currency":{"$ref":"#/definitions/plans/definitions/currency"},"amount":{"$ref":"#/definitions/plans/definitions/amount"},"tax_percent":{"$ref":"#/definitions/plans/definitions/tax_percent"},"renewal_notice_days":{"$ref":"#/definitions/plans/definitions/renewal_notice_days"},"metadata":{"$ref":"#/definitions/plans/definitions/metadata"},"created_at":{"$ref":"#/definitions/plans/definitions/created_at"}},"description":"Subscription Plans","title":"Plans"},"tokens":{"$schema":"http://json-schema.org/draft-04/hyper-schema","type":["object"],"definitions":{"id":{"example":"tok_ed4119a0f69bc365286d5a9a8777f33cee024f19d532454e6abffccc42cf1452b6ad214de6b8e876cabc60ae6f","readOnly":true,"type":["string"],"description":"A unique identifier for the token."},"resource":{"example":"token","enum":["token"],"description":"Name of resource"},"payment_details":{"$ref":"#/definitions/payments/definitions/payment_details_response"},"created_at":{"example":"2015-03-06T06:52:35Z","format":"date-time","type":["string"],"description":"An ISO 8601 formatted timestamp of when the token was created."}},"links":[{"title":"Create","description":"Create a token","href":"/tokens","method":"POST","rel":"create","response_example":"tokens#create","targetSchema":{"$ref":"#/definitions/list/"},"schema":{"type":["object"],"properties":{"payment_details":{"$ref":"#/definitions/payments/definitions/payment_details_request"}},"required":["payment_details"],"additionalFields":false}}],"properties":{"id":{"$ref":"#/definitions/tokens/definitions/id"},"resource":{"$ref":"#/definitions/tokens/definitions/resource"},"created_at":{"$ref":"#/definitions/tokens/definitions/created_at"}},"description":"Token resource","title":"Tokens"}},"properties":{"events":{"$ref":"#/definitions/events"},"payments":{"$ref":"#/definitions/payments"},"payouts":{"$ref":"#/definitions/payouts"},"subscriptions":{"$ref":"#/definitions/subscriptions"},"customers":{"$ref":"#/definitions/customers"},"invoices":{"$ref":"#/definitions/invoices"},"invoice_items":{"$ref":"#/definitions/invoice_items"},"plans":{"$ref":"#/definitions/plans"},"tokens":{"$ref":"#/definitions/tokens"}},"type":["object"],"id":"komoju","links":[{"href":"https://komoju.com/api/v1","rel":"self"}],"description":"Komoju API auto-generated JSON Schema","title":"Komoju API"}
|
459
|
+
HEROICS_SCHEMA
|
460
|
+
end
|
data/lib/komoju/version.rb
CHANGED
data/lib/komoju.rb
CHANGED
@@ -1,5 +1,13 @@
|
|
1
|
-
require
|
1
|
+
require 'komoju/version'
|
2
|
+
require 'komoju/client'
|
2
3
|
|
3
4
|
module Komoju
|
4
|
-
|
5
|
+
def self.connect(api_key, options=nil)
|
6
|
+
options = custom_options(options)
|
7
|
+
uri = URI.parse(options[:url])
|
8
|
+
uri.user = api_key
|
9
|
+
uri.password = ""
|
10
|
+
client = Heroics.client_from_schema(SCHEMA, uri.to_s, options)
|
11
|
+
Client.new(client)
|
12
|
+
end
|
5
13
|
end
|
data/test/client_test.rb
ADDED
data/test/helper.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'komoju'
|