recurly 2.17.0 → 3.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +15 -0
  3. data/.changelog_config.yaml +11 -0
  4. data/.github/ISSUE_TEMPLATE/bug-report.md +30 -0
  5. data/.github/ISSUE_TEMPLATE/question-or-other.md +10 -0
  6. data/.github/workflows/ci.yml +29 -0
  7. data/.github/workflows/docs.yml +28 -0
  8. data/.gitignore +15 -0
  9. data/.rspec +2 -0
  10. data/.yardopts +2 -0
  11. data/CHANGELOG.md +496 -0
  12. data/CODE_OF_CONDUCT.md +130 -0
  13. data/CONTRIBUTING.md +106 -0
  14. data/GETTING_STARTED.md +319 -0
  15. data/Gemfile +4 -0
  16. data/LICENSE.txt +21 -0
  17. data/README.md +9 -153
  18. data/Rakefile +6 -0
  19. data/benchmark.rb +16 -0
  20. data/lib/data/ca-certificates.crt +3466 -0
  21. data/lib/recurly/client/operations.rb +3868 -0
  22. data/lib/recurly/client.rb +355 -0
  23. data/lib/recurly/connection_pool.rb +40 -0
  24. data/lib/recurly/errors/api_errors.rb +87 -0
  25. data/lib/recurly/errors/network_errors.rb +10 -0
  26. data/lib/recurly/errors.rb +68 -0
  27. data/lib/recurly/http.rb +50 -0
  28. data/lib/recurly/pager.rb +146 -0
  29. data/lib/recurly/request.rb +31 -0
  30. data/lib/recurly/requests/account_acquisition_cost.rb +18 -0
  31. data/lib/recurly/requests/account_acquisition_updatable.rb +26 -0
  32. data/lib/recurly/requests/account_create.rb +94 -0
  33. data/lib/recurly/requests/account_purchase.rb +94 -0
  34. data/lib/recurly/requests/account_update.rb +82 -0
  35. data/lib/recurly/requests/add_on_create.rb +94 -0
  36. data/lib/recurly/requests/add_on_pricing.rb +22 -0
  37. data/lib/recurly/requests/add_on_update.rb +74 -0
  38. data/lib/recurly/requests/address.rb +46 -0
  39. data/lib/recurly/requests/billing_info_create.rb +126 -0
  40. data/lib/recurly/requests/billing_info_verify.rb +14 -0
  41. data/lib/recurly/requests/coupon_bulk_create.rb +14 -0
  42. data/lib/recurly/requests/coupon_create.rb +102 -0
  43. data/lib/recurly/requests/coupon_pricing.rb +18 -0
  44. data/lib/recurly/requests/coupon_redemption_create.rb +22 -0
  45. data/lib/recurly/requests/coupon_update.rb +34 -0
  46. data/lib/recurly/requests/custom_field.rb +18 -0
  47. data/lib/recurly/requests/dunning_campaigns_bulk_update.rb +18 -0
  48. data/lib/recurly/requests/external_refund.rb +22 -0
  49. data/lib/recurly/requests/external_transaction.rb +26 -0
  50. data/lib/recurly/requests/invoice_address.rb +54 -0
  51. data/lib/recurly/requests/invoice_collect.rb +22 -0
  52. data/lib/recurly/requests/invoice_create.rb +42 -0
  53. data/lib/recurly/requests/invoice_refund.rb +34 -0
  54. data/lib/recurly/requests/invoice_updatable.rb +34 -0
  55. data/lib/recurly/requests/item_create.rb +58 -0
  56. data/lib/recurly/requests/item_update.rb +58 -0
  57. data/lib/recurly/requests/line_item_create.rb +86 -0
  58. data/lib/recurly/requests/line_item_refund.rb +26 -0
  59. data/lib/recurly/requests/measured_unit_create.rb +22 -0
  60. data/lib/recurly/requests/measured_unit_update.rb +22 -0
  61. data/lib/recurly/requests/plan_create.rb +114 -0
  62. data/lib/recurly/requests/plan_hosted_pages.rb +26 -0
  63. data/lib/recurly/requests/plan_pricing.rb +26 -0
  64. data/lib/recurly/requests/plan_ramp_interval.rb +18 -0
  65. data/lib/recurly/requests/plan_ramp_pricing.rb +18 -0
  66. data/lib/recurly/requests/plan_update.rb +102 -0
  67. data/lib/recurly/requests/pricing.rb +22 -0
  68. data/lib/recurly/requests/purchase_create.rb +78 -0
  69. data/lib/recurly/requests/shipping_address_create.rb +62 -0
  70. data/lib/recurly/requests/shipping_address_update.rb +66 -0
  71. data/lib/recurly/requests/shipping_fee_create.rb +22 -0
  72. data/lib/recurly/requests/shipping_method_create.rb +26 -0
  73. data/lib/recurly/requests/shipping_method_update.rb +26 -0
  74. data/lib/recurly/requests/shipping_purchase.rb +22 -0
  75. data/lib/recurly/requests/subscription_add_on_create.rb +38 -0
  76. data/lib/recurly/requests/subscription_add_on_tier.rb +18 -0
  77. data/lib/recurly/requests/subscription_add_on_update.rb +42 -0
  78. data/lib/recurly/requests/subscription_cancel.rb +14 -0
  79. data/lib/recurly/requests/subscription_change_billing_info_create.rb +14 -0
  80. data/lib/recurly/requests/subscription_change_create.rb +78 -0
  81. data/lib/recurly/requests/subscription_change_shipping_create.rb +22 -0
  82. data/lib/recurly/requests/subscription_create.rb +118 -0
  83. data/lib/recurly/requests/subscription_pause.rb +14 -0
  84. data/lib/recurly/requests/subscription_purchase.rb +74 -0
  85. data/lib/recurly/requests/subscription_ramp_interval.rb +18 -0
  86. data/lib/recurly/requests/subscription_shipping_create.rb +30 -0
  87. data/lib/recurly/requests/subscription_shipping_purchase.rb +22 -0
  88. data/lib/recurly/requests/subscription_shipping_update.rb +22 -0
  89. data/lib/recurly/requests/subscription_update.rb +66 -0
  90. data/lib/recurly/requests/tier.rb +18 -0
  91. data/lib/recurly/requests/usage_create.rb +26 -0
  92. data/lib/recurly/requests.rb +8 -0
  93. data/lib/recurly/resource.rb +23 -1082
  94. data/lib/recurly/resources/account.rb +134 -0
  95. data/lib/recurly/resources/account_acquisition.rb +46 -0
  96. data/lib/recurly/resources/account_acquisition_cost.rb +18 -0
  97. data/lib/recurly/resources/account_balance.rb +26 -0
  98. data/lib/recurly/resources/account_balance_amount.rb +26 -0
  99. data/lib/recurly/resources/account_mini.rb +50 -0
  100. data/lib/recurly/resources/account_note.rb +34 -0
  101. data/lib/recurly/resources/add_on.rb +114 -0
  102. data/lib/recurly/resources/add_on_mini.rb +54 -0
  103. data/lib/recurly/resources/add_on_pricing.rb +22 -0
  104. data/lib/recurly/resources/address.rb +46 -0
  105. data/lib/recurly/resources/billing_info.rb +74 -0
  106. data/lib/recurly/resources/billing_info_updated_by.rb +18 -0
  107. data/lib/recurly/resources/binary_file.rb +14 -0
  108. data/lib/recurly/resources/coupon.rb +138 -0
  109. data/lib/recurly/resources/coupon_discount.rb +26 -0
  110. data/lib/recurly/resources/coupon_discount_pricing.rb +18 -0
  111. data/lib/recurly/resources/coupon_discount_trial.rb +18 -0
  112. data/lib/recurly/resources/coupon_mini.rb +42 -0
  113. data/lib/recurly/resources/coupon_redemption.rb +54 -0
  114. data/lib/recurly/resources/coupon_redemption_mini.rb +34 -0
  115. data/lib/recurly/resources/credit_payment.rb +66 -0
  116. data/lib/recurly/resources/custom_field.rb +18 -0
  117. data/lib/recurly/resources/custom_field_definition.rb +50 -0
  118. data/lib/recurly/resources/dunning_campaign.rb +50 -0
  119. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +18 -0
  120. data/lib/recurly/resources/dunning_cycle.rb +58 -0
  121. data/lib/recurly/resources/dunning_interval.rb +18 -0
  122. data/lib/recurly/resources/error.rb +22 -0
  123. data/lib/recurly/resources/error_may_have_transaction.rb +26 -0
  124. data/lib/recurly/resources/export_dates.rb +18 -0
  125. data/lib/recurly/resources/export_file.rb +22 -0
  126. data/lib/recurly/resources/export_files.rb +18 -0
  127. data/lib/recurly/resources/fraud_info.rb +22 -0
  128. data/lib/recurly/resources/invoice.rb +154 -0
  129. data/lib/recurly/resources/invoice_address.rb +54 -0
  130. data/lib/recurly/resources/invoice_collection.rb +22 -0
  131. data/lib/recurly/resources/invoice_mini.rb +30 -0
  132. data/lib/recurly/resources/item.rb +82 -0
  133. data/lib/recurly/resources/item_mini.rb +34 -0
  134. data/lib/recurly/resources/line_item.rb +214 -0
  135. data/lib/recurly/resources/line_item_list.rb +26 -0
  136. data/lib/recurly/resources/measured_unit.rb +46 -0
  137. data/lib/recurly/resources/payment_method.rb +70 -0
  138. data/lib/recurly/resources/plan.rb +134 -0
  139. data/lib/recurly/resources/plan_hosted_pages.rb +26 -0
  140. data/lib/recurly/resources/plan_mini.rb +26 -0
  141. data/lib/recurly/resources/plan_pricing.rb +26 -0
  142. data/lib/recurly/resources/plan_ramp_interval.rb +18 -0
  143. data/lib/recurly/resources/plan_ramp_pricing.rb +18 -0
  144. data/lib/recurly/resources/pricing.rb +22 -0
  145. data/lib/recurly/resources/settings.rb +22 -0
  146. data/lib/recurly/resources/shipping_address.rb +82 -0
  147. data/lib/recurly/resources/shipping_method.rb +46 -0
  148. data/lib/recurly/resources/shipping_method_mini.rb +26 -0
  149. data/lib/recurly/resources/site.rb +54 -0
  150. data/lib/recurly/resources/subscription.rb +190 -0
  151. data/lib/recurly/resources/subscription_add_on.rb +66 -0
  152. data/lib/recurly/resources/subscription_add_on_tier.rb +18 -0
  153. data/lib/recurly/resources/subscription_change.rb +90 -0
  154. data/lib/recurly/resources/subscription_change_billing_info.rb +14 -0
  155. data/lib/recurly/resources/subscription_change_preview.rb +90 -0
  156. data/lib/recurly/resources/subscription_ramp_interval_response.rb +22 -0
  157. data/lib/recurly/resources/subscription_shipping.rb +26 -0
  158. data/lib/recurly/resources/tax_detail.rb +26 -0
  159. data/lib/recurly/resources/tax_info.rb +26 -0
  160. data/lib/recurly/resources/tier.rb +18 -0
  161. data/lib/recurly/resources/transaction.rb +162 -0
  162. data/lib/recurly/resources/transaction_error.rb +38 -0
  163. data/lib/recurly/resources/transaction_payment_gateway.rb +26 -0
  164. data/lib/recurly/resources/unique_coupon_code.rb +50 -0
  165. data/lib/recurly/resources/usage.rb +70 -0
  166. data/lib/recurly/resources/user.rb +42 -0
  167. data/lib/recurly/resources.rb +18 -0
  168. data/lib/recurly/schema/file_parser.rb +13 -0
  169. data/lib/recurly/schema/json_parser.rb +72 -0
  170. data/lib/recurly/schema/request_caster.rb +60 -0
  171. data/lib/recurly/schema/resource_caster.rb +46 -0
  172. data/lib/recurly/schema/schema_factory.rb +48 -0
  173. data/lib/recurly/schema/schema_validator.rb +144 -0
  174. data/lib/recurly/schema.rb +156 -0
  175. data/lib/recurly/version.rb +1 -15
  176. data/lib/recurly.rb +15 -137
  177. data/openapi/api.yaml +22373 -0
  178. data/recurly.gemspec +39 -0
  179. data/scripts/build +5 -0
  180. data/scripts/clean +6 -0
  181. data/scripts/format +12 -0
  182. data/scripts/prepare-release +50 -0
  183. data/scripts/release +17 -0
  184. data/scripts/test +15 -0
  185. metadata +216 -165
  186. data/lib/recurly/account.rb +0 -169
  187. data/lib/recurly/account_balance.rb +0 -21
  188. data/lib/recurly/add_on.rb +0 -30
  189. data/lib/recurly/address.rb +0 -25
  190. data/lib/recurly/adjustment.rb +0 -76
  191. data/lib/recurly/api/errors.rb +0 -206
  192. data/lib/recurly/api/net_http_adapter.rb +0 -111
  193. data/lib/recurly/api.rb +0 -101
  194. data/lib/recurly/billing_info.rb +0 -80
  195. data/lib/recurly/coupon.rb +0 -134
  196. data/lib/recurly/credit_payment.rb +0 -28
  197. data/lib/recurly/custom_field.rb +0 -15
  198. data/lib/recurly/delivery.rb +0 -19
  199. data/lib/recurly/error.rb +0 -13
  200. data/lib/recurly/gift_card.rb +0 -79
  201. data/lib/recurly/helper.rb +0 -51
  202. data/lib/recurly/invoice.rb +0 -268
  203. data/lib/recurly/invoice_collection.rb +0 -14
  204. data/lib/recurly/js.rb +0 -14
  205. data/lib/recurly/juris_detail.rb +0 -14
  206. data/lib/recurly/measured_unit.rb +0 -16
  207. data/lib/recurly/money.rb +0 -120
  208. data/lib/recurly/plan.rb +0 -40
  209. data/lib/recurly/purchase.rb +0 -219
  210. data/lib/recurly/redemption.rb +0 -46
  211. data/lib/recurly/resource/association.rb +0 -16
  212. data/lib/recurly/resource/errors.rb +0 -20
  213. data/lib/recurly/resource/pager.rb +0 -314
  214. data/lib/recurly/shipping_address.rb +0 -22
  215. data/lib/recurly/subscription/add_ons.rb +0 -77
  216. data/lib/recurly/subscription.rb +0 -325
  217. data/lib/recurly/subscription_add_on.rb +0 -50
  218. data/lib/recurly/tax_detail.rb +0 -14
  219. data/lib/recurly/tax_type.rb +0 -12
  220. data/lib/recurly/transaction/errors.rb +0 -107
  221. data/lib/recurly/transaction.rb +0 -116
  222. data/lib/recurly/usage.rb +0 -24
  223. data/lib/recurly/webhook/account_notification.rb +0 -10
  224. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  225. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  226. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  227. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  228. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  229. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  230. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  231. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  232. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  233. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  234. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  235. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  236. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  237. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  238. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  239. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  240. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  241. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  242. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  243. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  244. data/lib/recurly/webhook/notification.rb +0 -18
  245. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  246. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  247. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  248. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  249. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  250. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  251. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  252. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  253. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  254. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  255. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  256. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  257. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  258. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  259. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  260. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  261. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  262. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  263. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  264. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  265. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  266. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  267. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  268. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  269. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  270. data/lib/recurly/webhook.rb +0 -88
  271. data/lib/recurly/xml/nokogiri.rb +0 -58
  272. data/lib/recurly/xml/rexml.rb +0 -50
  273. data/lib/recurly/xml.rb +0 -120
