recurly 2.17.5 → 4.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) 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 +295 -0
  12. data/CODE_OF_CONDUCT.md +130 -0
  13. data/CONTRIBUTING.md +106 -0
  14. data/GETTING_STARTED.md +330 -0
  15. data/Gemfile +4 -0
  16. data/LICENSE.txt +21 -0
  17. data/README.md +9 -148
  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 +4079 -0
  22. data/lib/recurly/client.rb +400 -0
  23. data/lib/recurly/connection_pool.rb +42 -0
  24. data/lib/recurly/errors/api_errors.rb +90 -0
  25. data/lib/recurly/errors/network_errors.rb +7 -0
  26. data/lib/recurly/errors.rb +51 -0
  27. data/lib/recurly/http.rb +50 -0
  28. data/lib/recurly/pager.rb +136 -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_update.rb +26 -0
  32. data/lib/recurly/requests/account_create.rb +98 -0
  33. data/lib/recurly/requests/account_purchase.rb +98 -0
  34. data/lib/recurly/requests/account_update.rb +86 -0
  35. data/lib/recurly/requests/add_on_create.rb +102 -0
  36. data/lib/recurly/requests/add_on_pricing.rb +26 -0
  37. data/lib/recurly/requests/add_on_update.rb +78 -0
  38. data/lib/recurly/requests/address.rb +38 -0
  39. data/lib/recurly/requests/billing_info_create.rb +134 -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_update.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 +22 -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/percentage_tier.rb +18 -0
  62. data/lib/recurly/requests/percentage_tiers_by_currency.rb +18 -0
  63. data/lib/recurly/requests/plan_create.rb +102 -0
  64. data/lib/recurly/requests/plan_hosted_pages.rb +26 -0
  65. data/lib/recurly/requests/plan_pricing.rb +26 -0
  66. data/lib/recurly/requests/plan_update.rb +94 -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 +46 -0
  76. data/lib/recurly/requests/subscription_add_on_percentage_tier.rb +18 -0
  77. data/lib/recurly/requests/subscription_add_on_tier.rb +26 -0
  78. data/lib/recurly/requests/subscription_add_on_update.rb +50 -0
  79. data/lib/recurly/requests/subscription_cancel.rb +14 -0
  80. data/lib/recurly/requests/subscription_change_billing_info_create.rb +14 -0
  81. data/lib/recurly/requests/subscription_change_create.rb +74 -0
  82. data/lib/recurly/requests/subscription_change_shipping_create.rb +30 -0
  83. data/lib/recurly/requests/subscription_create.rb +114 -0
  84. data/lib/recurly/requests/subscription_pause.rb +14 -0
  85. data/lib/recurly/requests/subscription_purchase.rb +70 -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 +70 -0
  90. data/lib/recurly/requests/tier.rb +22 -0
  91. data/lib/recurly/requests/tier_pricing.rb +22 -0
  92. data/lib/recurly/requests/usage_create.rb +26 -0
  93. data/lib/recurly/requests.rb +8 -0
  94. data/lib/recurly/resource.rb +23 -1092
  95. data/lib/recurly/resources/account.rb +138 -0
  96. data/lib/recurly/resources/account_acquisition.rb +46 -0
  97. data/lib/recurly/resources/account_acquisition_cost.rb +18 -0
  98. data/lib/recurly/resources/account_balance.rb +26 -0
  99. data/lib/recurly/resources/account_balance_amount.rb +22 -0
  100. data/lib/recurly/resources/account_mini.rb +50 -0
  101. data/lib/recurly/resources/account_note.rb +34 -0
  102. data/lib/recurly/resources/add_on.rb +122 -0
  103. data/lib/recurly/resources/add_on_mini.rb +54 -0
  104. data/lib/recurly/resources/add_on_pricing.rb +26 -0
  105. data/lib/recurly/resources/address.rb +38 -0
  106. data/lib/recurly/resources/address_with_name.rb +46 -0
  107. data/lib/recurly/resources/billing_info.rb +74 -0
  108. data/lib/recurly/resources/billing_info_updated_by.rb +18 -0
  109. data/lib/recurly/resources/binary_file.rb +14 -0
  110. data/lib/recurly/resources/coupon.rb +126 -0
  111. data/lib/recurly/resources/coupon_discount.rb +26 -0
  112. data/lib/recurly/resources/coupon_discount_pricing.rb +18 -0
  113. data/lib/recurly/resources/coupon_discount_trial.rb +18 -0
  114. data/lib/recurly/resources/coupon_mini.rb +42 -0
  115. data/lib/recurly/resources/coupon_redemption.rb +54 -0
  116. data/lib/recurly/resources/coupon_redemption_mini.rb +34 -0
  117. data/lib/recurly/resources/credit_payment.rb +66 -0
  118. data/lib/recurly/resources/custom_field.rb +18 -0
  119. data/lib/recurly/resources/custom_field_definition.rb +50 -0
  120. data/lib/recurly/resources/dunning_campaign.rb +50 -0
  121. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +18 -0
  122. data/lib/recurly/resources/dunning_cycle.rb +58 -0
  123. data/lib/recurly/resources/dunning_interval.rb +18 -0
  124. data/lib/recurly/resources/error.rb +22 -0
  125. data/lib/recurly/resources/error_may_have_transaction.rb +26 -0
  126. data/lib/recurly/resources/export_dates.rb +18 -0
  127. data/lib/recurly/resources/export_file.rb +22 -0
  128. data/lib/recurly/resources/export_files.rb +18 -0
  129. data/lib/recurly/resources/fraud_info.rb +22 -0
  130. data/lib/recurly/resources/invoice.rb +162 -0
  131. data/lib/recurly/resources/invoice_address.rb +54 -0
  132. data/lib/recurly/resources/invoice_collection.rb +22 -0
  133. data/lib/recurly/resources/invoice_mini.rb +30 -0
  134. data/lib/recurly/resources/invoice_template.rb +34 -0
  135. data/lib/recurly/resources/item.rb +82 -0
  136. data/lib/recurly/resources/item_mini.rb +34 -0
  137. data/lib/recurly/resources/line_item.rb +206 -0
  138. data/lib/recurly/resources/measured_unit.rb +46 -0
  139. data/lib/recurly/resources/payment_method.rb +70 -0
  140. data/lib/recurly/resources/percentage_tier.rb +18 -0
  141. data/lib/recurly/resources/percentage_tiers_by_currency.rb +18 -0
  142. data/lib/recurly/resources/plan.rb +122 -0
  143. data/lib/recurly/resources/plan_hosted_pages.rb +26 -0
  144. data/lib/recurly/resources/plan_mini.rb +26 -0
  145. data/lib/recurly/resources/plan_pricing.rb +26 -0
  146. data/lib/recurly/resources/pricing.rb +22 -0
  147. data/lib/recurly/resources/settings.rb +22 -0
  148. data/lib/recurly/resources/shipping_address.rb +82 -0
  149. data/lib/recurly/resources/shipping_method.rb +46 -0
  150. data/lib/recurly/resources/shipping_method_mini.rb +26 -0
  151. data/lib/recurly/resources/site.rb +54 -0
  152. data/lib/recurly/resources/subscription.rb +198 -0
  153. data/lib/recurly/resources/subscription_add_on.rb +78 -0
  154. data/lib/recurly/resources/subscription_add_on_percentage_tier.rb +18 -0
  155. data/lib/recurly/resources/subscription_add_on_tier.rb +26 -0
  156. data/lib/recurly/resources/subscription_change.rb +82 -0
  157. data/lib/recurly/resources/subscription_change_billing_info.rb +14 -0
  158. data/lib/recurly/resources/subscription_shipping.rb +26 -0
  159. data/lib/recurly/resources/tax_detail.rb +26 -0
  160. data/lib/recurly/resources/tax_info.rb +26 -0
  161. data/lib/recurly/resources/tier.rb +22 -0
  162. data/lib/recurly/resources/tier_pricing.rb +22 -0
  163. data/lib/recurly/resources/transaction.rb +162 -0
  164. data/lib/recurly/resources/transaction_error.rb +38 -0
  165. data/lib/recurly/resources/transaction_payment_gateway.rb +26 -0
  166. data/lib/recurly/resources/unique_coupon_code.rb +50 -0
  167. data/lib/recurly/resources/unique_coupon_code_params.rb +26 -0
  168. data/lib/recurly/resources/usage.rb +78 -0
  169. data/lib/recurly/resources/user.rb +42 -0
  170. data/lib/recurly/resources.rb +18 -0
  171. data/lib/recurly/schema/file_parser.rb +13 -0
  172. data/lib/recurly/schema/json_parser.rb +72 -0
  173. data/lib/recurly/schema/request_caster.rb +60 -0
  174. data/lib/recurly/schema/resource_caster.rb +46 -0
  175. data/lib/recurly/schema/schema_factory.rb +48 -0
  176. data/lib/recurly/schema/schema_validator.rb +144 -0
  177. data/lib/recurly/schema.rb +156 -0
  178. data/lib/recurly/version.rb +1 -15
  179. data/lib/recurly.rb +15 -138
  180. data/openapi/api.yaml +22879 -0
  181. data/recurly.gemspec +39 -0
  182. data/scripts/build +5 -0
  183. data/scripts/clean +6 -0
  184. data/scripts/format +12 -0
  185. data/scripts/prepare-release +50 -0
  186. data/scripts/release +17 -0
  187. data/scripts/test +15 -0
  188. metadata +217 -217
  189. data/lib/recurly/account.rb +0 -179
  190. data/lib/recurly/account_balance.rb +0 -21
  191. data/lib/recurly/add_on.rb +0 -30
  192. data/lib/recurly/address.rb +0 -25
  193. data/lib/recurly/adjustment.rb +0 -76
  194. data/lib/recurly/api/errors.rb +0 -208
  195. data/lib/recurly/api/net_http_adapter.rb +0 -111
  196. data/lib/recurly/api.rb +0 -101
  197. data/lib/recurly/billing_info.rb +0 -80
  198. data/lib/recurly/coupon.rb +0 -134
  199. data/lib/recurly/credit_payment.rb +0 -32
  200. data/lib/recurly/custom_field.rb +0 -15
  201. data/lib/recurly/delivery.rb +0 -19
  202. data/lib/recurly/error.rb +0 -13
  203. data/lib/recurly/gift_card.rb +0 -82
  204. data/lib/recurly/helper.rb +0 -51
  205. data/lib/recurly/invoice.rb +0 -273
  206. data/lib/recurly/invoice_collection.rb +0 -14
  207. data/lib/recurly/js.rb +0 -14
  208. data/lib/recurly/juris_detail.rb +0 -14
  209. data/lib/recurly/measured_unit.rb +0 -16
  210. data/lib/recurly/money.rb +0 -120
  211. data/lib/recurly/note.rb +0 -14
  212. data/lib/recurly/plan.rb +0 -40
  213. data/lib/recurly/purchase.rb +0 -219
  214. data/lib/recurly/redemption.rb +0 -46
  215. data/lib/recurly/resource/association.rb +0 -16
  216. data/lib/recurly/resource/errors.rb +0 -20
  217. data/lib/recurly/resource/pager.rb +0 -313
  218. data/lib/recurly/shipping_address.rb +0 -26
  219. data/lib/recurly/subscription/add_ons.rb +0 -77
  220. data/lib/recurly/subscription.rb +0 -328
  221. data/lib/recurly/subscription_add_on.rb +0 -50
  222. data/lib/recurly/tax_detail.rb +0 -14
  223. data/lib/recurly/tax_type.rb +0 -12
  224. data/lib/recurly/transaction/errors.rb +0 -107
  225. data/lib/recurly/transaction.rb +0 -129
  226. data/lib/recurly/usage.rb +0 -28
  227. data/lib/recurly/webhook/account_notification.rb +0 -10
  228. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  229. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  230. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  231. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  232. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  233. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  234. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  235. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  236. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  237. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  238. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  239. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  240. data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
  241. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  242. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  243. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  244. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  245. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  246. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  247. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  248. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  249. data/lib/recurly/webhook/notification.rb +0 -18
  250. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  251. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  252. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  253. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  254. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  255. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  256. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  257. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  258. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  259. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  260. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  261. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  262. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  263. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  264. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  265. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  266. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  267. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  268. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  269. data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
  270. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  271. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  272. data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
  273. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  274. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  275. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  276. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  277. data/lib/recurly/webhook.rb +0 -91
  278. data/lib/recurly/xml/nokogiri.rb +0 -60
  279. data/lib/recurly/xml/rexml.rb +0 -52
  280. data/lib/recurly/xml.rb +0 -122
