recurly 2.18.15 → 3.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +14 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +158 -110
  8. data/Rakefile +6 -0
  9. data/bin/bundle +105 -0
  10. data/bin/coderay +29 -0
  11. data/bin/console +14 -0
  12. data/bin/htmldiff +29 -0
  13. data/bin/ldiff +29 -0
  14. data/bin/pry +29 -0
  15. data/bin/rake +29 -0
  16. data/bin/rspec +29 -0
  17. data/bin/setup +8 -0
  18. data/bin/yard +29 -0
  19. data/bin/yardoc +29 -0
  20. data/bin/yri +29 -0
  21. data/lib/data/ca-certificates.crt +31 -0
  22. data/lib/recurly.rb +14 -145
  23. data/lib/recurly/client.rb +198 -0
  24. data/lib/recurly/client/operations.rb +935 -0
  25. data/lib/recurly/errors.rb +34 -0
  26. data/lib/recurly/errors/api_errors.rb +35 -0
  27. data/lib/recurly/errors/network_errors.rb +8 -0
  28. data/lib/recurly/pager.rb +119 -0
  29. data/lib/recurly/request.rb +30 -0
  30. data/lib/recurly/requests/account_acquisition_updatable.rb +22 -0
  31. data/lib/recurly/requests/account_create_only.rb +18 -0
  32. data/lib/recurly/requests/account_updatable.rb +50 -0
  33. data/lib/recurly/requests/add_on_create.rb +38 -0
  34. data/lib/recurly/requests/add_on_update.rb +38 -0
  35. data/lib/recurly/requests/address.rb +42 -0
  36. data/lib/recurly/requests/billing_info_create.rb +58 -0
  37. data/lib/recurly/requests/coupon_create_only.rb +66 -0
  38. data/lib/recurly/requests/coupon_updatable.rb +30 -0
  39. data/lib/recurly/requests/create_account.rb +62 -0
  40. data/lib/recurly/requests/create_coupon.rb +90 -0
  41. data/lib/recurly/requests/invoice_create.rb +42 -0
  42. data/lib/recurly/requests/invoice_refund.rb +30 -0
  43. data/lib/recurly/requests/line_item_create.rb +46 -0
  44. data/lib/recurly/requests/plan_create.rb +66 -0
  45. data/lib/recurly/requests/plan_update.rb +70 -0
  46. data/lib/recurly/requests/shipping_address_create.rb +58 -0
  47. data/lib/recurly/requests/shipping_address_update.rb +62 -0
  48. data/lib/recurly/requests/subscription_add_on_create.rb +22 -0
  49. data/lib/recurly/requests/subscription_change_create.rb +42 -0
  50. data/lib/recurly/requests/subscription_create.rb +86 -0
  51. data/lib/recurly/requests/subscription_update.rb +42 -0
  52. data/lib/recurly/requests/update_coupon.rb +30 -0
  53. data/lib/recurly/resource.rb +16 -1103
  54. data/lib/recurly/resources/account.rb +86 -0
  55. data/lib/recurly/resources/account_acquisition.rb +42 -0
  56. data/lib/recurly/resources/account_balance.rb +22 -0
  57. data/lib/recurly/resources/account_note.rb +30 -0
  58. data/lib/recurly/resources/add_on.rb +62 -0
  59. data/lib/recurly/resources/address.rb +42 -0
  60. data/lib/recurly/resources/billing_info.rb +62 -0
  61. data/lib/recurly/resources/coupon.rb +110 -0
  62. data/lib/recurly/resources/coupon_discount.rb +22 -0
  63. data/lib/recurly/resources/coupon_redemption.rb +46 -0
  64. data/lib/recurly/resources/credit_payment.rb +62 -0
  65. data/lib/recurly/resources/error.rb +18 -0
  66. data/lib/recurly/resources/error_may_have_transaction.rb +22 -0
  67. data/lib/recurly/resources/invoice.rb +138 -0
  68. data/lib/recurly/resources/invoice_collection.rb +18 -0
  69. data/lib/recurly/resources/line_item.rb +166 -0
  70. data/lib/recurly/resources/plan.rb +86 -0
  71. data/lib/recurly/resources/settings.rb +18 -0
  72. data/lib/recurly/resources/shipping_address.rb +74 -0
  73. data/lib/recurly/resources/site.rb +46 -0
  74. data/lib/recurly/resources/subscription.rb +134 -0
  75. data/lib/recurly/resources/subscription_add_on.rb +42 -0
  76. data/lib/recurly/resources/subscription_change.rb +54 -0
  77. data/lib/recurly/resources/tax_info.rb +18 -0
  78. data/lib/recurly/resources/transaction.rb +146 -0
  79. data/lib/recurly/resources/unique_coupon_code.rb +38 -0
  80. data/lib/recurly/resources/user.rb +38 -0
  81. data/lib/recurly/schema.rb +114 -0
  82. data/lib/recurly/schema/json_deserializer.rb +53 -0
  83. data/lib/recurly/schema/json_parser.rb +71 -0
  84. data/lib/recurly/schema/request_caster.rb +66 -0
  85. data/lib/recurly/schema/schema_factory.rb +50 -0
  86. data/lib/recurly/schema/schema_validator.rb +125 -0
  87. data/lib/recurly/version.rb +1 -10
  88. data/recurly.gemspec +32 -0
  89. data/scripts/build +4 -0
  90. data/scripts/clean +6 -0
  91. data/scripts/test +3 -0
  92. metadata +121 -245
  93. data/lib/recurly/account.rb +0 -190
  94. data/lib/recurly/account_acquisition.rb +0 -27
  95. data/lib/recurly/account_balance.rb +0 -21
  96. data/lib/recurly/add_on.rb +0 -44
  97. data/lib/recurly/address.rb +0 -25
  98. data/lib/recurly/adjustment.rb +0 -81
  99. data/lib/recurly/api.rb +0 -110
  100. data/lib/recurly/api/errors.rb +0 -208
  101. data/lib/recurly/api/net_http_adapter.rb +0 -111
  102. data/lib/recurly/billing_info.rb +0 -109
  103. data/lib/recurly/coupon.rb +0 -134
  104. data/lib/recurly/credit_payment.rb +0 -32
  105. data/lib/recurly/custom_field.rb +0 -15
  106. data/lib/recurly/delivery.rb +0 -19
  107. data/lib/recurly/error.rb +0 -13
  108. data/lib/recurly/gift_card.rb +0 -85
  109. data/lib/recurly/helper.rb +0 -51
  110. data/lib/recurly/invoice.rb +0 -297
  111. data/lib/recurly/invoice_collection.rb +0 -14
  112. data/lib/recurly/item.rb +0 -36
  113. data/lib/recurly/js.rb +0 -14
  114. data/lib/recurly/juris_detail.rb +0 -15
  115. data/lib/recurly/measured_unit.rb +0 -16
  116. data/lib/recurly/money.rb +0 -120
  117. data/lib/recurly/note.rb +0 -14
  118. data/lib/recurly/plan.rb +0 -43
  119. data/lib/recurly/purchase.rb +0 -234
  120. data/lib/recurly/redemption.rb +0 -46
  121. data/lib/recurly/resource/association.rb +0 -16
  122. data/lib/recurly/resource/errors.rb +0 -20
  123. data/lib/recurly/resource/pager.rb +0 -313
  124. data/lib/recurly/shipping_address.rb +0 -26
  125. data/lib/recurly/shipping_fee.rb +0 -17
  126. data/lib/recurly/shipping_method.rb +0 -13
  127. data/lib/recurly/subscription.rb +0 -365
  128. data/lib/recurly/subscription/add_ons.rb +0 -82
  129. data/lib/recurly/subscription_add_on.rb +0 -58
  130. data/lib/recurly/tax_detail.rb +0 -16
  131. data/lib/recurly/tax_type.rb +0 -13
  132. data/lib/recurly/tier.rb +0 -18
  133. data/lib/recurly/transaction.rb +0 -131
  134. data/lib/recurly/transaction/errors.rb +0 -115
  135. data/lib/recurly/usage.rb +0 -28
  136. data/lib/recurly/verify.rb +0 -12
  137. data/lib/recurly/webhook.rb +0 -111
  138. data/lib/recurly/webhook/account_notification.rb +0 -13
  139. data/lib/recurly/webhook/billing_info_update_failed_notification.rb +0 -6
  140. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  141. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  142. data/lib/recurly/webhook/canceled_gift_card_notification.rb +0 -6
  143. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  144. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  145. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  146. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  147. data/lib/recurly/webhook/deactivated_item_notification.rb +0 -6
  148. data/lib/recurly/webhook/deleted_shipping_address_notification.rb +0 -6
  149. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  150. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  151. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  152. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  153. data/lib/recurly/webhook/fraud_info_updated_notification.rb +0 -6
  154. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  155. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  156. data/lib/recurly/webhook/item_notification.rb +0 -7
  157. data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
  158. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  159. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  160. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  161. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  162. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  163. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  164. data/lib/recurly/webhook/new_item_notification.rb +0 -6
  165. data/lib/recurly/webhook/new_shipping_address_notification.rb +0 -6
  166. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  167. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  168. data/lib/recurly/webhook/notification.rb +0 -18
  169. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  170. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  171. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  172. data/lib/recurly/webhook/paused_subscription_renewal_notification.rb +0 -6
  173. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  174. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  175. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  176. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  177. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  178. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  179. data/lib/recurly/webhook/reactivated_item_notification.rb +0 -6
  180. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  181. data/lib/recurly/webhook/regenerated_gift_card_notification.rb +0 -6
  182. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  183. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  184. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  185. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  186. data/lib/recurly/webhook/scheduled_subscription_pause_notification.rb +0 -6
  187. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  188. data/lib/recurly/webhook/subscription_pause_canceled_notification.rb +0 -6
  189. data/lib/recurly/webhook/subscription_pause_modified_notification.rb +0 -6
  190. data/lib/recurly/webhook/subscription_paused_notification.rb +0 -6
  191. data/lib/recurly/webhook/subscription_resumed_notification.rb +0 -6
  192. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  193. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  194. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  195. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  196. data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
  197. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  198. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  199. data/lib/recurly/webhook/updated_gift_card_notification.rb +0 -6
  200. data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
  201. data/lib/recurly/webhook/updated_item_notification.rb +0 -6
  202. data/lib/recurly/webhook/updated_shipping_address_notification.rb +0 -6
  203. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  204. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  205. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  206. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  207. data/lib/recurly/xml.rb +0 -122
  208. data/lib/recurly/xml/nokogiri.rb +0 -60
  209. data/lib/recurly/xml/rexml.rb +0 -52
