recurly 2.17.5 → 4.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +15 -0
  3. data/.changelog_config.yaml +11 -0
  4. data/.github/ISSUE_TEMPLATE/bug-report.md +30 -0
  5. data/.github/ISSUE_TEMPLATE/question-or-other.md +10 -0
  6. data/.github/workflows/ci.yml +29 -0
  7. data/.github/workflows/docs.yml +28 -0
  8. data/.gitignore +15 -0
  9. data/.rspec +2 -0
  10. data/.yardopts +2 -0
  11. data/CHANGELOG.md +295 -0
  12. data/CODE_OF_CONDUCT.md +130 -0
  13. data/CONTRIBUTING.md +106 -0
  14. data/GETTING_STARTED.md +330 -0
  15. data/Gemfile +4 -0
  16. data/LICENSE.txt +21 -0
  17. data/README.md +9 -148
  18. data/Rakefile +6 -0
  19. data/benchmark.rb +16 -0
  20. data/lib/data/ca-certificates.crt +3466 -0
  21. data/lib/recurly/client/operations.rb +4079 -0
  22. data/lib/recurly/client.rb +400 -0
  23. data/lib/recurly/connection_pool.rb +42 -0
  24. data/lib/recurly/errors/api_errors.rb +90 -0
  25. data/lib/recurly/errors/network_errors.rb +7 -0
  26. data/lib/recurly/errors.rb +51 -0
  27. data/lib/recurly/http.rb +50 -0
  28. data/lib/recurly/pager.rb +136 -0
  29. data/lib/recurly/request.rb +31 -0
  30. data/lib/recurly/requests/account_acquisition_cost.rb +18 -0
  31. data/lib/recurly/requests/account_acquisition_update.rb +26 -0
  32. data/lib/recurly/requests/account_create.rb +98 -0
  33. data/lib/recurly/requests/account_purchase.rb +98 -0
  34. data/lib/recurly/requests/account_update.rb +86 -0
  35. data/lib/recurly/requests/add_on_create.rb +102 -0
  36. data/lib/recurly/requests/add_on_pricing.rb +26 -0
  37. data/lib/recurly/requests/add_on_update.rb +78 -0
  38. data/lib/recurly/requests/address.rb +38 -0
  39. data/lib/recurly/requests/billing_info_create.rb +134 -0
  40. data/lib/recurly/requests/billing_info_verify.rb +14 -0
  41. data/lib/recurly/requests/coupon_bulk_create.rb +14 -0
  42. data/lib/recurly/requests/coupon_create.rb +102 -0
  43. data/lib/recurly/requests/coupon_pricing.rb +18 -0
  44. data/lib/recurly/requests/coupon_redemption_create.rb +22 -0
  45. data/lib/recurly/requests/coupon_update.rb +34 -0
  46. data/lib/recurly/requests/custom_field.rb +18 -0
  47. data/lib/recurly/requests/dunning_campaigns_bulk_update.rb +18 -0
  48. data/lib/recurly/requests/external_refund.rb +22 -0
  49. data/lib/recurly/requests/external_transaction.rb +26 -0
  50. data/lib/recurly/requests/invoice_address.rb +54 -0
  51. data/lib/recurly/requests/invoice_collect.rb +22 -0
  52. data/lib/recurly/requests/invoice_create.rb +42 -0
  53. data/lib/recurly/requests/invoice_refund.rb +34 -0
  54. data/lib/recurly/requests/invoice_update.rb +34 -0
  55. data/lib/recurly/requests/item_create.rb +58 -0
  56. data/lib/recurly/requests/item_update.rb +58 -0
  57. data/lib/recurly/requests/line_item_create.rb +86 -0
  58. data/lib/recurly/requests/line_item_refund.rb +22 -0
  59. data/lib/recurly/requests/measured_unit_create.rb +22 -0
  60. data/lib/recurly/requests/measured_unit_update.rb +22 -0
  61. data/lib/recurly/requests/percentage_tier.rb +18 -0
  62. data/lib/recurly/requests/percentage_tiers_by_currency.rb +18 -0
  63. data/lib/recurly/requests/plan_create.rb +102 -0
  64. data/lib/recurly/requests/plan_hosted_pages.rb +26 -0
  65. data/lib/recurly/requests/plan_pricing.rb +26 -0
  66. data/lib/recurly/requests/plan_update.rb +94 -0
  67. data/lib/recurly/requests/pricing.rb +22 -0
  68. data/lib/recurly/requests/purchase_create.rb +78 -0
  69. data/lib/recurly/requests/shipping_address_create.rb +62 -0
  70. data/lib/recurly/requests/shipping_address_update.rb +66 -0
  71. data/lib/recurly/requests/shipping_fee_create.rb +22 -0
  72. data/lib/recurly/requests/shipping_method_create.rb +26 -0
  73. data/lib/recurly/requests/shipping_method_update.rb +26 -0
  74. data/lib/recurly/requests/shipping_purchase.rb +22 -0
  75. data/lib/recurly/requests/subscription_add_on_create.rb +46 -0
  76. data/lib/recurly/requests/subscription_add_on_percentage_tier.rb +18 -0
  77. data/lib/recurly/requests/subscription_add_on_tier.rb +26 -0
  78. data/lib/recurly/requests/subscription_add_on_update.rb +50 -0
  79. data/lib/recurly/requests/subscription_cancel.rb +14 -0
  80. data/lib/recurly/requests/subscription_change_billing_info_create.rb +14 -0
  81. data/lib/recurly/requests/subscription_change_create.rb +74 -0
  82. data/lib/recurly/requests/subscription_change_shipping_create.rb +30 -0
  83. data/lib/recurly/requests/subscription_create.rb +114 -0
  84. data/lib/recurly/requests/subscription_pause.rb +14 -0
  85. data/lib/recurly/requests/subscription_purchase.rb +70 -0
  86. data/lib/recurly/requests/subscription_shipping_create.rb +30 -0
  87. data/lib/recurly/requests/subscription_shipping_purchase.rb +22 -0
  88. data/lib/recurly/requests/subscription_shipping_update.rb +22 -0
  89. data/lib/recurly/requests/subscription_update.rb +70 -0
  90. data/lib/recurly/requests/tier.rb +22 -0
  91. data/lib/recurly/requests/tier_pricing.rb +22 -0
  92. data/lib/recurly/requests/usage_create.rb +26 -0
  93. data/lib/recurly/requests.rb +8 -0
  94. data/lib/recurly/resource.rb +23 -1092
  95. data/lib/recurly/resources/account.rb +138 -0
  96. data/lib/recurly/resources/account_acquisition.rb +46 -0
  97. data/lib/recurly/resources/account_acquisition_cost.rb +18 -0
  98. data/lib/recurly/resources/account_balance.rb +26 -0
  99. data/lib/recurly/resources/account_balance_amount.rb +22 -0
  100. data/lib/recurly/resources/account_mini.rb +50 -0
  101. data/lib/recurly/resources/account_note.rb +34 -0
  102. data/lib/recurly/resources/add_on.rb +122 -0
  103. data/lib/recurly/resources/add_on_mini.rb +54 -0
  104. data/lib/recurly/resources/add_on_pricing.rb +26 -0
  105. data/lib/recurly/resources/address.rb +38 -0
  106. data/lib/recurly/resources/address_with_name.rb +46 -0
  107. data/lib/recurly/resources/billing_info.rb +74 -0
  108. data/lib/recurly/resources/billing_info_updated_by.rb +18 -0
  109. data/lib/recurly/resources/binary_file.rb +14 -0
  110. data/lib/recurly/resources/coupon.rb +126 -0
  111. data/lib/recurly/resources/coupon_discount.rb +26 -0
  112. data/lib/recurly/resources/coupon_discount_pricing.rb +18 -0
  113. data/lib/recurly/resources/coupon_discount_trial.rb +18 -0
  114. data/lib/recurly/resources/coupon_mini.rb +42 -0
  115. data/lib/recurly/resources/coupon_redemption.rb +54 -0
  116. data/lib/recurly/resources/coupon_redemption_mini.rb +34 -0
  117. data/lib/recurly/resources/credit_payment.rb +66 -0
  118. data/lib/recurly/resources/custom_field.rb +18 -0
  119. data/lib/recurly/resources/custom_field_definition.rb +50 -0
  120. data/lib/recurly/resources/dunning_campaign.rb +50 -0
  121. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +18 -0
  122. data/lib/recurly/resources/dunning_cycle.rb +58 -0
  123. data/lib/recurly/resources/dunning_interval.rb +18 -0
  124. data/lib/recurly/resources/error.rb +22 -0
  125. data/lib/recurly/resources/error_may_have_transaction.rb +26 -0
  126. data/lib/recurly/resources/export_dates.rb +18 -0
  127. data/lib/recurly/resources/export_file.rb +22 -0
  128. data/lib/recurly/resources/export_files.rb +18 -0
  129. data/lib/recurly/resources/fraud_info.rb +22 -0
  130. data/lib/recurly/resources/invoice.rb +162 -0
  131. data/lib/recurly/resources/invoice_address.rb +54 -0
  132. data/lib/recurly/resources/invoice_collection.rb +22 -0
  133. data/lib/recurly/resources/invoice_mini.rb +30 -0
  134. data/lib/recurly/resources/invoice_template.rb +34 -0
  135. data/lib/recurly/resources/item.rb +82 -0
  136. data/lib/recurly/resources/item_mini.rb +34 -0
  137. data/lib/recurly/resources/line_item.rb +206 -0
  138. data/lib/recurly/resources/measured_unit.rb +46 -0
  139. data/lib/recurly/resources/payment_method.rb +70 -0
  140. data/lib/recurly/resources/percentage_tier.rb +18 -0
  141. data/lib/recurly/resources/percentage_tiers_by_currency.rb +18 -0
  142. data/lib/recurly/resources/plan.rb +122 -0
  143. data/lib/recurly/resources/plan_hosted_pages.rb +26 -0
  144. data/lib/recurly/resources/plan_mini.rb +26 -0
  145. data/lib/recurly/resources/plan_pricing.rb +26 -0
  146. data/lib/recurly/resources/pricing.rb +22 -0
  147. data/lib/recurly/resources/settings.rb +22 -0
  148. data/lib/recurly/resources/shipping_address.rb +82 -0
  149. data/lib/recurly/resources/shipping_method.rb +46 -0
  150. data/lib/recurly/resources/shipping_method_mini.rb +26 -0
  151. data/lib/recurly/resources/site.rb +54 -0
  152. data/lib/recurly/resources/subscription.rb +198 -0
  153. data/lib/recurly/resources/subscription_add_on.rb +78 -0
  154. data/lib/recurly/resources/subscription_add_on_percentage_tier.rb +18 -0
  155. data/lib/recurly/resources/subscription_add_on_tier.rb +26 -0
  156. data/lib/recurly/resources/subscription_change.rb +82 -0
  157. data/lib/recurly/resources/subscription_change_billing_info.rb +14 -0
  158. data/lib/recurly/resources/subscription_shipping.rb +26 -0
  159. data/lib/recurly/resources/tax_detail.rb +26 -0
  160. data/lib/recurly/resources/tax_info.rb +26 -0
  161. data/lib/recurly/resources/tier.rb +22 -0
  162. data/lib/recurly/resources/tier_pricing.rb +22 -0
  163. data/lib/recurly/resources/transaction.rb +162 -0
  164. data/lib/recurly/resources/transaction_error.rb +38 -0
  165. data/lib/recurly/resources/transaction_payment_gateway.rb +26 -0
  166. data/lib/recurly/resources/unique_coupon_code.rb +50 -0
  167. data/lib/recurly/resources/unique_coupon_code_params.rb +26 -0
  168. data/lib/recurly/resources/usage.rb +78 -0
  169. data/lib/recurly/resources/user.rb +42 -0
  170. data/lib/recurly/resources.rb +18 -0
  171. data/lib/recurly/schema/file_parser.rb +13 -0
  172. data/lib/recurly/schema/json_parser.rb +72 -0
  173. data/lib/recurly/schema/request_caster.rb +60 -0
  174. data/lib/recurly/schema/resource_caster.rb +46 -0
  175. data/lib/recurly/schema/schema_factory.rb +48 -0
  176. data/lib/recurly/schema/schema_validator.rb +144 -0
  177. data/lib/recurly/schema.rb +156 -0
  178. data/lib/recurly/version.rb +1 -15
  179. data/lib/recurly.rb +15 -138
  180. data/openapi/api.yaml +22879 -0
  181. data/recurly.gemspec +39 -0
  182. data/scripts/build +5 -0
  183. data/scripts/clean +6 -0
  184. data/scripts/format +12 -0
  185. data/scripts/prepare-release +50 -0
  186. data/scripts/release +17 -0
  187. data/scripts/test +15 -0
  188. metadata +217 -217
  189. data/lib/recurly/account.rb +0 -179
  190. data/lib/recurly/account_balance.rb +0 -21
  191. data/lib/recurly/add_on.rb +0 -30
  192. data/lib/recurly/address.rb +0 -25
  193. data/lib/recurly/adjustment.rb +0 -76
  194. data/lib/recurly/api/errors.rb +0 -208
  195. data/lib/recurly/api/net_http_adapter.rb +0 -111
  196. data/lib/recurly/api.rb +0 -101
  197. data/lib/recurly/billing_info.rb +0 -80
  198. data/lib/recurly/coupon.rb +0 -134
  199. data/lib/recurly/credit_payment.rb +0 -32
  200. data/lib/recurly/custom_field.rb +0 -15
  201. data/lib/recurly/delivery.rb +0 -19
  202. data/lib/recurly/error.rb +0 -13
  203. data/lib/recurly/gift_card.rb +0 -82
  204. data/lib/recurly/helper.rb +0 -51
  205. data/lib/recurly/invoice.rb +0 -273
  206. data/lib/recurly/invoice_collection.rb +0 -14
  207. data/lib/recurly/js.rb +0 -14
  208. data/lib/recurly/juris_detail.rb +0 -14
  209. data/lib/recurly/measured_unit.rb +0 -16
  210. data/lib/recurly/money.rb +0 -120
  211. data/lib/recurly/note.rb +0 -14
  212. data/lib/recurly/plan.rb +0 -40
  213. data/lib/recurly/purchase.rb +0 -219
  214. data/lib/recurly/redemption.rb +0 -46
  215. data/lib/recurly/resource/association.rb +0 -16
  216. data/lib/recurly/resource/errors.rb +0 -20
  217. data/lib/recurly/resource/pager.rb +0 -313
  218. data/lib/recurly/shipping_address.rb +0 -26
  219. data/lib/recurly/subscription/add_ons.rb +0 -77
  220. data/lib/recurly/subscription.rb +0 -328
  221. data/lib/recurly/subscription_add_on.rb +0 -50
  222. data/lib/recurly/tax_detail.rb +0 -14
  223. data/lib/recurly/tax_type.rb +0 -12
  224. data/lib/recurly/transaction/errors.rb +0 -107
  225. data/lib/recurly/transaction.rb +0 -129
  226. data/lib/recurly/usage.rb +0 -28
  227. data/lib/recurly/webhook/account_notification.rb +0 -10
  228. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  229. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  230. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  231. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  232. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  233. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  234. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  235. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  236. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  237. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  238. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  239. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  240. data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
  241. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  242. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  243. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  244. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  245. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  246. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  247. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  248. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  249. data/lib/recurly/webhook/notification.rb +0 -18
  250. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  251. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  252. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  253. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  254. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  255. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  256. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  257. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  258. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  259. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  260. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  261. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  262. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  263. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  264. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  265. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  266. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  267. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  268. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  269. data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
  270. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  271. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  272. data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
  273. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  274. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  275. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  276. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  277. data/lib/recurly/webhook.rb +0 -91
  278. data/lib/recurly/xml/nokogiri.rb +0 -60
  279. data/lib/recurly/xml/rexml.rb +0 -52
  280. data/lib/recurly/xml.rb +0 -122
