recurly 2.17.0 → 3.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +15 -0
  3. data/.changelog_config.yaml +11 -0
  4. data/.github/ISSUE_TEMPLATE/bug-report.md +30 -0
  5. data/.github/ISSUE_TEMPLATE/question-or-other.md +10 -0
  6. data/.github/workflows/ci.yml +29 -0
  7. data/.github/workflows/docs.yml +28 -0
  8. data/.gitignore +15 -0
  9. data/.rspec +2 -0
  10. data/.yardopts +2 -0
  11. data/CHANGELOG.md +496 -0
  12. data/CODE_OF_CONDUCT.md +130 -0
  13. data/CONTRIBUTING.md +106 -0
  14. data/GETTING_STARTED.md +319 -0
  15. data/Gemfile +4 -0
  16. data/LICENSE.txt +21 -0
  17. data/README.md +9 -153
  18. data/Rakefile +6 -0
  19. data/benchmark.rb +16 -0
  20. data/lib/data/ca-certificates.crt +3466 -0
  21. data/lib/recurly/client/operations.rb +3868 -0
  22. data/lib/recurly/client.rb +355 -0
  23. data/lib/recurly/connection_pool.rb +40 -0
  24. data/lib/recurly/errors/api_errors.rb +87 -0
  25. data/lib/recurly/errors/network_errors.rb +10 -0
  26. data/lib/recurly/errors.rb +68 -0
  27. data/lib/recurly/http.rb +50 -0
  28. data/lib/recurly/pager.rb +146 -0
  29. data/lib/recurly/request.rb +31 -0
  30. data/lib/recurly/requests/account_acquisition_cost.rb +18 -0
  31. data/lib/recurly/requests/account_acquisition_updatable.rb +26 -0
  32. data/lib/recurly/requests/account_create.rb +94 -0
  33. data/lib/recurly/requests/account_purchase.rb +94 -0
  34. data/lib/recurly/requests/account_update.rb +82 -0
  35. data/lib/recurly/requests/add_on_create.rb +94 -0
  36. data/lib/recurly/requests/add_on_pricing.rb +22 -0
  37. data/lib/recurly/requests/add_on_update.rb +74 -0
  38. data/lib/recurly/requests/address.rb +46 -0
  39. data/lib/recurly/requests/billing_info_create.rb +126 -0
  40. data/lib/recurly/requests/billing_info_verify.rb +14 -0
  41. data/lib/recurly/requests/coupon_bulk_create.rb +14 -0
  42. data/lib/recurly/requests/coupon_create.rb +102 -0
  43. data/lib/recurly/requests/coupon_pricing.rb +18 -0
  44. data/lib/recurly/requests/coupon_redemption_create.rb +22 -0
  45. data/lib/recurly/requests/coupon_update.rb +34 -0
  46. data/lib/recurly/requests/custom_field.rb +18 -0
  47. data/lib/recurly/requests/dunning_campaigns_bulk_update.rb +18 -0
  48. data/lib/recurly/requests/external_refund.rb +22 -0
  49. data/lib/recurly/requests/external_transaction.rb +26 -0
  50. data/lib/recurly/requests/invoice_address.rb +54 -0
  51. data/lib/recurly/requests/invoice_collect.rb +22 -0
  52. data/lib/recurly/requests/invoice_create.rb +42 -0
  53. data/lib/recurly/requests/invoice_refund.rb +34 -0
  54. data/lib/recurly/requests/invoice_updatable.rb +34 -0
  55. data/lib/recurly/requests/item_create.rb +58 -0
  56. data/lib/recurly/requests/item_update.rb +58 -0
  57. data/lib/recurly/requests/line_item_create.rb +86 -0
  58. data/lib/recurly/requests/line_item_refund.rb +26 -0
  59. data/lib/recurly/requests/measured_unit_create.rb +22 -0
  60. data/lib/recurly/requests/measured_unit_update.rb +22 -0
  61. data/lib/recurly/requests/plan_create.rb +114 -0
  62. data/lib/recurly/requests/plan_hosted_pages.rb +26 -0
  63. data/lib/recurly/requests/plan_pricing.rb +26 -0
  64. data/lib/recurly/requests/plan_ramp_interval.rb +18 -0
  65. data/lib/recurly/requests/plan_ramp_pricing.rb +18 -0
  66. data/lib/recurly/requests/plan_update.rb +102 -0
  67. data/lib/recurly/requests/pricing.rb +22 -0
  68. data/lib/recurly/requests/purchase_create.rb +78 -0
  69. data/lib/recurly/requests/shipping_address_create.rb +62 -0
  70. data/lib/recurly/requests/shipping_address_update.rb +66 -0
  71. data/lib/recurly/requests/shipping_fee_create.rb +22 -0
  72. data/lib/recurly/requests/shipping_method_create.rb +26 -0
  73. data/lib/recurly/requests/shipping_method_update.rb +26 -0
  74. data/lib/recurly/requests/shipping_purchase.rb +22 -0
  75. data/lib/recurly/requests/subscription_add_on_create.rb +38 -0
  76. data/lib/recurly/requests/subscription_add_on_tier.rb +18 -0
  77. data/lib/recurly/requests/subscription_add_on_update.rb +42 -0
  78. data/lib/recurly/requests/subscription_cancel.rb +14 -0
  79. data/lib/recurly/requests/subscription_change_billing_info_create.rb +14 -0
  80. data/lib/recurly/requests/subscription_change_create.rb +78 -0
  81. data/lib/recurly/requests/subscription_change_shipping_create.rb +22 -0
  82. data/lib/recurly/requests/subscription_create.rb +118 -0
  83. data/lib/recurly/requests/subscription_pause.rb +14 -0
  84. data/lib/recurly/requests/subscription_purchase.rb +74 -0
  85. data/lib/recurly/requests/subscription_ramp_interval.rb +18 -0
  86. data/lib/recurly/requests/subscription_shipping_create.rb +30 -0
  87. data/lib/recurly/requests/subscription_shipping_purchase.rb +22 -0
  88. data/lib/recurly/requests/subscription_shipping_update.rb +22 -0
  89. data/lib/recurly/requests/subscription_update.rb +66 -0
  90. data/lib/recurly/requests/tier.rb +18 -0
  91. data/lib/recurly/requests/usage_create.rb +26 -0
  92. data/lib/recurly/requests.rb +8 -0
  93. data/lib/recurly/resource.rb +23 -1082
  94. data/lib/recurly/resources/account.rb +134 -0
  95. data/lib/recurly/resources/account_acquisition.rb +46 -0
  96. data/lib/recurly/resources/account_acquisition_cost.rb +18 -0
  97. data/lib/recurly/resources/account_balance.rb +26 -0
  98. data/lib/recurly/resources/account_balance_amount.rb +26 -0
  99. data/lib/recurly/resources/account_mini.rb +50 -0
  100. data/lib/recurly/resources/account_note.rb +34 -0
  101. data/lib/recurly/resources/add_on.rb +114 -0
  102. data/lib/recurly/resources/add_on_mini.rb +54 -0
  103. data/lib/recurly/resources/add_on_pricing.rb +22 -0
  104. data/lib/recurly/resources/address.rb +46 -0
  105. data/lib/recurly/resources/billing_info.rb +74 -0
  106. data/lib/recurly/resources/billing_info_updated_by.rb +18 -0
  107. data/lib/recurly/resources/binary_file.rb +14 -0
  108. data/lib/recurly/resources/coupon.rb +138 -0
  109. data/lib/recurly/resources/coupon_discount.rb +26 -0
  110. data/lib/recurly/resources/coupon_discount_pricing.rb +18 -0
  111. data/lib/recurly/resources/coupon_discount_trial.rb +18 -0
  112. data/lib/recurly/resources/coupon_mini.rb +42 -0
  113. data/lib/recurly/resources/coupon_redemption.rb +54 -0
  114. data/lib/recurly/resources/coupon_redemption_mini.rb +34 -0
  115. data/lib/recurly/resources/credit_payment.rb +66 -0
  116. data/lib/recurly/resources/custom_field.rb +18 -0
  117. data/lib/recurly/resources/custom_field_definition.rb +50 -0
  118. data/lib/recurly/resources/dunning_campaign.rb +50 -0
  119. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +18 -0
  120. data/lib/recurly/resources/dunning_cycle.rb +58 -0
  121. data/lib/recurly/resources/dunning_interval.rb +18 -0
  122. data/lib/recurly/resources/error.rb +22 -0
  123. data/lib/recurly/resources/error_may_have_transaction.rb +26 -0
  124. data/lib/recurly/resources/export_dates.rb +18 -0
  125. data/lib/recurly/resources/export_file.rb +22 -0
  126. data/lib/recurly/resources/export_files.rb +18 -0
  127. data/lib/recurly/resources/fraud_info.rb +22 -0
  128. data/lib/recurly/resources/invoice.rb +154 -0
  129. data/lib/recurly/resources/invoice_address.rb +54 -0
  130. data/lib/recurly/resources/invoice_collection.rb +22 -0
  131. data/lib/recurly/resources/invoice_mini.rb +30 -0
  132. data/lib/recurly/resources/item.rb +82 -0
  133. data/lib/recurly/resources/item_mini.rb +34 -0
  134. data/lib/recurly/resources/line_item.rb +214 -0
  135. data/lib/recurly/resources/line_item_list.rb +26 -0
  136. data/lib/recurly/resources/measured_unit.rb +46 -0
  137. data/lib/recurly/resources/payment_method.rb +70 -0
  138. data/lib/recurly/resources/plan.rb +134 -0
  139. data/lib/recurly/resources/plan_hosted_pages.rb +26 -0
  140. data/lib/recurly/resources/plan_mini.rb +26 -0
  141. data/lib/recurly/resources/plan_pricing.rb +26 -0
  142. data/lib/recurly/resources/plan_ramp_interval.rb +18 -0
  143. data/lib/recurly/resources/plan_ramp_pricing.rb +18 -0
  144. data/lib/recurly/resources/pricing.rb +22 -0
  145. data/lib/recurly/resources/settings.rb +22 -0
  146. data/lib/recurly/resources/shipping_address.rb +82 -0
  147. data/lib/recurly/resources/shipping_method.rb +46 -0
  148. data/lib/recurly/resources/shipping_method_mini.rb +26 -0
  149. data/lib/recurly/resources/site.rb +54 -0
  150. data/lib/recurly/resources/subscription.rb +190 -0
  151. data/lib/recurly/resources/subscription_add_on.rb +66 -0
  152. data/lib/recurly/resources/subscription_add_on_tier.rb +18 -0
  153. data/lib/recurly/resources/subscription_change.rb +90 -0
  154. data/lib/recurly/resources/subscription_change_billing_info.rb +14 -0
  155. data/lib/recurly/resources/subscription_change_preview.rb +90 -0
  156. data/lib/recurly/resources/subscription_ramp_interval_response.rb +22 -0
  157. data/lib/recurly/resources/subscription_shipping.rb +26 -0
  158. data/lib/recurly/resources/tax_detail.rb +26 -0
  159. data/lib/recurly/resources/tax_info.rb +26 -0
  160. data/lib/recurly/resources/tier.rb +18 -0
  161. data/lib/recurly/resources/transaction.rb +162 -0
  162. data/lib/recurly/resources/transaction_error.rb +38 -0
  163. data/lib/recurly/resources/transaction_payment_gateway.rb +26 -0
  164. data/lib/recurly/resources/unique_coupon_code.rb +50 -0
  165. data/lib/recurly/resources/usage.rb +70 -0
  166. data/lib/recurly/resources/user.rb +42 -0
  167. data/lib/recurly/resources.rb +18 -0
  168. data/lib/recurly/schema/file_parser.rb +13 -0
  169. data/lib/recurly/schema/json_parser.rb +72 -0
  170. data/lib/recurly/schema/request_caster.rb +60 -0
  171. data/lib/recurly/schema/resource_caster.rb +46 -0
  172. data/lib/recurly/schema/schema_factory.rb +48 -0
  173. data/lib/recurly/schema/schema_validator.rb +144 -0
  174. data/lib/recurly/schema.rb +156 -0
  175. data/lib/recurly/version.rb +1 -15
  176. data/lib/recurly.rb +15 -137
  177. data/openapi/api.yaml +22373 -0
  178. data/recurly.gemspec +39 -0
  179. data/scripts/build +5 -0
  180. data/scripts/clean +6 -0
  181. data/scripts/format +12 -0
  182. data/scripts/prepare-release +50 -0
  183. data/scripts/release +17 -0
  184. data/scripts/test +15 -0
  185. metadata +216 -165
  186. data/lib/recurly/account.rb +0 -169
  187. data/lib/recurly/account_balance.rb +0 -21
  188. data/lib/recurly/add_on.rb +0 -30
  189. data/lib/recurly/address.rb +0 -25
  190. data/lib/recurly/adjustment.rb +0 -76
  191. data/lib/recurly/api/errors.rb +0 -206
  192. data/lib/recurly/api/net_http_adapter.rb +0 -111
  193. data/lib/recurly/api.rb +0 -101
  194. data/lib/recurly/billing_info.rb +0 -80
  195. data/lib/recurly/coupon.rb +0 -134
  196. data/lib/recurly/credit_payment.rb +0 -28
  197. data/lib/recurly/custom_field.rb +0 -15
  198. data/lib/recurly/delivery.rb +0 -19
  199. data/lib/recurly/error.rb +0 -13
  200. data/lib/recurly/gift_card.rb +0 -79
  201. data/lib/recurly/helper.rb +0 -51
  202. data/lib/recurly/invoice.rb +0 -268
  203. data/lib/recurly/invoice_collection.rb +0 -14
  204. data/lib/recurly/js.rb +0 -14
  205. data/lib/recurly/juris_detail.rb +0 -14
  206. data/lib/recurly/measured_unit.rb +0 -16
  207. data/lib/recurly/money.rb +0 -120
  208. data/lib/recurly/plan.rb +0 -40
  209. data/lib/recurly/purchase.rb +0 -219
  210. data/lib/recurly/redemption.rb +0 -46
  211. data/lib/recurly/resource/association.rb +0 -16
  212. data/lib/recurly/resource/errors.rb +0 -20
  213. data/lib/recurly/resource/pager.rb +0 -314
  214. data/lib/recurly/shipping_address.rb +0 -22
  215. data/lib/recurly/subscription/add_ons.rb +0 -77
  216. data/lib/recurly/subscription.rb +0 -325
  217. data/lib/recurly/subscription_add_on.rb +0 -50
  218. data/lib/recurly/tax_detail.rb +0 -14
  219. data/lib/recurly/tax_type.rb +0 -12
  220. data/lib/recurly/transaction/errors.rb +0 -107
  221. data/lib/recurly/transaction.rb +0 -116
  222. data/lib/recurly/usage.rb +0 -24
  223. data/lib/recurly/webhook/account_notification.rb +0 -10
  224. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  225. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  226. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  227. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  228. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  229. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  230. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  231. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  232. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  233. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  234. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  235. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  236. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  237. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  238. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  239. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  240. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  241. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  242. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  243. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  244. data/lib/recurly/webhook/notification.rb +0 -18
  245. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  246. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  247. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  248. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  249. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  250. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  251. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  252. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  253. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  254. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  255. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  256. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  257. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  258. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  259. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  260. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  261. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  262. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  263. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  264. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  265. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  266. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  267. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  268. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  269. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  270. data/lib/recurly/webhook.rb +0 -88
  271. data/lib/recurly/xml/nokogiri.rb +0 -58
  272. data/lib/recurly/xml/rexml.rb +0 -50
  273. data/lib/recurly/xml.rb +0 -120