@@ -0,0 +1,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 Requests
7
+ class SubscriptionChangeShippingCreate < Request
8
+
9
+ # @!attribute amount
10
+ # @return [Float] Assigns the subscription's shipping cost. If this is greater than zero then a `method_id` or `method_code` is required.
11
+ define_attribute :amount, Float
12
+
13
+ # @!attribute method_code
14
+ # @return [String] The code of the shipping method used to deliver the subscription. To remove shipping set this to `null` and the `amount=0`. If `method_id` and `method_code` are both present, `method_id` will be used.
15
+ define_attribute :method_code, String
16
+
17
+ # @!attribute method_id
18
+ # @return [String] The id of the shipping method used to deliver the subscription. To remove shipping set this to `null` and the `amount=0`. If `method_id` and `method_code` are both present, `method_id` will be used.
19
+ define_attribute :method_id, String
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,118 @@
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 Requests
7
+ class SubscriptionCreate < Request
8
+
9
+ # @!attribute account
10
+ # @return [AccountCreate]
11
+ define_attribute :account, :AccountCreate
12
+
13
+ # @!attribute add_ons
14
+ # @return [Array[SubscriptionAddOnCreate]] Add-ons
15
+ define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOnCreate }
16
+
17
+ # @!attribute auto_renew
18
+ # @return [Boolean] Whether the subscription renews at the end of its term.
19
+ define_attribute :auto_renew, :Boolean
20
+
21
+ # @!attribute billing_info_id
22
+ # @return [String] The `billing_info_id` is the value that represents a specific billing info for an end customer. When `billing_info_id` is used to assign billing info to the subscription, all future billing events for the subscription will bill to the specified billing info. `billing_info_id` can ONLY be used for sites utilizing the Wallet feature.
23
+ define_attribute :billing_info_id, String
24
+
25
+ # @!attribute collection_method
26
+ # @return [String] Collection method
27
+ define_attribute :collection_method, String
28
+
29
+ # @!attribute coupon_code
30
+ # @return [String] Optional coupon code to redeem on the account and discount the subscription. Please note, the subscription request will fail if the coupon is invalid.
31
+ define_attribute :coupon_code, String
32
+
33
+ # @!attribute credit_customer_notes
34
+ # @return [String] If there are pending credits on the account that will be invoiced during the subscription creation, these will be used as the Customer Notes on the credit invoice.
35
+ define_attribute :credit_customer_notes, String
36
+
37
+ # @!attribute currency
38
+ # @return [String] 3-letter ISO 4217 currency code.
39
+ define_attribute :currency, String
40
+
41
+ # @!attribute custom_fields
42
+ # @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.
43
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
44
+
45
+ # @!attribute customer_notes
46
+ # @return [String] This will default to the Customer Notes text specified on the Invoice Settings. Specify custom notes to add or override Customer Notes. Custom notes will stay with a subscription on all renewals.
47
+ define_attribute :customer_notes, String
48
+
49
+ # @!attribute net_terms
50
+ # @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.
51
+ define_attribute :net_terms, Integer
52
+
53
+ # @!attribute next_bill_date
54
+ # @return [DateTime] If present, this sets the date the subscription's next billing period will start (`current_period_ends_at`). This can be used to align the subscription’s billing to a specific day of the month. The initial invoice will be prorated for the period between the subscription's activation date and the billing period end date. Subsequent periods will be based off the plan interval. For a subscription with a trial period, this will change when the trial expires.
55
+ define_attribute :next_bill_date, DateTime
56
+
57
+ # @!attribute plan_code
58
+ # @return [String] You must provide either a `plan_code` or `plan_id`. If both are provided the `plan_id` will be used.
59
+ define_attribute :plan_code, String
60
+
61
+ # @!attribute plan_id
62
+ # @return [String] You must provide either a `plan_code` or `plan_id`. If both are provided the `plan_id` will be used.
63
+ define_attribute :plan_id, String
64
+
65
+ # @!attribute po_number
66
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
67
+ define_attribute :po_number, String
68
+
69
+ # @!attribute quantity
70
+ # @return [Integer] Optionally override the default quantity of 1.
71
+ define_attribute :quantity, Integer
72
+
73
+ # @!attribute ramp_intervals
74
+ # @return [Array[SubscriptionRampInterval]] The new set of ramp intervals for the subscription.
75
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampInterval }
76
+
77
+ # @!attribute renewal_billing_cycles
78
+ # @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`.
79
+ define_attribute :renewal_billing_cycles, Integer
80
+
81
+ # @!attribute revenue_schedule_type
82
+ # @return [String] Revenue schedule type
83
+ define_attribute :revenue_schedule_type, String
84
+
85
+ # @!attribute shipping
86
+ # @return [SubscriptionShippingCreate] Create a shipping address on the account and assign it to the subscription.
87
+ define_attribute :shipping, :SubscriptionShippingCreate
88
+
89
+ # @!attribute starts_at
90
+ # @return [DateTime] If set, the subscription will begin in the future on this date. The subscription will apply the setup fee and trial period, unless the plan has no trial.
91
+ define_attribute :starts_at, DateTime
92
+
93
+ # @!attribute tax_inclusive
94
+ # @return [Boolean] Determines whether or not tax is included in the unit amount. The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing feature) must be enabled to use this flag.
95
+ define_attribute :tax_inclusive, :Boolean
96
+
97
+ # @!attribute terms_and_conditions
98
+ # @return [String] This will default to the Terms and Conditions text specified on the Invoice Settings page in your Recurly admin. Specify custom notes to add or override Terms and Conditions. Custom notes will stay with a subscription on all renewals.
99
+ define_attribute :terms_and_conditions, String
100
+
101
+ # @!attribute total_billing_cycles
102
+ # @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.
103
+ define_attribute :total_billing_cycles, Integer
104
+
105
+ # @!attribute transaction_type
106
+ # @return [String] An optional type designation for the payment gateway transaction created by this request. Supports 'moto' value, which is the acronym for mail order and telephone transactions.
107
+ define_attribute :transaction_type, String
108
+
109
+ # @!attribute trial_ends_at
110
+ # @return [DateTime] IIf set, overrides the default trial behavior for the subscription. When the current date time or a past date time is provided the subscription will begin with no trial phase (overriding any plan default trial). When a future date time is provided the subscription will begin with a trial phase ending at the specified date time.
111
+ define_attribute :trial_ends_at, DateTime
112
+
113
+ # @!attribute unit_amount
114
+ # @return [Float] Override the unit amount of the subscription plan by setting this value. If not provided, the subscription will inherit the price from the subscription plan for the provided currency.
115
+ define_attribute :unit_amount, Float
116
+ end
117
+ end
118
+ 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 Requests
7
+ class SubscriptionPause < Request
8
+
9
+ # @!attribute remaining_pause_cycles
10
+ # @return [Integer] Number of billing cycles to pause the subscriptions. A value of 0 will cancel any pending pauses on the subscription.
11
+ define_attribute :remaining_pause_cycles, Integer
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,74 @@
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 Requests
7
+ class SubscriptionPurchase < Request
8
+
9
+ # @!attribute add_ons
10
+ # @return [Array[SubscriptionAddOnCreate]] Add-ons
11
+ define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOnCreate }
12
+
13
+ # @!attribute auto_renew
14
+ # @return [Boolean] Whether the subscription renews at the end of its term.
15
+ define_attribute :auto_renew, :Boolean
16
+
17
+ # @!attribute custom_fields
18
+ # @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.
19
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
20
+
21
+ # @!attribute next_bill_date
22
+ # @return [DateTime] If present, this sets the date the subscription's next billing period will start (`current_period_ends_at`). This can be used to align the subscription’s billing to a specific day of the month. The initial invoice will be prorated for the period between the subscription's activation date and the billing period end date. Subsequent periods will be based off the plan interval. For a subscription with a trial period, this will change when the trial expires.
23
+ define_attribute :next_bill_date, DateTime
24
+
25
+ # @!attribute plan_code
26
+ # @return [String] Plan code
27
+ define_attribute :plan_code, String
28
+
29
+ # @!attribute plan_id
30
+ # @return [String] Plan ID
31
+ define_attribute :plan_id, String
32
+
33
+ # @!attribute quantity
34
+ # @return [Integer] Optionally override the default quantity of 1.
35
+ define_attribute :quantity, Integer
36
+
37
+ # @!attribute ramp_intervals
38
+ # @return [Array[SubscriptionRampInterval]] The new set of ramp intervals for the subscription.
39
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampInterval }
40
+
41
+ # @!attribute renewal_billing_cycles
42
+ # @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`.
43
+ define_attribute :renewal_billing_cycles, Integer
44
+
45
+ # @!attribute revenue_schedule_type
46
+ # @return [String] Revenue schedule type
47
+ define_attribute :revenue_schedule_type, String
48
+
49
+ # @!attribute shipping
50
+ # @return [SubscriptionShippingPurchase] Create a shipping address on the account and assign it to the subscription.
51
+ define_attribute :shipping, :SubscriptionShippingPurchase
52
+
53
+ # @!attribute starts_at
54
+ # @return [DateTime] If set, the subscription will begin in the future on this date. The subscription will apply the setup fee and trial period, unless the plan has no trial.
55
+ define_attribute :starts_at, DateTime
56
+
57
+ # @!attribute tax_inclusive
58
+ # @return [Boolean] Determines whether or not tax is included in the unit amount. The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing feature) must be enabled to use this flag.
59
+ define_attribute :tax_inclusive, :Boolean
60
+
61
+ # @!attribute total_billing_cycles
62
+ # @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.
63
+ define_attribute :total_billing_cycles, Integer
64
+
65
+ # @!attribute trial_ends_at
66
+ # @return [DateTime] If set, overrides the default trial behavior for the subscription. When the current date time or a past date time is provided the subscription will begin with no trial phase (overriding any plan default trial). When a future date time is provided the subscription will begin with a trial phase ending at the specified date time.
67
+ define_attribute :trial_ends_at, DateTime
68
+
69
+ # @!attribute unit_amount
70
+ # @return [Float] Override the unit amount of the subscription plan by setting this value. If not provided, the subscription will inherit the price from the subscription plan for the provided currency.
71
+ define_attribute :unit_amount, Float
72
+ end
73
+ end
74
+ 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 Requests
7
+ class SubscriptionRampInterval < Request
8
+
9
+ # @!attribute starting_billing_cycle
10
+ # @return [Integer] Represents the billing cycle where a ramp interval starts.
11
+ define_attribute :starting_billing_cycle, Integer
12
+
13
+ # @!attribute unit_amount
14
+ # @return [Integer] Represents the price for the ramp interval.
15
+ define_attribute :unit_amount, Integer
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,30 @@
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 Requests
7
+ class SubscriptionShippingCreate < Request
8
+
9
+ # @!attribute address
10
+ # @return [ShippingAddressCreate]
11
+ define_attribute :address, :ShippingAddressCreate
12
+
13
+ # @!attribute address_id
14
+ # @return [String] Assign a shipping address from the account's existing shipping addresses. If `address_id` and `address` are both present, `address` will be used.
15
+ define_attribute :address_id, String
16
+
17
+ # @!attribute amount
18
+ # @return [Float] Assigns the subscription's shipping cost. If this is greater than zero then a `method_id` or `method_code` is required.
19
+ define_attribute :amount, Float
20
+
21
+ # @!attribute method_code
22
+ # @return [String] The code of the shipping method used to deliver the subscription. If `method_id` and `method_code` are both present, `method_id` will be used.
23
+ define_attribute :method_code, String
24
+
25
+ # @!attribute method_id
26
+ # @return [String] The id of the shipping method used to deliver the subscription. If `method_id` and `method_code` are both present, `method_id` will be used.
27
+ define_attribute :method_id, String
28
+ end
29
+ end
30
+ 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 Requests
7
+ class SubscriptionShippingPurchase < Request
8
+
9
+ # @!attribute amount
10
+ # @return [Float] Assigns the subscription's shipping cost. If this is greater than zero then a `method_id` or `method_code` is required.
11
+ define_attribute :amount, Float
12
+
13
+ # @!attribute method_code
14
+ # @return [String] The code of the shipping method used to deliver the subscription. If `method_id` and `method_code` are both present, `method_id` will be used.
15
+ define_attribute :method_code, String
16
+
17
+ # @!attribute method_id
18
+ # @return [String] The id of the shipping method used to deliver the subscription. If `method_id` and `method_code` are both present, `method_id` will be used.
19
+ define_attribute :method_id, String
20
+ end
21
+ end
22
+ 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 Requests
7
+ class SubscriptionShippingUpdate < Request
8
+
9
+ # @!attribute address
10
+ # @return [ShippingAddressCreate]
11
+ define_attribute :address, :ShippingAddressCreate
12
+
13
+ # @!attribute address_id
14
+ # @return [String] Assign a shipping address from the account's existing shipping addresses.
15
+ define_attribute :address_id, String
16
+
17
+ # @!attribute object
18
+ # @return [String] Object type
19
+ define_attribute :object, String
20
+ end
21
+ end
22
+ 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 Requests
7
+ class SubscriptionUpdate < Request
8
+
9
+ # @!attribute auto_renew
10
+ # @return [Boolean] Whether the subscription renews at the end of its term.
11
+ define_attribute :auto_renew, :Boolean
12
+
13
+ # @!attribute billing_info_id
14
+ # @return [String] The `billing_info_id` is the value that represents a specific billing info for an end customer. When `billing_info_id` is used to assign billing info to the subscription, all future billing events for the subscription will bill to the specified billing info. `billing_info_id` can ONLY be used for sites utilizing the Wallet feature.
15
+ define_attribute :billing_info_id, String
16
+
17
+ # @!attribute collection_method
18
+ # @return [String] Change collection method
19
+ define_attribute :collection_method, String
20
+
21
+ # @!attribute custom_fields
22
+ # @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.
23
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
24
+
25
+ # @!attribute customer_notes
26
+ # @return [String] Specify custom notes to add or override Customer Notes. Custom notes will stay with a subscription on all renewals.
27
+ define_attribute :customer_notes, String
28
+
29
+ # @!attribute net_terms
30
+ # @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.
31
+ define_attribute :net_terms, Integer
32
+
33
+ # @!attribute next_bill_date
34
+ # @return [DateTime] If present, this sets the date the subscription's next billing period will start (`current_period_ends_at`). This can be used to align the subscription’s billing to a specific day of the month. For a subscription in a trial period, this will change when the trial expires. This parameter is useful for postponement of a subscription to change its billing date without proration.
35
+ define_attribute :next_bill_date, DateTime
36
+
37
+ # @!attribute po_number
38
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
39
+ define_attribute :po_number, String
40
+
41
+ # @!attribute remaining_billing_cycles
42
+ # @return [Integer] The remaining billing cycles in the current term.
43
+ define_attribute :remaining_billing_cycles, Integer
44
+
45
+ # @!attribute renewal_billing_cycles
46
+ # @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`.
47
+ define_attribute :renewal_billing_cycles, Integer
48
+
49
+ # @!attribute revenue_schedule_type
50
+ # @return [String] Revenue schedule type
51
+ define_attribute :revenue_schedule_type, String
52
+
53
+ # @!attribute shipping
54
+ # @return [SubscriptionShippingUpdate] Subscription shipping details
55
+ define_attribute :shipping, :SubscriptionShippingUpdate
56
+
57
+ # @!attribute tax_inclusive
58
+ # @return [Boolean] This field is deprecated. Please do not use it.
59
+ define_attribute :tax_inclusive, :Boolean
60
+
61
+ # @!attribute terms_and_conditions
62
+ # @return [String] Specify custom notes to add or override Terms and Conditions. Custom notes will stay with a subscription on all renewals.
63
+ define_attribute :terms_and_conditions, String
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 Requests
7
+ class Tier < Request
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,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 Requests
7
+ class UsageCreate < Request
8
+
9
+ # @!attribute amount
10
+ # @return [Float] The amount of usage. Can be positive, negative, or 0. If the Decimal Quantity feature is enabled, this value will be rounded to nine decimal places. Otherwise, all digits after the decimal will be stripped. If the usage-based add-on is billed with a percentage, your usage should be a monetary amount formatted in cents (e.g., $5.00 is "500").
11
+ define_attribute :amount, Float
12
+
13
+ # @!attribute merchant_tag
14
+ # @return [String] Custom field for recording the id in your own system associated with the usage, so you can provide auditable usage displays to your customers using a GET on this endpoint.
15
+ define_attribute :merchant_tag, String
16
+
17
+ # @!attribute recording_timestamp
18
+ # @return [DateTime] When the usage was recorded in your system.
19
+ define_attribute :recording_timestamp, DateTime
20
+
21
+ # @!attribute usage_timestamp
22
+ # @return [DateTime] When the usage actually happened. This will define the line item dates this usage is billed under and is important for revenue recognition.
23
+ define_attribute :usage_timestamp, DateTime
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,8 @@
1
+ # Include all request files
2
+ resources = File.join(File.dirname(__FILE__), "requests", "*.rb")
3
+ Dir.glob(resources, &method(:require))
4
+
5
+ module Recurly
6
+ module Requests
7
+ end
8
+ end