@@ -0,0 +1,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 SubscriptionChangeCreate < Request
8
+
9
+ # @!attribute add_ons
10
+ # @return [Array[SubscriptionAddOnUpdate]] If you provide a value for this field it will replace any existing add-ons. So, when adding or modifying an add-on, you need to include the existing subscription add-ons. Unchanged add-ons can be included just using the subscription add-on''s ID: `{"id": "abc123"}`. If this value is omitted your existing add-ons will be unaffected. To remove all existing add-ons, this value should be an empty array.' If a subscription add-on's `code` is supplied without the `id`, `{"code": "def456"}`, the subscription add-on attributes will be set to the current values of the plan add-on unless provided in the request. - If an `id` is passed, any attributes not passed in will pull from the existing subscription add-on - If a `code` is passed, any attributes not passed in will pull from the current values of the plan add-on - Attributes passed in as part of the request will override either of the above scenarios
11
+ define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOnUpdate }
12
+
13
+ # @!attribute billing_info
14
+ # @return [SubscriptionChangeBillingInfoCreate]
15
+ define_attribute :billing_info, :SubscriptionChangeBillingInfoCreate
16
+
17
+ # @!attribute collection_method
18
+ # @return [String] Collection method
19
+ define_attribute :collection_method, String
20
+
21
+ # @!attribute coupon_codes
22
+ # @return [Array[String]] A list of coupon_codes to be redeemed on the subscription during the change. Only allowed if timeframe is now and you change something about the subscription that creates an invoice.
23
+ define_attribute :coupon_codes, Array, { :item_type => String }
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 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 plan_code
34
+ # @return [String] If you want to change to a new plan, you can provide the plan's code or id. If both are provided the `plan_id` will be used.
35
+ define_attribute :plan_code, String
36
+
37
+ # @!attribute plan_id
38
+ # @return [String] If you want to change to a new plan, you can provide the plan's code or id. If both are provided the `plan_id` will be used.
39
+ define_attribute :plan_id, String
40
+
41
+ # @!attribute po_number
42
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
43
+ define_attribute :po_number, String
44
+
45
+ # @!attribute quantity
46
+ # @return [Integer] Optionally override the default quantity of 1.
47
+ define_attribute :quantity, 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 [SubscriptionChangeShippingCreate] Shipping addresses are tied to a customer's account. Each account can have up to 20 different shipping addresses, and if you have enabled multiple subscriptions per account, you can associate different shipping addresses to each subscription.
55
+ define_attribute :shipping, :SubscriptionChangeShippingCreate
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 timeframe
62
+ # @return [String] The timeframe parameter controls when the upgrade or downgrade takes place. The subscription change can occur now, when the subscription is next billed, or when the subscription term ends. Generally, if you're performing an upgrade, you will want the change to occur immediately (now). If you're performing a downgrade, you should set the timeframe to `term_end` or `bill_date` so the change takes effect at a scheduled billing date. The `renewal` timeframe option is accepted as an alias for `term_end`.
63
+ define_attribute :timeframe, String
64
+
65
+ # @!attribute transaction_type
66
+ # @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.
67
+ define_attribute :transaction_type, String
68
+
69
+ # @!attribute unit_amount
70
+ # @return [Float] Optionally, sets custom pricing for the subscription, overriding the plan's default unit amount. The subscription's current currency will be used.
71
+ define_attribute :unit_amount, Float
72
+ end
73
+ end
74
+ 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 SubscriptionChangeShippingCreate < 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 this and address are both present, address will take precedence.
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. 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.
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. 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.
27
+ define_attribute :method_id, String
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,114 @@
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_codes
30
+ # @return [Array[String]] A list of coupon_codes to be redeemed on the subscription or account during the purchase.
31
+ define_attribute :coupon_codes, Array, { :item_type => 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 renewal_billing_cycles
74
+ # @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`.
75
+ define_attribute :renewal_billing_cycles, Integer
76
+
77
+ # @!attribute revenue_schedule_type
78
+ # @return [String] Revenue schedule type
79
+ define_attribute :revenue_schedule_type, String
80
+
81
+ # @!attribute shipping
82
+ # @return [SubscriptionShippingCreate] Create a shipping address on the account and assign it to the subscription.
83
+ define_attribute :shipping, :SubscriptionShippingCreate
84
+
85
+ # @!attribute starts_at
86
+ # @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.
87
+ define_attribute :starts_at, DateTime
88
+
89
+ # @!attribute tax_inclusive
90
+ # @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.
91
+ define_attribute :tax_inclusive, :Boolean
92
+
93
+ # @!attribute terms_and_conditions
94
+ # @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.
95
+ define_attribute :terms_and_conditions, String
96
+
97
+ # @!attribute total_billing_cycles
98
+ # @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.
99
+ define_attribute :total_billing_cycles, Integer
100
+
101
+ # @!attribute transaction_type
102
+ # @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.
103
+ define_attribute :transaction_type, String
104
+
105
+ # @!attribute trial_ends_at
106
+ # @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.
107
+ define_attribute :trial_ends_at, DateTime
108
+
109
+ # @!attribute unit_amount
110
+ # @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.
111
+ define_attribute :unit_amount, Float
112
+ end
113
+ end
114
+ 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,70 @@
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 renewal_billing_cycles
38
+ # @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`.
39
+ define_attribute :renewal_billing_cycles, Integer
40
+
41
+ # @!attribute revenue_schedule_type
42
+ # @return [String] Revenue schedule type
43
+ define_attribute :revenue_schedule_type, String
44
+
45
+ # @!attribute shipping
46
+ # @return [SubscriptionShippingPurchase] Create a shipping address on the account and assign it to the subscription.
47
+ define_attribute :shipping, :SubscriptionShippingPurchase
48
+
49
+ # @!attribute starts_at
50
+ # @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.
51
+ define_attribute :starts_at, DateTime
52
+
53
+ # @!attribute tax_inclusive
54
+ # @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.
55
+ define_attribute :tax_inclusive, :Boolean
56
+
57
+ # @!attribute total_billing_cycles
58
+ # @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.
59
+ define_attribute :total_billing_cycles, Integer
60
+
61
+ # @!attribute trial_ends_at
62
+ # @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.
63
+ define_attribute :trial_ends_at, DateTime
64
+
65
+ # @!attribute unit_amount
66
+ # @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.
67
+ define_attribute :unit_amount, Float
68
+ end
69
+ end
70
+ 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,70 @@
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 gateway_code
30
+ # @return [String] If present, this subscription's transactions will use the payment gateway with this code.
31
+ define_attribute :gateway_code, String
32
+
33
+ # @!attribute net_terms
34
+ # @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.
35
+ define_attribute :net_terms, Integer
36
+
37
+ # @!attribute next_bill_date
38
+ # @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.
39
+ define_attribute :next_bill_date, DateTime
40
+
41
+ # @!attribute po_number
42
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
43
+ define_attribute :po_number, String
44
+
45
+ # @!attribute remaining_billing_cycles
46
+ # @return [Integer] The remaining billing cycles in the current term.
47
+ define_attribute :remaining_billing_cycles, Integer
48
+
49
+ # @!attribute renewal_billing_cycles
50
+ # @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`.
51
+ define_attribute :renewal_billing_cycles, Integer
52
+
53
+ # @!attribute revenue_schedule_type
54
+ # @return [String] Revenue schedule type
55
+ define_attribute :revenue_schedule_type, String
56
+
57
+ # @!attribute shipping
58
+ # @return [SubscriptionShippingUpdate] Subscription shipping details
59
+ define_attribute :shipping, :SubscriptionShippingUpdate
60
+
61
+ # @!attribute tax_inclusive
62
+ # @return [Boolean] This field is deprecated. Please do not use it.
63
+ define_attribute :tax_inclusive, :Boolean
64
+
65
+ # @!attribute terms_and_conditions
66
+ # @return [String] Specify custom notes to add or override Terms and Conditions. Custom notes will stay with a subscription on all renewals.
67
+ define_attribute :terms_and_conditions, String
68
+ end
69
+ end
70
+ 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 Tier < Request
8
+
9
+ # @!attribute currencies
10
+ # @return [Array[TierPricing]] Tier pricing
11
+ define_attribute :currencies, Array, { :item_type => :TierPricing }
12
+
13
+ # @!attribute ending_quantity
14
+ # @return [Integer] Ending quantity for the tier. This represents a unit amount for unit-priced add ons. Must be left empty if it is the final tier.
15
+ define_attribute :ending_quantity, Integer
16
+
17
+ # @!attribute usage_percentage
18
+ # @return [String] (deprecated) -- Use the percentage_tiers object instead.
19
+ define_attribute :usage_percentage, 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 TierPricing < Request
8
+
9
+ # @!attribute currency
10
+ # @return [String] 3-letter ISO 4217 currency code.
11
+ define_attribute :currency, String
12
+
13
+ # @!attribute unit_amount
14
+ # @return [Float] Allows up to 2 decimal places. Required unless `unit_amount_decimal` is provided.
15
+ define_attribute :unit_amount, Float
16
+
17
+ # @!attribute unit_amount_decimal
18
+ # @return [String] Allows up to 9 decimal places. Only supported when `add_on_type` = `usage`. If `unit_amount_decimal` is provided, `unit_amount` cannot be provided.
19
+ define_attribute :unit_amount_decimal, String
20
+ end
21
+ end
22
+ 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. No decimals allowed, we will strip them. If the usage-based add-on is billed with a percentage, your usage will be a monetary amount you will want to format 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