@@ -0,0 +1,82 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ShippingAddress < Resource
8
+
9
+ # @!attribute account_id
10
+ # @return [String] Account ID
11
+ define_attribute :account_id, String
12
+
13
+ # @!attribute city
14
+ # @return [String]
15
+ define_attribute :city, String
16
+
17
+ # @!attribute company
18
+ # @return [String]
19
+ define_attribute :company, String
20
+
21
+ # @!attribute country
22
+ # @return [String] Country, 2-letter ISO 3166-1 alpha-2 code.
23
+ define_attribute :country, String
24
+
25
+ # @!attribute created_at
26
+ # @return [DateTime] Created at
27
+ define_attribute :created_at, DateTime
28
+
29
+ # @!attribute email
30
+ # @return [String]
31
+ define_attribute :email, String
32
+
33
+ # @!attribute first_name
34
+ # @return [String]
35
+ define_attribute :first_name, String
36
+
37
+ # @!attribute id
38
+ # @return [String] Shipping Address ID
39
+ define_attribute :id, String
40
+
41
+ # @!attribute last_name
42
+ # @return [String]
43
+ define_attribute :last_name, String
44
+
45
+ # @!attribute nickname
46
+ # @return [String]
47
+ define_attribute :nickname, String
48
+
49
+ # @!attribute object
50
+ # @return [String] Object type
51
+ define_attribute :object, String
52
+
53
+ # @!attribute phone
54
+ # @return [String]
55
+ define_attribute :phone, String
56
+
57
+ # @!attribute postal_code
58
+ # @return [String] Zip or postal code.
59
+ define_attribute :postal_code, String
60
+
61
+ # @!attribute region
62
+ # @return [String] State or province.
63
+ define_attribute :region, String
64
+
65
+ # @!attribute street1
66
+ # @return [String]
67
+ define_attribute :street1, String
68
+
69
+ # @!attribute street2
70
+ # @return [String]
71
+ define_attribute :street2, String
72
+
73
+ # @!attribute updated_at
74
+ # @return [DateTime] Updated at
75
+ define_attribute :updated_at, DateTime
76
+
77
+ # @!attribute vat_number
78
+ # @return [String]
79
+ define_attribute :vat_number, String
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,46 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ShippingMethod < Resource
8
+
9
+ # @!attribute accounting_code
10
+ # @return [String] Accounting code for shipping method.
11
+ define_attribute :accounting_code, String
12
+
13
+ # @!attribute code
14
+ # @return [String] The internal name used identify the shipping method.
15
+ define_attribute :code, String
16
+
17
+ # @!attribute created_at
18
+ # @return [DateTime] Created at
19
+ define_attribute :created_at, DateTime
20
+
21
+ # @!attribute deleted_at
22
+ # @return [DateTime] Deleted at
23
+ define_attribute :deleted_at, DateTime
24
+
25
+ # @!attribute id
26
+ # @return [String] Shipping Method ID
27
+ define_attribute :id, String
28
+
29
+ # @!attribute name
30
+ # @return [String] The name of the shipping method displayed to customers.
31
+ define_attribute :name, String
32
+
33
+ # @!attribute object
34
+ # @return [String] Object type
35
+ define_attribute :object, String
36
+
37
+ # @!attribute tax_code
38
+ # @return [String] Used by Avalara, Vertex, and Recurly’s built-in tax feature. The tax code values are specific to each tax system. If you are using Recurly’s built-in taxes the values are: - `FR` – Common Carrier FOB Destination - `FR022000` – Common Carrier FOB Origin - `FR020400` – Non Common Carrier FOB Destination - `FR020500` – Non Common Carrier FOB Origin - `FR010100` – Delivery by Company Vehicle Before Passage of Title - `FR010200` – Delivery by Company Vehicle After Passage of Title - `NT` – Non-Taxable
39
+ define_attribute :tax_code, String
40
+
41
+ # @!attribute updated_at
42
+ # @return [DateTime] Last updated at
43
+ define_attribute :updated_at, DateTime
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,26 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ShippingMethodMini < Resource
8
+
9
+ # @!attribute code
10
+ # @return [String] The internal name used identify the shipping method.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute id
14
+ # @return [String] Shipping Method ID
15
+ define_attribute :id, String
16
+
17
+ # @!attribute name
18
+ # @return [String] The name of the shipping method displayed to customers.
19
+ define_attribute :name, String
20
+
21
+ # @!attribute object
22
+ # @return [String] Object type
23
+ define_attribute :object, String
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,54 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class Site < Resource
8
+
9
+ # @!attribute address
10
+ # @return [Address]
11
+ define_attribute :address, :Address
12
+
13
+ # @!attribute created_at
14
+ # @return [DateTime] Created at
15
+ define_attribute :created_at, DateTime
16
+
17
+ # @!attribute deleted_at
18
+ # @return [DateTime] Deleted at
19
+ define_attribute :deleted_at, DateTime
20
+
21
+ # @!attribute features
22
+ # @return [Array[String]] A list of features enabled for the site.
23
+ define_attribute :features, Array, { :item_type => String }
24
+
25
+ # @!attribute id
26
+ # @return [String] Site ID
27
+ define_attribute :id, String
28
+
29
+ # @!attribute mode
30
+ # @return [String] Mode
31
+ define_attribute :mode, String
32
+
33
+ # @!attribute object
34
+ # @return [String] Object type
35
+ define_attribute :object, String
36
+
37
+ # @!attribute public_api_key
38
+ # @return [String] This value is used to configure RecurlyJS to submit tokenized billing information.
39
+ define_attribute :public_api_key, String
40
+
41
+ # @!attribute settings
42
+ # @return [Settings]
43
+ define_attribute :settings, :Settings
44
+
45
+ # @!attribute subdomain
46
+ # @return [String]
47
+ define_attribute :subdomain, String
48
+
49
+ # @!attribute updated_at
50
+ # @return [DateTime] Updated at
51
+ define_attribute :updated_at, DateTime
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,190 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class Subscription < Resource
8
+
9
+ # @!attribute account
10
+ # @return [AccountMini] Account mini details
11
+ define_attribute :account, :AccountMini
12
+
13
+ # @!attribute activated_at
14
+ # @return [DateTime] Activated at
15
+ define_attribute :activated_at, DateTime
16
+
17
+ # @!attribute active_invoice_id
18
+ # @return [String] The invoice ID of the latest invoice created for an active subscription.
19
+ define_attribute :active_invoice_id, String
20
+
21
+ # @!attribute add_ons
22
+ # @return [Array[SubscriptionAddOn]] Add-ons
23
+ define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOn }
24
+
25
+ # @!attribute add_ons_total
26
+ # @return [Float] Total price of add-ons
27
+ define_attribute :add_ons_total, Float
28
+
29
+ # @!attribute auto_renew
30
+ # @return [Boolean] Whether the subscription renews at the end of its term.
31
+ define_attribute :auto_renew, :Boolean
32
+
33
+ # @!attribute bank_account_authorized_at
34
+ # @return [DateTime] Recurring subscriptions paid with ACH will have this attribute set. This timestamp is used for alerting customers to reauthorize in 3 years in accordance with NACHA rules. If a subscription becomes inactive or the billing info is no longer a bank account, this timestamp is cleared.
35
+ define_attribute :bank_account_authorized_at, DateTime
36
+
37
+ # @!attribute billing_info_id
38
+ # @return [String] Billing Info ID.
39
+ define_attribute :billing_info_id, String
40
+
41
+ # @!attribute canceled_at
42
+ # @return [DateTime] Canceled at
43
+ define_attribute :canceled_at, DateTime
44
+
45
+ # @!attribute collection_method
46
+ # @return [String] Collection method
47
+ define_attribute :collection_method, String
48
+
49
+ # @!attribute coupon_redemptions
50
+ # @return [Array[CouponRedemptionMini]] Returns subscription level coupon redemptions that are tied to this subscription.
51
+ define_attribute :coupon_redemptions, Array, { :item_type => :CouponRedemptionMini }
52
+
53
+ # @!attribute created_at
54
+ # @return [DateTime] Created at
55
+ define_attribute :created_at, DateTime
56
+
57
+ # @!attribute currency
58
+ # @return [String] 3-letter ISO 4217 currency code.
59
+ define_attribute :currency, String
60
+
61
+ # @!attribute current_period_ends_at
62
+ # @return [DateTime] Current billing period ends at
63
+ define_attribute :current_period_ends_at, DateTime
64
+
65
+ # @!attribute current_period_started_at
66
+ # @return [DateTime] Current billing period started at
67
+ define_attribute :current_period_started_at, DateTime
68
+
69
+ # @!attribute current_term_ends_at
70
+ # @return [DateTime] When the term ends. This is calculated by a plan's interval and `total_billing_cycles` in a term. Subscription changes with a `timeframe=renewal` will be applied on this date.
71
+ define_attribute :current_term_ends_at, DateTime
72
+
73
+ # @!attribute current_term_started_at
74
+ # @return [DateTime] The start date of the term when the first billing period starts. The subscription term is the length of time that a customer will be committed to a subscription. A term can span multiple billing periods.
75
+ define_attribute :current_term_started_at, DateTime
76
+
77
+ # @!attribute custom_fields
78
+ # @return [Array[CustomField]] The custom fields will only be altered when they are included in a request. Sending an empty array will not remove any existing values. To remove a field send the name with a null or empty value.
79
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
80
+
81
+ # @!attribute customer_notes
82
+ # @return [String] Customer notes
83
+ define_attribute :customer_notes, String
84
+
85
+ # @!attribute expiration_reason
86
+ # @return [String] Expiration reason
87
+ define_attribute :expiration_reason, String
88
+
89
+ # @!attribute expires_at
90
+ # @return [DateTime] Expires at
91
+ define_attribute :expires_at, DateTime
92
+
93
+ # @!attribute id
94
+ # @return [String] Subscription ID
95
+ define_attribute :id, String
96
+
97
+ # @!attribute net_terms
98
+ # @return [Integer] Integer representing the number of days after an invoice's creation that the invoice will become past due. If an invoice's net terms are set to '0', it is due 'On Receipt' and will become past due 24 hours after it’s created. If an invoice is due net 30, it will become past due at 31 days exactly.
99
+ define_attribute :net_terms, Integer
100
+
101
+ # @!attribute object
102
+ # @return [String] Object type
103
+ define_attribute :object, String
104
+
105
+ # @!attribute paused_at
106
+ # @return [DateTime] Null unless subscription is paused or will pause at the end of the current billing period.
107
+ define_attribute :paused_at, DateTime
108
+
109
+ # @!attribute pending_change
110
+ # @return [SubscriptionChange] Subscription Change
111
+ define_attribute :pending_change, :SubscriptionChange
112
+
113
+ # @!attribute plan
114
+ # @return [PlanMini] Just the important parts.
115
+ define_attribute :plan, :PlanMini
116
+
117
+ # @!attribute po_number
118
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
119
+ define_attribute :po_number, String
120
+
121
+ # @!attribute quantity
122
+ # @return [Integer] Subscription quantity
123
+ define_attribute :quantity, Integer
124
+
125
+ # @!attribute ramp_intervals
126
+ # @return [Array[SubscriptionRampIntervalResponse]] The ramp intervals representing the pricing schedule for the subscription.
127
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampIntervalResponse }
128
+
129
+ # @!attribute remaining_billing_cycles
130
+ # @return [Integer] The remaining billing cycles in the current term.
131
+ define_attribute :remaining_billing_cycles, Integer
132
+
133
+ # @!attribute remaining_pause_cycles
134
+ # @return [Integer] Null unless subscription is paused or will pause at the end of the current billing period.
135
+ define_attribute :remaining_pause_cycles, Integer
136
+
137
+ # @!attribute renewal_billing_cycles
138
+ # @return [Integer] If `auto_renew=true`, when a term completes, `total_billing_cycles` takes this value as the length of subsequent terms. Defaults to the plan's `total_billing_cycles`.
139
+ define_attribute :renewal_billing_cycles, Integer
140
+
141
+ # @!attribute revenue_schedule_type
142
+ # @return [String] Revenue schedule type
143
+ define_attribute :revenue_schedule_type, String
144
+
145
+ # @!attribute shipping
146
+ # @return [SubscriptionShipping] Subscription shipping details
147
+ define_attribute :shipping, :SubscriptionShipping
148
+
149
+ # @!attribute state
150
+ # @return [String] State
151
+ define_attribute :state, String
152
+
153
+ # @!attribute subtotal
154
+ # @return [Float] Estimated total, before tax.
155
+ define_attribute :subtotal, Float
156
+
157
+ # @!attribute tax_inclusive
158
+ # @return [Boolean] Determines whether or not tax is included in the unit amount. The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing feature) must be enabled to utilize this flag.
159
+ define_attribute :tax_inclusive, :Boolean
160
+
161
+ # @!attribute terms_and_conditions
162
+ # @return [String] Terms and conditions
163
+ define_attribute :terms_and_conditions, String
164
+
165
+ # @!attribute total_billing_cycles
166
+ # @return [Integer] The number of cycles/billing periods in a term. When `remaining_billing_cycles=0`, if `auto_renew=true` the subscription will renew and a new term will begin, otherwise the subscription will expire.
167
+ define_attribute :total_billing_cycles, Integer
168
+
169
+ # @!attribute trial_ends_at
170
+ # @return [DateTime] Trial period ends at
171
+ define_attribute :trial_ends_at, DateTime
172
+
173
+ # @!attribute trial_started_at
174
+ # @return [DateTime] Trial period started at
175
+ define_attribute :trial_started_at, DateTime
176
+
177
+ # @!attribute unit_amount
178
+ # @return [Float] Subscription unit price
179
+ define_attribute :unit_amount, Float
180
+
181
+ # @!attribute updated_at
182
+ # @return [DateTime] Last updated at
183
+ define_attribute :updated_at, DateTime
184
+
185
+ # @!attribute uuid
186
+ # @return [String] The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.
187
+ define_attribute :uuid, String
188
+ end
189
+ end
190
+ end
@@ -0,0 +1,66 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class SubscriptionAddOn < Resource
8
+
9
+ # @!attribute add_on
10
+ # @return [AddOnMini] Just the important parts.
11
+ define_attribute :add_on, :AddOnMini
12
+
13
+ # @!attribute add_on_source
14
+ # @return [String] Used to determine where the associated add-on data is pulled from. If this value is set to `plan_add_on` or left blank, then add-on data will be pulled from the plan's add-ons. If the associated `plan` has `allow_any_item_on_subscriptions` set to `true` and this field is set to `item`, then the associated add-on data will be pulled from the site's item catalog.
15
+ define_attribute :add_on_source, String
16
+
17
+ # @!attribute created_at
18
+ # @return [DateTime] Created at
19
+ define_attribute :created_at, DateTime
20
+
21
+ # @!attribute expired_at
22
+ # @return [DateTime] Expired at
23
+ define_attribute :expired_at, DateTime
24
+
25
+ # @!attribute id
26
+ # @return [String] Subscription Add-on ID
27
+ define_attribute :id, String
28
+
29
+ # @!attribute object
30
+ # @return [String] Object type
31
+ define_attribute :object, String
32
+
33
+ # @!attribute quantity
34
+ # @return [Integer] Add-on quantity
35
+ define_attribute :quantity, Integer
36
+
37
+ # @!attribute revenue_schedule_type
38
+ # @return [String] Revenue schedule type
39
+ define_attribute :revenue_schedule_type, String
40
+
41
+ # @!attribute subscription_id
42
+ # @return [String] Subscription ID
43
+ define_attribute :subscription_id, String
44
+
45
+ # @!attribute tier_type
46
+ # @return [String] The type of tiering used by the Add-on.
47
+ define_attribute :tier_type, String
48
+
49
+ # @!attribute tiers
50
+ # @return [Array[SubscriptionAddOnTier]] If tiers are provided in the request, all existing tiers on the Subscription Add-on will be removed and replaced by the tiers in the request.
51
+ define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
52
+
53
+ # @!attribute unit_amount
54
+ # @return [Float] This is priced in the subscription's currency.
55
+ define_attribute :unit_amount, Float
56
+
57
+ # @!attribute updated_at
58
+ # @return [DateTime] Updated at
59
+ define_attribute :updated_at, DateTime
60
+
61
+ # @!attribute usage_percentage
62
+ # @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if add_on_type is usage and usage_type is percentage.
63
+ define_attribute :usage_percentage, Float
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class SubscriptionAddOnTier < Resource
8
+
9
+ # @!attribute ending_quantity
10
+ # @return [Integer] Ending quantity
11
+ define_attribute :ending_quantity, Integer
12
+
13
+ # @!attribute unit_amount
14
+ # @return [Float] Unit amount
15
+ define_attribute :unit_amount, Float
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,90 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class SubscriptionChange < Resource
8
+
9
+ # @!attribute activate_at
10
+ # @return [DateTime] Activated at
11
+ define_attribute :activate_at, DateTime
12
+
13
+ # @!attribute activated
14
+ # @return [Boolean] Returns `true` if the subscription change is activated.
15
+ define_attribute :activated, :Boolean
16
+
17
+ # @!attribute add_ons
18
+ # @return [Array[SubscriptionAddOn]] These add-ons will be used when the subscription renews.
19
+ define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOn }
20
+
21
+ # @!attribute billing_info
22
+ # @return [SubscriptionChangeBillingInfo] Accept nested attributes for three_d_secure_action_result_token_id
23
+ define_attribute :billing_info, :SubscriptionChangeBillingInfo
24
+
25
+ # @!attribute created_at
26
+ # @return [DateTime] Created at
27
+ define_attribute :created_at, DateTime
28
+
29
+ # @!attribute custom_fields
30
+ # @return [Array[CustomField]] The custom fields will only be altered when they are included in a request. Sending an empty array will not remove any existing values. To remove a field send the name with a null or empty value.
31
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
32
+
33
+ # @!attribute deleted_at
34
+ # @return [DateTime] Deleted at
35
+ define_attribute :deleted_at, DateTime
36
+
37
+ # @!attribute id
38
+ # @return [String] The ID of the Subscription Change.
39
+ define_attribute :id, String
40
+
41
+ # @!attribute invoice_collection
42
+ # @return [InvoiceCollection] Invoice Collection
43
+ define_attribute :invoice_collection, :InvoiceCollection
44
+
45
+ # @!attribute object
46
+ # @return [String] Object type
47
+ define_attribute :object, String
48
+
49
+ # @!attribute plan
50
+ # @return [PlanMini] Just the important parts.
51
+ define_attribute :plan, :PlanMini
52
+
53
+ # @!attribute quantity
54
+ # @return [Integer] Subscription quantity
55
+ define_attribute :quantity, Integer
56
+
57
+ # @!attribute ramp_intervals
58
+ # @return [Array[SubscriptionRampIntervalResponse]] The ramp intervals representing the pricing schedule for the subscription.
59
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampIntervalResponse }
60
+
61
+ # @!attribute revenue_schedule_type
62
+ # @return [String] Revenue schedule type
63
+ define_attribute :revenue_schedule_type, String
64
+
65
+ # @!attribute setup_fee_revenue_schedule_type
66
+ # @return [String] Setup fee revenue schedule type
67
+ define_attribute :setup_fee_revenue_schedule_type, String
68
+
69
+ # @!attribute shipping
70
+ # @return [SubscriptionShipping] Subscription shipping details
71
+ define_attribute :shipping, :SubscriptionShipping
72
+
73
+ # @!attribute subscription_id
74
+ # @return [String] The ID of the subscription that is going to be changed.
75
+ define_attribute :subscription_id, String
76
+
77
+ # @!attribute tax_inclusive
78
+ # @return [Boolean] This field is deprecated. Please do not use it.
79
+ define_attribute :tax_inclusive, :Boolean
80
+
81
+ # @!attribute unit_amount
82
+ # @return [Float] Unit amount
83
+ define_attribute :unit_amount, Float
84
+
85
+ # @!attribute updated_at
86
+ # @return [DateTime] Updated at
87
+ define_attribute :updated_at, DateTime
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,14 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class SubscriptionChangeBillingInfo < Resource
8
+
9
+ # @!attribute three_d_secure_action_result_token_id
10
+ # @return [String] A token generated by Recurly.js after completing a 3-D Secure device fingerprinting or authentication challenge.
11
+ define_attribute :three_d_secure_action_result_token_id, String
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,90 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class SubscriptionChangePreview < Resource
8
+
9
+ # @!attribute activate_at
10
+ # @return [DateTime] Activated at
11
+ define_attribute :activate_at, DateTime
12
+
13
+ # @!attribute activated
14
+ # @return [Boolean] Returns `true` if the subscription change is activated.
15
+ define_attribute :activated, :Boolean
16
+
17
+ # @!attribute add_ons
18
+ # @return [Array[SubscriptionAddOn]] These add-ons will be used when the subscription renews.
19
+ define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOn }
20
+
21
+ # @!attribute billing_info
22
+ # @return [SubscriptionChangeBillingInfo] Accept nested attributes for three_d_secure_action_result_token_id
23
+ define_attribute :billing_info, :SubscriptionChangeBillingInfo
24
+
25
+ # @!attribute created_at
26
+ # @return [DateTime] Created at
27
+ define_attribute :created_at, DateTime
28
+
29
+ # @!attribute custom_fields
30
+ # @return [Array[CustomField]] The custom fields will only be altered when they are included in a request. Sending an empty array will not remove any existing values. To remove a field send the name with a null or empty value.
31
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
32
+
33
+ # @!attribute deleted_at
34
+ # @return [DateTime] Deleted at
35
+ define_attribute :deleted_at, DateTime
36
+
37
+ # @!attribute id
38
+ # @return [String] The ID of the Subscription Change.
39
+ define_attribute :id, String
40
+
41
+ # @!attribute invoice_collection
42
+ # @return [InvoiceCollection] Invoice Collection
43
+ define_attribute :invoice_collection, :InvoiceCollection
44
+
45
+ # @!attribute object
46
+ # @return [String] Object type
47
+ define_attribute :object, String
48
+
49
+ # @!attribute plan
50
+ # @return [PlanMini] Just the important parts.
51
+ define_attribute :plan, :PlanMini
52
+
53
+ # @!attribute quantity
54
+ # @return [Integer] Subscription quantity
55
+ define_attribute :quantity, Integer
56
+
57
+ # @!attribute ramp_intervals
58
+ # @return [Array[SubscriptionRampIntervalResponse]] The ramp intervals representing the pricing schedule for the subscription.
59
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampIntervalResponse }
60
+
61
+ # @!attribute revenue_schedule_type
62
+ # @return [String] Revenue schedule type
63
+ define_attribute :revenue_schedule_type, String
64
+
65
+ # @!attribute setup_fee_revenue_schedule_type
66
+ # @return [String] Setup fee revenue schedule type
67
+ define_attribute :setup_fee_revenue_schedule_type, String
68
+
69
+ # @!attribute shipping
70
+ # @return [SubscriptionShipping] Subscription shipping details
71
+ define_attribute :shipping, :SubscriptionShipping
72
+
73
+ # @!attribute subscription_id
74
+ # @return [String] The ID of the subscription that is going to be changed.
75
+ define_attribute :subscription_id, String
76
+
77
+ # @!attribute tax_inclusive
78
+ # @return [Boolean] This field is deprecated. Please do not use it.
79
+ define_attribute :tax_inclusive, :Boolean
80
+
81
+ # @!attribute unit_amount
82
+ # @return [Float] Unit amount
83
+ define_attribute :unit_amount, Float
84
+
85
+ # @!attribute updated_at
86
+ # @return [DateTime] Updated at
87
+ define_attribute :updated_at, DateTime
88
+ end
89
+ end
90
+ end