recurly 2.17.0 → 3.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (260) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +15 -0
  3. data/.github/ISSUE_TEMPLATE/bug-report.md +30 -0
  4. data/.github/ISSUE_TEMPLATE/question-or-other.md +10 -0
  5. data/.github/workflows/docs.yml +28 -0
  6. data/.github_changelog_generator +8 -0
  7. data/.gitignore +15 -0
  8. data/.rspec +2 -0
  9. data/.travis.yml +13 -0
  10. data/.yardopts +2 -0
  11. data/CHANGELOG.md +313 -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 +3665 -0
  22. data/lib/recurly/client.rb +353 -0
  23. data/lib/recurly/connection_pool.rb +40 -0
  24. data/lib/recurly/errors/api_errors.rb +83 -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 +90 -0
  33. data/lib/recurly/requests/account_purchase.rb +90 -0
  34. data/lib/recurly/requests/account_update.rb +78 -0
  35. data/lib/recurly/requests/add_on_create.rb +94 -0
  36. data/lib/recurly/requests/add_on_pricing.rb +18 -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 +110 -0
  40. data/lib/recurly/requests/coupon_bulk_create.rb +14 -0
  41. data/lib/recurly/requests/coupon_create.rb +94 -0
  42. data/lib/recurly/requests/coupon_pricing.rb +18 -0
  43. data/lib/recurly/requests/coupon_redemption_create.rb +18 -0
  44. data/lib/recurly/requests/coupon_update.rb +34 -0
  45. data/lib/recurly/requests/custom_field.rb +18 -0
  46. data/lib/recurly/requests/external_refund.rb +22 -0
  47. data/lib/recurly/requests/external_transaction.rb +26 -0
  48. data/lib/recurly/requests/invoice_address.rb +54 -0
  49. data/lib/recurly/requests/invoice_collect.rb +18 -0
  50. data/lib/recurly/requests/invoice_create.rb +42 -0
  51. data/lib/recurly/requests/invoice_refund.rb +34 -0
  52. data/lib/recurly/requests/invoice_updatable.rb +34 -0
  53. data/lib/recurly/requests/item_create.rb +58 -0
  54. data/lib/recurly/requests/item_update.rb +58 -0
  55. data/lib/recurly/requests/line_item_create.rb +82 -0
  56. data/lib/recurly/requests/line_item_refund.rb +22 -0
  57. data/lib/recurly/requests/measured_unit_create.rb +22 -0
  58. data/lib/recurly/requests/measured_unit_update.rb +22 -0
  59. data/lib/recurly/requests/plan_create.rb +98 -0
  60. data/lib/recurly/requests/plan_hosted_pages.rb +26 -0
  61. data/lib/recurly/requests/plan_pricing.rb +22 -0
  62. data/lib/recurly/requests/plan_update.rb +94 -0
  63. data/lib/recurly/requests/pricing.rb +18 -0
  64. data/lib/recurly/requests/purchase_create.rb +74 -0
  65. data/lib/recurly/requests/shipping_address_create.rb +62 -0
  66. data/lib/recurly/requests/shipping_address_update.rb +66 -0
  67. data/lib/recurly/requests/shipping_fee_create.rb +22 -0
  68. data/lib/recurly/requests/shipping_method_create.rb +26 -0
  69. data/lib/recurly/requests/shipping_method_update.rb +26 -0
  70. data/lib/recurly/requests/shipping_purchase.rb +22 -0
  71. data/lib/recurly/requests/subscription_add_on_create.rb +38 -0
  72. data/lib/recurly/requests/subscription_add_on_tier.rb +18 -0
  73. data/lib/recurly/requests/subscription_add_on_update.rb +42 -0
  74. data/lib/recurly/requests/subscription_cancel.rb +14 -0
  75. data/lib/recurly/requests/subscription_change_create.rb +66 -0
  76. data/lib/recurly/requests/subscription_change_shipping_create.rb +22 -0
  77. data/lib/recurly/requests/subscription_create.rb +106 -0
  78. data/lib/recurly/requests/subscription_pause.rb +14 -0
  79. data/lib/recurly/requests/subscription_purchase.rb +66 -0
  80. data/lib/recurly/requests/subscription_shipping_create.rb +30 -0
  81. data/lib/recurly/requests/subscription_shipping_purchase.rb +22 -0
  82. data/lib/recurly/requests/subscription_shipping_update.rb +22 -0
  83. data/lib/recurly/requests/subscription_update.rb +58 -0
  84. data/lib/recurly/requests/tier.rb +18 -0
  85. data/lib/recurly/requests/usage_create.rb +26 -0
  86. data/lib/recurly/requests.rb +8 -0
  87. data/lib/recurly/resource.rb +23 -1082
  88. data/lib/recurly/resources/account.rb +130 -0
  89. data/lib/recurly/resources/account_acquisition.rb +46 -0
  90. data/lib/recurly/resources/account_acquisition_cost.rb +18 -0
  91. data/lib/recurly/resources/account_balance.rb +26 -0
  92. data/lib/recurly/resources/account_balance_amount.rb +18 -0
  93. data/lib/recurly/resources/account_mini.rb +46 -0
  94. data/lib/recurly/resources/account_note.rb +34 -0
  95. data/lib/recurly/resources/add_on.rb +114 -0
  96. data/lib/recurly/resources/add_on_mini.rb +54 -0
  97. data/lib/recurly/resources/add_on_pricing.rb +18 -0
  98. data/lib/recurly/resources/address.rb +46 -0
  99. data/lib/recurly/resources/billing_info.rb +66 -0
  100. data/lib/recurly/resources/billing_info_updated_by.rb +18 -0
  101. data/lib/recurly/resources/binary_file.rb +14 -0
  102. data/lib/recurly/resources/coupon.rb +130 -0
  103. data/lib/recurly/resources/coupon_discount.rb +26 -0
  104. data/lib/recurly/resources/coupon_discount_pricing.rb +18 -0
  105. data/lib/recurly/resources/coupon_discount_trial.rb +18 -0
  106. data/lib/recurly/resources/coupon_mini.rb +42 -0
  107. data/lib/recurly/resources/coupon_redemption.rb +50 -0
  108. data/lib/recurly/resources/coupon_redemption_mini.rb +34 -0
  109. data/lib/recurly/resources/credit_payment.rb +66 -0
  110. data/lib/recurly/resources/custom_field.rb +18 -0
  111. data/lib/recurly/resources/custom_field_definition.rb +50 -0
  112. data/lib/recurly/resources/error.rb +22 -0
  113. data/lib/recurly/resources/error_may_have_transaction.rb +26 -0
  114. data/lib/recurly/resources/export_dates.rb +18 -0
  115. data/lib/recurly/resources/export_file.rb +22 -0
  116. data/lib/recurly/resources/export_files.rb +18 -0
  117. data/lib/recurly/resources/fraud_info.rb +22 -0
  118. data/lib/recurly/resources/invoice.rb +146 -0
  119. data/lib/recurly/resources/invoice_address.rb +54 -0
  120. data/lib/recurly/resources/invoice_collection.rb +22 -0
  121. data/lib/recurly/resources/invoice_mini.rb +30 -0
  122. data/lib/recurly/resources/item.rb +82 -0
  123. data/lib/recurly/resources/item_mini.rb +34 -0
  124. data/lib/recurly/resources/line_item.rb +198 -0
  125. data/lib/recurly/resources/line_item_list.rb +26 -0
  126. data/lib/recurly/resources/measured_unit.rb +46 -0
  127. data/lib/recurly/resources/payment_method.rb +66 -0
  128. data/lib/recurly/resources/plan.rb +118 -0
  129. data/lib/recurly/resources/plan_hosted_pages.rb +26 -0
  130. data/lib/recurly/resources/plan_mini.rb +26 -0
  131. data/lib/recurly/resources/plan_pricing.rb +22 -0
  132. data/lib/recurly/resources/pricing.rb +18 -0
  133. data/lib/recurly/resources/settings.rb +22 -0
  134. data/lib/recurly/resources/shipping_address.rb +82 -0
  135. data/lib/recurly/resources/shipping_method.rb +46 -0
  136. data/lib/recurly/resources/shipping_method_mini.rb +26 -0
  137. data/lib/recurly/resources/site.rb +54 -0
  138. data/lib/recurly/resources/subscription.rb +174 -0
  139. data/lib/recurly/resources/subscription_add_on.rb +66 -0
  140. data/lib/recurly/resources/subscription_add_on_tier.rb +18 -0
  141. data/lib/recurly/resources/subscription_change.rb +78 -0
  142. data/lib/recurly/resources/subscription_change_preview.rb +78 -0
  143. data/lib/recurly/resources/subscription_shipping.rb +26 -0
  144. data/lib/recurly/resources/tax_info.rb +22 -0
  145. data/lib/recurly/resources/tier.rb +18 -0
  146. data/lib/recurly/resources/transaction.rb +158 -0
  147. data/lib/recurly/resources/transaction_error.rb +38 -0
  148. data/lib/recurly/resources/transaction_payment_gateway.rb +26 -0
  149. data/lib/recurly/resources/unique_coupon_code.rb +50 -0
  150. data/lib/recurly/resources/usage.rb +70 -0
  151. data/lib/recurly/resources/user.rb +42 -0
  152. data/lib/recurly/resources.rb +18 -0
  153. data/lib/recurly/schema/file_parser.rb +13 -0
  154. data/lib/recurly/schema/json_parser.rb +72 -0
  155. data/lib/recurly/schema/request_caster.rb +60 -0
  156. data/lib/recurly/schema/resource_caster.rb +46 -0
  157. data/lib/recurly/schema/schema_factory.rb +48 -0
  158. data/lib/recurly/schema/schema_validator.rb +144 -0
  159. data/lib/recurly/schema.rb +156 -0
  160. data/lib/recurly/version.rb +1 -15
  161. data/lib/recurly.rb +15 -137
  162. data/openapi/api.yaml +21024 -0
  163. data/recurly.gemspec +39 -0
  164. data/scripts/build +5 -0
  165. data/scripts/bump +11 -0
  166. data/scripts/changelog +14 -0
  167. data/scripts/clean +6 -0
  168. data/scripts/format +12 -0
  169. data/scripts/prepare-release +36 -0
  170. data/scripts/release +32 -0
  171. data/scripts/test +15 -0
  172. metadata +206 -168
  173. data/lib/recurly/account.rb +0 -169
  174. data/lib/recurly/account_balance.rb +0 -21
  175. data/lib/recurly/add_on.rb +0 -30
  176. data/lib/recurly/address.rb +0 -25
  177. data/lib/recurly/adjustment.rb +0 -76
  178. data/lib/recurly/api/errors.rb +0 -206
  179. data/lib/recurly/api/net_http_adapter.rb +0 -111
  180. data/lib/recurly/api.rb +0 -101
  181. data/lib/recurly/billing_info.rb +0 -80
  182. data/lib/recurly/coupon.rb +0 -134
  183. data/lib/recurly/credit_payment.rb +0 -28
  184. data/lib/recurly/custom_field.rb +0 -15
  185. data/lib/recurly/delivery.rb +0 -19
  186. data/lib/recurly/error.rb +0 -13
  187. data/lib/recurly/gift_card.rb +0 -79
  188. data/lib/recurly/helper.rb +0 -51
  189. data/lib/recurly/invoice.rb +0 -268
  190. data/lib/recurly/invoice_collection.rb +0 -14
  191. data/lib/recurly/js.rb +0 -14
  192. data/lib/recurly/juris_detail.rb +0 -14
  193. data/lib/recurly/measured_unit.rb +0 -16
  194. data/lib/recurly/money.rb +0 -120
  195. data/lib/recurly/plan.rb +0 -40
  196. data/lib/recurly/purchase.rb +0 -219
  197. data/lib/recurly/redemption.rb +0 -46
  198. data/lib/recurly/resource/association.rb +0 -16
  199. data/lib/recurly/resource/errors.rb +0 -20
  200. data/lib/recurly/resource/pager.rb +0 -314
  201. data/lib/recurly/shipping_address.rb +0 -22
  202. data/lib/recurly/subscription/add_ons.rb +0 -77
  203. data/lib/recurly/subscription.rb +0 -325
  204. data/lib/recurly/subscription_add_on.rb +0 -50
  205. data/lib/recurly/tax_detail.rb +0 -14
  206. data/lib/recurly/tax_type.rb +0 -12
  207. data/lib/recurly/transaction/errors.rb +0 -107
  208. data/lib/recurly/transaction.rb +0 -116
  209. data/lib/recurly/usage.rb +0 -24
  210. data/lib/recurly/webhook/account_notification.rb +0 -10
  211. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  212. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  213. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  214. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  215. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  216. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  217. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  218. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  219. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  220. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  221. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  222. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  223. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  224. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  225. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  226. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  227. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  228. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  229. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  230. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  231. data/lib/recurly/webhook/notification.rb +0 -18
  232. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  233. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  234. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  235. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  236. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  237. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  238. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  239. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  240. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  241. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  242. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  243. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  244. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  245. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  246. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  247. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  248. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  249. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  250. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  251. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  252. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  253. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  254. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  255. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  256. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  257. data/lib/recurly/webhook.rb +0 -88
  258. data/lib/recurly/xml/nokogiri.rb +0 -58
  259. data/lib/recurly/xml/rexml.rb +0 -50
  260. data/lib/recurly/xml.rb +0 -120