@@ -0,0 +1,86 @@
1
+ module Recurly
2
+ module Resources
3
+ class Plan < Resource
4
+
5
+ # @!attribute accounting_code
6
+ # @return [String] Accounting code for invoice line items for the plan. If no value is provided, it defaults to plan's code.
7
+ define_attribute :accounting_code, String
8
+
9
+ # @!attribute code
10
+ # @return [String] Unique code to identify the plan. This is used in Hosted Payment Page URLs and in the invoice exports.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute [r] created_at
14
+ # @return [DateTime] Created at
15
+ define_attribute :created_at, DateTime, {:read_only => true}
16
+
17
+ # @!attribute currencies
18
+ # @return [Array[String]] Pricing
19
+ define_attribute :currencies, Array, {:item_type => String}
20
+
21
+ # @!attribute [r] deleted_at
22
+ # @return [DateTime] Deleted at
23
+ define_attribute :deleted_at, DateTime, {:read_only => true}
24
+
25
+ # @!attribute description
26
+ # @return [String] Optional description, not displayed.
27
+ define_attribute :description, String
28
+
29
+ # @!attribute hosted_pages
30
+ # @return [Hash] Hosted pages settings
31
+ define_attribute :hosted_pages, Hash
32
+
33
+ # @!attribute [r] id
34
+ # @return [String] Plan ID
35
+ define_attribute :id, String, {:read_only => true}
36
+
37
+ # @!attribute interval_length
38
+ # @return [Integer] Length of the plan's billing interval in `interval_unit`.
39
+ define_attribute :interval_length, Integer
40
+
41
+ # @!attribute interval_unit
42
+ # @return [String] Unit for the plan's billing interval.
43
+ define_attribute :interval_unit, String, {:enum => ["days", "months"]}
44
+
45
+ # @!attribute name
46
+ # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
47
+ define_attribute :name, String
48
+
49
+ # @!attribute [r] object
50
+ # @return [String] Object type
51
+ define_attribute :object, String, {:read_only => true}
52
+
53
+ # @!attribute setup_fee_accounting_code
54
+ # @return [String] Accounting code for invoice line items for the plan's setup fee. If no value is provided, it defaults to plan's accounting code.
55
+ define_attribute :setup_fee_accounting_code, String
56
+
57
+ # @!attribute [r] state
58
+ # @return [String] The current state of the plan.
59
+ define_attribute :state, String, {:read_only => true, :enum => ["active", "inactive"]}
60
+
61
+ # @!attribute tax_code
62
+ # @return [String] Optional field for EU VAT merchants and Avalara AvaTax Pro merchants. If you are using Recurly's EU VAT feature, you can use values of 'unknown', 'physical', or 'digital'. If you have your own AvaTax account configured, you can use Avalara tax codes to assign custom tax rules.
63
+ define_attribute :tax_code, String
64
+
65
+ # @!attribute tax_exempt
66
+ # @return [Boolean] `true` exempts tax on the plan, `false` applies tax on the plan.
67
+ define_attribute :tax_exempt, :Boolean
68
+
69
+ # @!attribute total_billing_cycles
70
+ # @return [Integer] Automatically terminate subscriptions after a defined number of billing cycles. Number of billing cycles before the plan automatically stops renewing, defaults to `null` for continuous, automatic renewal.
71
+ define_attribute :total_billing_cycles, Integer
72
+
73
+ # @!attribute trial_length
74
+ # @return [Integer] Length of plan's trial period in `trial_units`. `0` means `no trial`.
75
+ define_attribute :trial_length, Integer
76
+
77
+ # @!attribute trial_unit
78
+ # @return [String] Units for the plan's trial period.
79
+ define_attribute :trial_unit, String, {:enum => ["days", "months"]}
80
+
81
+ # @!attribute [r] updated_at
82
+ # @return [DateTime] Last updated at
83
+ define_attribute :updated_at, DateTime, {:read_only => true}
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,18 @@
1
+ module Recurly
2
+ module Resources
3
+ class Settings < Resource
4
+
5
+ # @!attribute [r] accepted_currencies
6
+ # @return [Array[String]]
7
+ define_attribute :accepted_currencies, Array, {:item_type => String, :read_only => true}
8
+
9
+ # @!attribute [r] billing_address_requirement
10
+ # @return [String] - full: Full Address (Street, City, State, Postal Code and Country) - streetzip: Street and Postal Code only - zip: Postal Code only - none: No Address
11
+ define_attribute :billing_address_requirement, String, {:read_only => true, :enum => ["full", "streetzip", "zip", "none"]}
12
+
13
+ # @!attribute [r] default_currency
14
+ # @return [String] The default 3-letter ISO 4217 currency code.
15
+ define_attribute :default_currency, String, {:read_only => true}
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,74 @@
1
+ module Recurly
2
+ module Resources
3
+ class ShippingAddress < Resource
4
+
5
+ # @!attribute [r] account_id
6
+ # @return [String] Account ID
7
+ define_attribute :account_id, String, {:read_only => true}
8
+
9
+ # @!attribute city
10
+ # @return [String]
11
+ define_attribute :city, String
12
+
13
+ # @!attribute company
14
+ # @return [String]
15
+ define_attribute :company, String
16
+
17
+ # @!attribute country
18
+ # @return [String] Country, 2-letter ISO code.
19
+ define_attribute :country, String
20
+
21
+ # @!attribute [r] created_at
22
+ # @return [DateTime] Created at
23
+ define_attribute :created_at, DateTime, {:read_only => true}
24
+
25
+ # @!attribute email
26
+ # @return [String]
27
+ define_attribute :email, String
28
+
29
+ # @!attribute first_name
30
+ # @return [String]
31
+ define_attribute :first_name, String
32
+
33
+ # @!attribute [r] id
34
+ # @return [String] Shipping Address ID
35
+ define_attribute :id, String, {:read_only => true}
36
+
37
+ # @!attribute last_name
38
+ # @return [String]
39
+ define_attribute :last_name, String
40
+
41
+ # @!attribute nickname
42
+ # @return [String]
43
+ define_attribute :nickname, String
44
+
45
+ # @!attribute phone
46
+ # @return [String]
47
+ define_attribute :phone, String
48
+
49
+ # @!attribute postal_code
50
+ # @return [String] Zip or postal code.
51
+ define_attribute :postal_code, String
52
+
53
+ # @!attribute region
54
+ # @return [String] State or province.
55
+ define_attribute :region, String
56
+
57
+ # @!attribute street1
58
+ # @return [String]
59
+ define_attribute :street1, String
60
+
61
+ # @!attribute street2
62
+ # @return [String]
63
+ define_attribute :street2, String
64
+
65
+ # @!attribute [r] updated_at
66
+ # @return [DateTime] Updated at
67
+ define_attribute :updated_at, DateTime, {:read_only => true}
68
+
69
+ # @!attribute vat_number
70
+ # @return [String]
71
+ define_attribute :vat_number, String
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,46 @@
1
+ module Recurly
2
+ module Resources
3
+ class Site < Resource
4
+
5
+ # @!attribute address
6
+ # @return [Address]
7
+ define_attribute :address, :Address
8
+
9
+ # @!attribute [r] created_at
10
+ # @return [DateTime] Created at
11
+ define_attribute :created_at, DateTime, {:read_only => true}
12
+
13
+ # @!attribute [r] deleted_at
14
+ # @return [DateTime] Deleted at
15
+ define_attribute :deleted_at, DateTime, {:read_only => true}
16
+
17
+ # @!attribute features
18
+ # @return [Array[String]] A list of features enabled for the site.
19
+ define_attribute :features, Array, {:item_type => String}
20
+
21
+ # @!attribute [r] id
22
+ # @return [String] Site ID
23
+ define_attribute :id, String, {:read_only => true}
24
+
25
+ # @!attribute [r] mode
26
+ # @return [String] Mode
27
+ define_attribute :mode, String, {:read_only => true, :enum => ["development", "production", "sandbox"]}
28
+
29
+ # @!attribute [r] object
30
+ # @return [String] Object type
31
+ define_attribute :object, String, {:read_only => true}
32
+
33
+ # @!attribute settings
34
+ # @return [Settings]
35
+ define_attribute :settings, :Settings
36
+
37
+ # @!attribute [r] subdomain
38
+ # @return [String]
39
+ define_attribute :subdomain, String, {:read_only => true}
40
+
41
+ # @!attribute [r] updated_at
42
+ # @return [DateTime] Updated at
43
+ define_attribute :updated_at, DateTime, {:read_only => true}
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,134 @@
1
+ module Recurly
2
+ module Resources
3
+ class Subscription < Resource
4
+
5
+ # @!attribute account
6
+ # @return [AccountMini]
7
+ define_attribute :account, :AccountMini
8
+
9
+ # @!attribute activated_at
10
+ # @return [DateTime] Activated at
11
+ define_attribute :activated_at, DateTime
12
+
13
+ # @!attribute add_ons
14
+ # @return [Array[SubscriptionAddOn]] Add-ons
15
+ define_attribute :add_ons, Array, {:item_type => :SubscriptionAddOn}
16
+
17
+ # @!attribute add_ons_total
18
+ # @return [Float] Total price of add-ons
19
+ define_attribute :add_ons_total, Float
20
+
21
+ # @!attribute bank_account_authorized_at
22
+ # @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.
23
+ define_attribute :bank_account_authorized_at, DateTime
24
+
25
+ # @!attribute canceled_at
26
+ # @return [DateTime] Canceled at
27
+ define_attribute :canceled_at, DateTime
28
+
29
+ # @!attribute collection_method
30
+ # @return [String] Collection method
31
+ define_attribute :collection_method, String, {:enum => ["automatic", "manual"]}
32
+
33
+ # @!attribute coupon_redemptions
34
+ # @return [Array[CouponRedemptionMini]] Coupon redemptions
35
+ define_attribute :coupon_redemptions, Array, {:item_type => :CouponRedemptionMini}
36
+
37
+ # @!attribute created_at
38
+ # @return [DateTime] Created at
39
+ define_attribute :created_at, DateTime
40
+
41
+ # @!attribute currency
42
+ # @return [String] 3-letter ISO 4217 currency code.
43
+ define_attribute :currency, String
44
+
45
+ # @!attribute current_period_ends_at
46
+ # @return [DateTime] Current billing period ends at
47
+ define_attribute :current_period_ends_at, DateTime
48
+
49
+ # @!attribute current_period_started_at
50
+ # @return [DateTime] Current billing period started at
51
+ define_attribute :current_period_started_at, DateTime
52
+
53
+ # @!attribute customer_notes
54
+ # @return [String] Customer notes
55
+ define_attribute :customer_notes, String
56
+
57
+ # @!attribute expiration_reason
58
+ # @return [String] Expiration reason
59
+ define_attribute :expiration_reason, String
60
+
61
+ # @!attribute expires_at
62
+ # @return [DateTime] Expires at
63
+ define_attribute :expires_at, DateTime
64
+
65
+ # @!attribute id
66
+ # @return [String] Subscription ID
67
+ define_attribute :id, String
68
+
69
+ # @!attribute net_terms
70
+ # @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.
71
+ define_attribute :net_terms, Integer
72
+
73
+ # @!attribute object
74
+ # @return [String] Object type
75
+ define_attribute :object, String
76
+
77
+ # @!attribute pending_change
78
+ # @return [SubscriptionChange]
79
+ define_attribute :pending_change, :SubscriptionChange
80
+
81
+ # @!attribute plan
82
+ # @return [PlanMini]
83
+ define_attribute :plan, :PlanMini
84
+
85
+ # @!attribute po_number
86
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
87
+ define_attribute :po_number, String
88
+
89
+ # @!attribute quantity
90
+ # @return [Integer] Subscription quantity
91
+ define_attribute :quantity, Integer
92
+
93
+ # @!attribute remaining_billing_cycles
94
+ # @return [Integer] Remaining billing cycles
95
+ define_attribute :remaining_billing_cycles, Integer
96
+
97
+ # @!attribute shipping_address
98
+ # @return [ShippingAddress]
99
+ define_attribute :shipping_address, :ShippingAddress
100
+
101
+ # @!attribute state
102
+ # @return [String] State
103
+ define_attribute :state, String, {:enum => ["active", "canceled", "expired", "failed", "future", "paused"]}
104
+
105
+ # @!attribute subtotal
106
+ # @return [Float] Estimated total, before tax.
107
+ define_attribute :subtotal, Float
108
+
109
+ # @!attribute terms_and_conditions
110
+ # @return [String] Terms and conditions
111
+ define_attribute :terms_and_conditions, String
112
+
113
+ # @!attribute trial_ends_at
114
+ # @return [DateTime] Trial period ends at
115
+ define_attribute :trial_ends_at, DateTime
116
+
117
+ # @!attribute trial_started_at
118
+ # @return [DateTime] Trial period started at
119
+ define_attribute :trial_started_at, DateTime
120
+
121
+ # @!attribute unit_amount
122
+ # @return [Float] Subscription unit price
123
+ define_attribute :unit_amount, Float
124
+
125
+ # @!attribute updated_at
126
+ # @return [DateTime] Last updated at
127
+ define_attribute :updated_at, DateTime
128
+
129
+ # @!attribute uuid
130
+ # @return [String] The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.
131
+ define_attribute :uuid, String
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,42 @@
1
+ module Recurly
2
+ module Resources
3
+ class SubscriptionAddOn < Resource
4
+
5
+ # @!attribute add_on
6
+ # @return [AddOnMini]
7
+ define_attribute :add_on, :AddOnMini
8
+
9
+ # @!attribute created_at
10
+ # @return [DateTime] Created at
11
+ define_attribute :created_at, DateTime
12
+
13
+ # @!attribute expired_at
14
+ # @return [DateTime] Expired at
15
+ define_attribute :expired_at, DateTime
16
+
17
+ # @!attribute id
18
+ # @return [String] Subscription Add-on ID
19
+ define_attribute :id, String
20
+
21
+ # @!attribute object
22
+ # @return [String] Object type
23
+ define_attribute :object, String
24
+
25
+ # @!attribute quantity
26
+ # @return [Integer] Add-on quantity
27
+ define_attribute :quantity, Integer
28
+
29
+ # @!attribute subscription_id
30
+ # @return [String] Subscription ID
31
+ define_attribute :subscription_id, String
32
+
33
+ # @!attribute unit_amount
34
+ # @return [Float] This is priced in the subscription's currency.
35
+ define_attribute :unit_amount, Float
36
+
37
+ # @!attribute updated_at
38
+ # @return [DateTime] Updated at
39
+ define_attribute :updated_at, DateTime
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,54 @@
1
+ module Recurly
2
+ module Resources
3
+ class SubscriptionChange < Resource
4
+
5
+ # @!attribute [r] activate_at
6
+ # @return [DateTime] Activated at
7
+ define_attribute :activate_at, DateTime, {:read_only => true}
8
+
9
+ # @!attribute activated
10
+ # @return [Boolean] Returns `true` if the subscription change is activated.
11
+ define_attribute :activated, :Boolean
12
+
13
+ # @!attribute add_ons
14
+ # @return [Array[SubscriptionAddOn]] These add-ons will be used when the subscription renews.
15
+ define_attribute :add_ons, Array, {:item_type => :SubscriptionAddOn}
16
+
17
+ # @!attribute [r] created_at
18
+ # @return [DateTime] Created at
19
+ define_attribute :created_at, DateTime, {:read_only => true}
20
+
21
+ # @!attribute [r] deleted_at
22
+ # @return [DateTime] Deleted at
23
+ define_attribute :deleted_at, DateTime, {:read_only => true}
24
+
25
+ # @!attribute id
26
+ # @return [String] The ID of the Subscription Change.
27
+ define_attribute :id, String
28
+
29
+ # @!attribute object
30
+ # @return [String] Object type
31
+ define_attribute :object, String
32
+
33
+ # @!attribute plan
34
+ # @return [PlanMini]
35
+ define_attribute :plan, :PlanMini
36
+
37
+ # @!attribute quantity
38
+ # @return [Integer] Subscription quantity
39
+ define_attribute :quantity, Integer
40
+
41
+ # @!attribute subscription_id
42
+ # @return [String] The ID of the subscription that is going to be changed.
43
+ define_attribute :subscription_id, String
44
+
45
+ # @!attribute unit_amount
46
+ # @return [Float] Unit amount
47
+ define_attribute :unit_amount, Float
48
+
49
+ # @!attribute [r] updated_at
50
+ # @return [DateTime] Updated at
51
+ define_attribute :updated_at, DateTime, {:read_only => true}
52
+ end
53
+ end
54
+ end