@@ -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,198 @@
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 gateway_code
94
+ # @return [String] If present, this subscription's transactions will use the payment gateway with this code.
95
+ define_attribute :gateway_code, String
96
+
97
+ # @!attribute id
98
+ # @return [String] Subscription ID
99
+ define_attribute :id, String
100
+
101
+ # @!attribute net_terms
102
+ # @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.
103
+ define_attribute :net_terms, Integer
104
+
105
+ # @!attribute object
106
+ # @return [String] Object type
107
+ define_attribute :object, String
108
+
109
+ # @!attribute paused_at
110
+ # @return [DateTime] Null unless subscription is paused or will pause at the end of the current billing period.
111
+ define_attribute :paused_at, DateTime
112
+
113
+ # @!attribute pending_change
114
+ # @return [SubscriptionChange] Subscription Change
115
+ define_attribute :pending_change, :SubscriptionChange
116
+
117
+ # @!attribute plan
118
+ # @return [PlanMini] Just the important parts.
119
+ define_attribute :plan, :PlanMini
120
+
121
+ # @!attribute po_number
122
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
123
+ define_attribute :po_number, String
124
+
125
+ # @!attribute quantity
126
+ # @return [Integer] Subscription quantity
127
+ define_attribute :quantity, Integer
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
158
+ # @return [Float] Estimated tax
159
+ define_attribute :tax, Float
160
+
161
+ # @!attribute tax_info
162
+ # @return [TaxInfo] Tax info
163
+ define_attribute :tax_info, :TaxInfo
164
+
165
+ # @!attribute terms_and_conditions
166
+ # @return [String] Terms and conditions
167
+ define_attribute :terms_and_conditions, String
168
+
169
+ # @!attribute total
170
+ # @return [Float] Estimated total
171
+ define_attribute :total, Float
172
+
173
+ # @!attribute total_billing_cycles
174
+ # @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.
175
+ define_attribute :total_billing_cycles, Integer
176
+
177
+ # @!attribute trial_ends_at
178
+ # @return [DateTime] Trial period ends at
179
+ define_attribute :trial_ends_at, DateTime
180
+
181
+ # @!attribute trial_started_at
182
+ # @return [DateTime] Trial period started at
183
+ define_attribute :trial_started_at, DateTime
184
+
185
+ # @!attribute unit_amount
186
+ # @return [Float] Subscription unit price
187
+ define_attribute :unit_amount, Float
188
+
189
+ # @!attribute updated_at
190
+ # @return [DateTime] Last updated at
191
+ define_attribute :updated_at, DateTime
192
+
193
+ # @!attribute uuid
194
+ # @return [String] The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.
195
+ define_attribute :uuid, String
196
+ end
197
+ end
198
+ end
@@ -0,0 +1,78 @@
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 percentage_tiers
34
+ # @return [Array[SubscriptionAddOnPercentageTier]] If percentage tiers are provided in the request, all existing percentage tiers on the Subscription Add-on will be removed and replaced by the percentage tiers in the request. Use only if add_on.tier_type is tiered or volume and add_on.usage_type is percentage. There must be one tier without an `ending_amount` value which represents the final tier.
35
+ define_attribute :percentage_tiers, Array, { :item_type => :SubscriptionAddOnPercentageTier }
36
+
37
+ # @!attribute quantity
38
+ # @return [Integer] Add-on quantity
39
+ define_attribute :quantity, Integer
40
+
41
+ # @!attribute revenue_schedule_type
42
+ # @return [String] Revenue schedule type
43
+ define_attribute :revenue_schedule_type, String
44
+
45
+ # @!attribute subscription_id
46
+ # @return [String] Subscription ID
47
+ define_attribute :subscription_id, String
48
+
49
+ # @!attribute tier_type
50
+ # @return [String] The pricing model for the add-on. For more information, [click here](https://docs.recurly.com/docs/billing-models#section-quantity-based). See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
51
+ define_attribute :tier_type, String
52
+
53
+ # @!attribute tiers
54
+ # @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. If add_on.tier_type is tiered or volume and add_on.usage_type is percentage use percentage_tiers instead. There must be one tier without an `ending_quantity` value which represents the final tier.
55
+ define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
56
+
57
+ # @!attribute unit_amount
58
+ # @return [Float] Supports up to 2 decimal places.
59
+ define_attribute :unit_amount, Float
60
+
61
+ # @!attribute unit_amount_decimal
62
+ # @return [String] Supports up to 9 decimal places.
63
+ define_attribute :unit_amount_decimal, String
64
+
65
+ # @!attribute updated_at
66
+ # @return [DateTime] Updated at
67
+ define_attribute :updated_at, DateTime
68
+
69
+ # @!attribute usage_percentage
70
+ # @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.
71
+ define_attribute :usage_percentage, Float
72
+
73
+ # @!attribute usage_timeframe
74
+ # @return [String] The time at which usage totals are reset for billing purposes.
75
+ define_attribute :usage_timeframe, String
76
+ end
77
+ end
78
+ 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 SubscriptionAddOnPercentageTier < Resource
8
+
9
+ # @!attribute ending_amount
10
+ # @return [Float] Ending amount for the tier. Allows up to 2 decimal places. Must be left empty if it is the final tier.
11
+ define_attribute :ending_amount, Float
12
+
13
+ # @!attribute usage_percentage
14
+ # @return [String] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places represented as a string.
15
+ define_attribute :usage_percentage, String
16
+ end
17
+ end
18
+ 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 SubscriptionAddOnTier < Resource
8
+
9
+ # @!attribute ending_quantity
10
+ # @return [Integer] Ending quantity for the tier. This represents a unit amount for unit-priced add ons. Must be left empty if it is the final tier.
11
+ define_attribute :ending_quantity, Integer
12
+
13
+ # @!attribute unit_amount
14
+ # @return [Float] Allows up to 2 decimal places. Optionally, override the tiers' default unit amount. If add-on's `add_on_type` is `usage` and `usage_type` is `percentage`, cannot be provided.
15
+ define_attribute :unit_amount, Float
16
+
17
+ # @!attribute unit_amount_decimal
18
+ # @return [String] Allows up to 9 decimal places. Optionally, override tiers' default unit amount. If `unit_amount_decimal` is provided, `unit_amount` cannot be provided. If add-on's `add_on_type` is `usage` and `usage_type` is `percentage`, cannot be provided.
19
+ define_attribute :unit_amount_decimal, String
20
+
21
+ # @!attribute usage_percentage
22
+ # @return [String] (deprecated) -- Use the percentage_tiers object instead.
23
+ define_attribute :usage_percentage, String
24
+ end
25
+ end
26
+ end
@@ -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 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 revenue_schedule_type
58
+ # @return [String] Revenue schedule type
59
+ define_attribute :revenue_schedule_type, String
60
+
61
+ # @!attribute shipping
62
+ # @return [SubscriptionShipping] Subscription shipping details
63
+ define_attribute :shipping, :SubscriptionShipping
64
+
65
+ # @!attribute subscription_id
66
+ # @return [String] The ID of the subscription that is going to be changed.
67
+ define_attribute :subscription_id, String
68
+
69
+ # @!attribute tax_inclusive
70
+ # @return [Boolean] This field is deprecated. Please do not use it.
71
+ define_attribute :tax_inclusive, :Boolean
72
+
73
+ # @!attribute unit_amount
74
+ # @return [Float] Unit amount
75
+ define_attribute :unit_amount, Float
76
+
77
+ # @!attribute updated_at
78
+ # @return [DateTime] Updated at
79
+ define_attribute :updated_at, DateTime
80
+ end
81
+ end
82
+ 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,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 SubscriptionShipping < Resource
8
+
9
+ # @!attribute address
10
+ # @return [ShippingAddress]
11
+ define_attribute :address, :ShippingAddress
12
+
13
+ # @!attribute amount
14
+ # @return [Float] Subscription's shipping cost
15
+ define_attribute :amount, Float
16
+
17
+ # @!attribute method
18
+ # @return [ShippingMethodMini]
19
+ define_attribute :method, :ShippingMethodMini
20
+
21
+ # @!attribute object
22
+ # @return [String] Object type
23
+ define_attribute :object, String
24
+ end
25
+ end
26
+ end