@@ -0,0 +1,174 @@
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 add_ons
18
+ # @return [Array[SubscriptionAddOn]] Add-ons
19
+ define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOn }
20
+
21
+ # @!attribute add_ons_total
22
+ # @return [Float] Total price of add-ons
23
+ define_attribute :add_ons_total, Float
24
+
25
+ # @!attribute auto_renew
26
+ # @return [Boolean] Whether the subscription renews at the end of its term.
27
+ define_attribute :auto_renew, :Boolean
28
+
29
+ # @!attribute bank_account_authorized_at
30
+ # @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.
31
+ define_attribute :bank_account_authorized_at, DateTime
32
+
33
+ # @!attribute canceled_at
34
+ # @return [DateTime] Canceled at
35
+ define_attribute :canceled_at, DateTime
36
+
37
+ # @!attribute collection_method
38
+ # @return [String] Collection method
39
+ define_attribute :collection_method, String
40
+
41
+ # @!attribute coupon_redemptions
42
+ # @return [Array[CouponRedemptionMini]] Coupon redemptions
43
+ define_attribute :coupon_redemptions, Array, { :item_type => :CouponRedemptionMini }
44
+
45
+ # @!attribute created_at
46
+ # @return [DateTime] Created at
47
+ define_attribute :created_at, DateTime
48
+
49
+ # @!attribute currency
50
+ # @return [String] 3-letter ISO 4217 currency code.
51
+ define_attribute :currency, String
52
+
53
+ # @!attribute current_period_ends_at
54
+ # @return [DateTime] Current billing period ends at
55
+ define_attribute :current_period_ends_at, DateTime
56
+
57
+ # @!attribute current_period_started_at
58
+ # @return [DateTime] Current billing period started at
59
+ define_attribute :current_period_started_at, DateTime
60
+
61
+ # @!attribute current_term_ends_at
62
+ # @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.
63
+ define_attribute :current_term_ends_at, DateTime
64
+
65
+ # @!attribute current_term_started_at
66
+ # @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.
67
+ define_attribute :current_term_started_at, DateTime
68
+
69
+ # @!attribute custom_fields
70
+ # @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.
71
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
72
+
73
+ # @!attribute customer_notes
74
+ # @return [String] Customer notes
75
+ define_attribute :customer_notes, String
76
+
77
+ # @!attribute expiration_reason
78
+ # @return [String] Expiration reason
79
+ define_attribute :expiration_reason, String
80
+
81
+ # @!attribute expires_at
82
+ # @return [DateTime] Expires at
83
+ define_attribute :expires_at, DateTime
84
+
85
+ # @!attribute id
86
+ # @return [String] Subscription ID
87
+ define_attribute :id, String
88
+
89
+ # @!attribute net_terms
90
+ # @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.
91
+ define_attribute :net_terms, Integer
92
+
93
+ # @!attribute object
94
+ # @return [String] Object type
95
+ define_attribute :object, String
96
+
97
+ # @!attribute paused_at
98
+ # @return [DateTime] Null unless subscription is paused or will pause at the end of the current billing period.
99
+ define_attribute :paused_at, DateTime
100
+
101
+ # @!attribute pending_change
102
+ # @return [SubscriptionChange] Subscription Change
103
+ define_attribute :pending_change, :SubscriptionChange
104
+
105
+ # @!attribute plan
106
+ # @return [PlanMini] Just the important parts.
107
+ define_attribute :plan, :PlanMini
108
+
109
+ # @!attribute po_number
110
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
111
+ define_attribute :po_number, String
112
+
113
+ # @!attribute quantity
114
+ # @return [Integer] Subscription quantity
115
+ define_attribute :quantity, Integer
116
+
117
+ # @!attribute remaining_billing_cycles
118
+ # @return [Integer] The remaining billing cycles in the current term.
119
+ define_attribute :remaining_billing_cycles, Integer
120
+
121
+ # @!attribute remaining_pause_cycles
122
+ # @return [Integer] Null unless subscription is paused or will pause at the end of the current billing period.
123
+ define_attribute :remaining_pause_cycles, Integer
124
+
125
+ # @!attribute renewal_billing_cycles
126
+ # @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`.
127
+ define_attribute :renewal_billing_cycles, Integer
128
+
129
+ # @!attribute revenue_schedule_type
130
+ # @return [String] Revenue schedule type
131
+ define_attribute :revenue_schedule_type, String
132
+
133
+ # @!attribute shipping
134
+ # @return [SubscriptionShipping] Subscription shipping details
135
+ define_attribute :shipping, :SubscriptionShipping
136
+
137
+ # @!attribute state
138
+ # @return [String] State
139
+ define_attribute :state, String
140
+
141
+ # @!attribute subtotal
142
+ # @return [Float] Estimated total, before tax.
143
+ define_attribute :subtotal, Float
144
+
145
+ # @!attribute terms_and_conditions
146
+ # @return [String] Terms and conditions
147
+ define_attribute :terms_and_conditions, String
148
+
149
+ # @!attribute total_billing_cycles
150
+ # @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.
151
+ define_attribute :total_billing_cycles, Integer
152
+
153
+ # @!attribute trial_ends_at
154
+ # @return [DateTime] Trial period ends at
155
+ define_attribute :trial_ends_at, DateTime
156
+
157
+ # @!attribute trial_started_at
158
+ # @return [DateTime] Trial period started at
159
+ define_attribute :trial_started_at, DateTime
160
+
161
+ # @!attribute unit_amount
162
+ # @return [Float] Subscription unit price
163
+ define_attribute :unit_amount, Float
164
+
165
+ # @!attribute updated_at
166
+ # @return [DateTime] Last updated at
167
+ define_attribute :updated_at, DateTime
168
+
169
+ # @!attribute uuid
170
+ # @return [String] The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.
171
+ define_attribute :uuid, String
172
+ end
173
+ end
174
+ 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,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 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 created_at
22
+ # @return [DateTime] Created at
23
+ define_attribute :created_at, DateTime
24
+
25
+ # @!attribute custom_fields
26
+ # @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.
27
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
28
+
29
+ # @!attribute deleted_at
30
+ # @return [DateTime] Deleted at
31
+ define_attribute :deleted_at, DateTime
32
+
33
+ # @!attribute id
34
+ # @return [String] The ID of the Subscription Change.
35
+ define_attribute :id, String
36
+
37
+ # @!attribute invoice_collection
38
+ # @return [InvoiceCollection] Invoice Collection
39
+ define_attribute :invoice_collection, :InvoiceCollection
40
+
41
+ # @!attribute object
42
+ # @return [String] Object type
43
+ define_attribute :object, String
44
+
45
+ # @!attribute plan
46
+ # @return [PlanMini] Just the important parts.
47
+ define_attribute :plan, :PlanMini
48
+
49
+ # @!attribute quantity
50
+ # @return [Integer] Subscription quantity
51
+ define_attribute :quantity, Integer
52
+
53
+ # @!attribute revenue_schedule_type
54
+ # @return [String] Revenue schedule type
55
+ define_attribute :revenue_schedule_type, String
56
+
57
+ # @!attribute setup_fee_revenue_schedule_type
58
+ # @return [String] Setup fee revenue schedule type
59
+ define_attribute :setup_fee_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 unit_amount
70
+ # @return [Float] Unit amount
71
+ define_attribute :unit_amount, Float
72
+
73
+ # @!attribute updated_at
74
+ # @return [DateTime] Updated at
75
+ define_attribute :updated_at, DateTime
76
+ end
77
+ end
78
+ 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 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 created_at
22
+ # @return [DateTime] Created at
23
+ define_attribute :created_at, DateTime
24
+
25
+ # @!attribute custom_fields
26
+ # @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.
27
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
28
+
29
+ # @!attribute deleted_at
30
+ # @return [DateTime] Deleted at
31
+ define_attribute :deleted_at, DateTime
32
+
33
+ # @!attribute id
34
+ # @return [String] The ID of the Subscription Change.
35
+ define_attribute :id, String
36
+
37
+ # @!attribute invoice_collection
38
+ # @return [InvoiceCollection] Invoice Collection
39
+ define_attribute :invoice_collection, :InvoiceCollection
40
+
41
+ # @!attribute object
42
+ # @return [String] Object type
43
+ define_attribute :object, String
44
+
45
+ # @!attribute plan
46
+ # @return [PlanMini] Just the important parts.
47
+ define_attribute :plan, :PlanMini
48
+
49
+ # @!attribute quantity
50
+ # @return [Integer] Subscription quantity
51
+ define_attribute :quantity, Integer
52
+
53
+ # @!attribute revenue_schedule_type
54
+ # @return [String] Revenue schedule type
55
+ define_attribute :revenue_schedule_type, String
56
+
57
+ # @!attribute setup_fee_revenue_schedule_type
58
+ # @return [String] Setup fee revenue schedule type
59
+ define_attribute :setup_fee_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 unit_amount
70
+ # @return [Float] Unit amount
71
+ define_attribute :unit_amount, Float
72
+
73
+ # @!attribute updated_at
74
+ # @return [DateTime] Updated at
75
+ define_attribute :updated_at, DateTime
76
+ end
77
+ end
78
+ 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
@@ -0,0 +1,22 @@
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 TaxInfo < Resource
8
+
9
+ # @!attribute rate
10
+ # @return [Float] Rate
11
+ define_attribute :rate, Float
12
+
13
+ # @!attribute region
14
+ # @return [String] Provides the tax region applied on an invoice. For U.S. Sales Tax, this will be the 2 letter state code. For EU VAT this will be the 2 letter country code. For all country level tax types, this will display the regional tax, like VAT, GST, or PST.
15
+ define_attribute :region, String
16
+
17
+ # @!attribute type
18
+ # @return [String] Provides the tax type as "vat" for EU VAT, "usst" for U.S. Sales Tax, or the 2 letter country code for country level tax types like Canada, Australia, New Zealand, Israel, and all non-EU European countries.
19
+ define_attribute :type, String
20
+ end
21
+ end
22
+ 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 Tier < Resource
8
+
9
+ # @!attribute currencies
10
+ # @return [Array[Pricing]] Tier pricing
11
+ define_attribute :currencies, Array, { :item_type => :Pricing }
12
+
13
+ # @!attribute ending_quantity
14
+ # @return [Integer] Ending quantity
15
+ define_attribute :ending_quantity, Integer
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,158 @@
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 Transaction < Resource
8
+
9
+ # @!attribute account
10
+ # @return [AccountMini] Account mini details
11
+ define_attribute :account, :AccountMini
12
+
13
+ # @!attribute amount
14
+ # @return [Float] Total transaction amount sent to the payment gateway.
15
+ define_attribute :amount, Float
16
+
17
+ # @!attribute avs_check
18
+ # @return [String] When processed, result from checking the overall AVS on the transaction.
19
+ define_attribute :avs_check, String
20
+
21
+ # @!attribute billing_address
22
+ # @return [Address]
23
+ define_attribute :billing_address, :Address
24
+
25
+ # @!attribute collected_at
26
+ # @return [DateTime] Collected at, or if not collected yet, the time the transaction was created.
27
+ define_attribute :collected_at, DateTime
28
+
29
+ # @!attribute collection_method
30
+ # @return [String] The method by which the payment was collected.
31
+ define_attribute :collection_method, String
32
+
33
+ # @!attribute created_at
34
+ # @return [DateTime] Created at
35
+ define_attribute :created_at, DateTime
36
+
37
+ # @!attribute currency
38
+ # @return [String] 3-letter ISO 4217 currency code.
39
+ define_attribute :currency, String
40
+
41
+ # @!attribute customer_message
42
+ # @return [String] For declined (`success=false`) transactions, the message displayed to the customer.
43
+ define_attribute :customer_message, String
44
+
45
+ # @!attribute customer_message_locale
46
+ # @return [String] Language code for the message
47
+ define_attribute :customer_message_locale, String
48
+
49
+ # @!attribute cvv_check
50
+ # @return [String] When processed, result from checking the CVV/CVC value on the transaction.
51
+ define_attribute :cvv_check, String
52
+
53
+ # @!attribute gateway_approval_code
54
+ # @return [String] Transaction approval code from the payment gateway.
55
+ define_attribute :gateway_approval_code, String
56
+
57
+ # @!attribute gateway_message
58
+ # @return [String] Transaction message from the payment gateway.
59
+ define_attribute :gateway_message, String
60
+
61
+ # @!attribute gateway_reference
62
+ # @return [String] Transaction reference number from the payment gateway.
63
+ define_attribute :gateway_reference, String
64
+
65
+ # @!attribute gateway_response_code
66
+ # @return [String] For declined transactions (`success=false`), this field lists the gateway error code.
67
+ define_attribute :gateway_response_code, String
68
+
69
+ # @!attribute gateway_response_time
70
+ # @return [Float] Time, in seconds, for gateway to process the transaction.
71
+ define_attribute :gateway_response_time, Float
72
+
73
+ # @!attribute gateway_response_values
74
+ # @return [Hash] The values in this field will vary from gateway to gateway.
75
+ define_attribute :gateway_response_values, Hash
76
+
77
+ # @!attribute id
78
+ # @return [String] Transaction ID
79
+ define_attribute :id, String
80
+
81
+ # @!attribute invoice
82
+ # @return [InvoiceMini] Invoice mini details
83
+ define_attribute :invoice, :InvoiceMini
84
+
85
+ # @!attribute ip_address_country
86
+ # @return [String] IP address's country
87
+ define_attribute :ip_address_country, String
88
+
89
+ # @!attribute ip_address_v4
90
+ # @return [String] IP address provided when the billing information was collected: - When the customer enters billing information into the Recurly.js or Hosted Payment Pages, Recurly records the IP address. - When the merchant enters billing information using the API, the merchant may provide an IP address. - When the merchant enters billing information using the UI, no IP address is recorded.
91
+ define_attribute :ip_address_v4, String
92
+
93
+ # @!attribute object
94
+ # @return [String] Object type
95
+ define_attribute :object, String
96
+
97
+ # @!attribute origin
98
+ # @return [String] Describes how the transaction was triggered.
99
+ define_attribute :origin, String
100
+
101
+ # @!attribute original_transaction_id
102
+ # @return [String] If this transaction is a refund (`type=refund`), this will be the ID of the original transaction on the invoice being refunded.
103
+ define_attribute :original_transaction_id, String
104
+
105
+ # @!attribute payment_gateway
106
+ # @return [TransactionPaymentGateway]
107
+ define_attribute :payment_gateway, :TransactionPaymentGateway
108
+
109
+ # @!attribute payment_method
110
+ # @return [PaymentMethod]
111
+ define_attribute :payment_method, :PaymentMethod
112
+
113
+ # @!attribute refunded
114
+ # @return [Boolean] Indicates if part or all of this transaction was refunded.
115
+ define_attribute :refunded, :Boolean
116
+
117
+ # @!attribute status
118
+ # @return [String] The current transaction status. Note that the status may change, e.g. a `pending` transaction may become `declined` or `success` may later become `void`.
119
+ define_attribute :status, String
120
+
121
+ # @!attribute status_code
122
+ # @return [String] Status code
123
+ define_attribute :status_code, String
124
+
125
+ # @!attribute status_message
126
+ # @return [String] For declined (`success=false`) transactions, the message displayed to the merchant.
127
+ define_attribute :status_message, String
128
+
129
+ # @!attribute subscription_ids
130
+ # @return [Array[String]] If the transaction is charging or refunding for one or more subscriptions, these are their IDs.
131
+ define_attribute :subscription_ids, Array, { :item_type => String }
132
+
133
+ # @!attribute success
134
+ # @return [Boolean] Did this transaction complete successfully?
135
+ define_attribute :success, :Boolean
136
+
137
+ # @!attribute type
138
+ # @return [String] - `authorization` – verifies billing information and places a hold on money in the customer's account. - `capture` – captures funds held by an authorization and completes a purchase. - `purchase` – combines the authorization and capture in one transaction. - `refund` – returns all or a portion of the money collected in a previous transaction to the customer. - `verify` – a $0 or $1 transaction used to verify billing information which is immediately voided.
139
+ define_attribute :type, String
140
+
141
+ # @!attribute updated_at
142
+ # @return [DateTime] Updated at
143
+ define_attribute :updated_at, DateTime
144
+
145
+ # @!attribute uuid
146
+ # @return [String] The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.
147
+ define_attribute :uuid, String
148
+
149
+ # @!attribute voided_at
150
+ # @return [DateTime] Voided at
151
+ define_attribute :voided_at, DateTime
152
+
153
+ # @!attribute voided_by_invoice
154
+ # @return [InvoiceMini] Invoice mini details
155
+ define_attribute :voided_by_invoice, :InvoiceMini
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,38 @@
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 TransactionError < Resource
8
+
9
+ # @!attribute category
10
+ # @return [String] Category
11
+ define_attribute :category, String
12
+
13
+ # @!attribute code
14
+ # @return [String] Code
15
+ define_attribute :code, String
16
+
17
+ # @!attribute merchant_advice
18
+ # @return [String] Merchant message
19
+ define_attribute :merchant_advice, String
20
+
21
+ # @!attribute message
22
+ # @return [String] Customer message
23
+ define_attribute :message, String
24
+
25
+ # @!attribute object
26
+ # @return [String] Object type
27
+ define_attribute :object, String
28
+
29
+ # @!attribute three_d_secure_action_token_id
30
+ # @return [String] Returned when 3-D Secure authentication is required for a transaction. Pass this value to Recurly.js so it can continue the challenge flow.
31
+ define_attribute :three_d_secure_action_token_id, String
32
+
33
+ # @!attribute transaction_id
34
+ # @return [String] Transaction ID
35
+ define_attribute :transaction_id, String
36
+ end
37
+ end
38
+ end