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,58 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class DunningCycle < Resource
8
+
9
+ # @!attribute applies_to_manual_trial
10
+ # @return [Boolean] Whether the dunning settings will be applied to manual trials. Only applies to trial cycles.
11
+ define_attribute :applies_to_manual_trial, :Boolean
12
+
13
+ # @!attribute created_at
14
+ # @return [DateTime] When the current settings were created in Recurly.
15
+ define_attribute :created_at, DateTime
16
+
17
+ # @!attribute expire_subscription
18
+ # @return [Boolean] Whether the subscription(s) should be cancelled at the end of the dunning cycle.
19
+ define_attribute :expire_subscription, :Boolean
20
+
21
+ # @!attribute fail_invoice
22
+ # @return [Boolean] Whether the invoice should be failed at the end of the dunning cycle.
23
+ define_attribute :fail_invoice, :Boolean
24
+
25
+ # @!attribute first_communication_interval
26
+ # @return [Integer] The number of days after a transaction failure before the first dunning email is sent.
27
+ define_attribute :first_communication_interval, Integer
28
+
29
+ # @!attribute intervals
30
+ # @return [Array[DunningInterval]] Dunning intervals.
31
+ define_attribute :intervals, Array, { :item_type => :DunningInterval }
32
+
33
+ # @!attribute send_immediately_on_hard_decline
34
+ # @return [Boolean] Whether or not to send an extra email immediately to customers whose initial payment attempt fails with either a hard decline or invalid billing info.
35
+ define_attribute :send_immediately_on_hard_decline, :Boolean
36
+
37
+ # @!attribute total_dunning_days
38
+ # @return [Integer] The number of days between the first dunning email being sent and the end of the dunning cycle.
39
+ define_attribute :total_dunning_days, Integer
40
+
41
+ # @!attribute total_recycling_days
42
+ # @return [Integer] The number of days between a transaction failure and the end of the dunning cycle.
43
+ define_attribute :total_recycling_days, Integer
44
+
45
+ # @!attribute type
46
+ # @return [String] The type of invoice this cycle applies to.
47
+ define_attribute :type, String
48
+
49
+ # @!attribute updated_at
50
+ # @return [DateTime] When the current settings were updated in Recurly.
51
+ define_attribute :updated_at, DateTime
52
+
53
+ # @!attribute version
54
+ # @return [Integer] Current campaign version.
55
+ define_attribute :version, Integer
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class DunningInterval < Resource
8
+
9
+ # @!attribute days
10
+ # @return [Integer] Number of days before sending the next email.
11
+ define_attribute :days, Integer
12
+
13
+ # @!attribute email_template
14
+ # @return [String] Email template being used.
15
+ define_attribute :email_template, String
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class Error < Resource
8
+
9
+ # @!attribute message
10
+ # @return [String] Message
11
+ define_attribute :message, String
12
+
13
+ # @!attribute params
14
+ # @return [Array[Hash]] Parameter specific errors
15
+ define_attribute :params, Array, { :item_type => Hash }
16
+
17
+ # @!attribute type
18
+ # @return [String] Type
19
+ define_attribute :type, 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 Resources
7
+ class ErrorMayHaveTransaction < Resource
8
+
9
+ # @!attribute message
10
+ # @return [String] Message
11
+ define_attribute :message, String
12
+
13
+ # @!attribute params
14
+ # @return [Array[Hash]] Parameter specific errors
15
+ define_attribute :params, Array, { :item_type => Hash }
16
+
17
+ # @!attribute transaction_error
18
+ # @return [TransactionError] This is only included on errors with `type=transaction`.
19
+ define_attribute :transaction_error, :TransactionError
20
+
21
+ # @!attribute type
22
+ # @return [String] Type
23
+ define_attribute :type, String
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ExportDates < Resource
8
+
9
+ # @!attribute dates
10
+ # @return [Array[String]] An array of dates that have available exports.
11
+ define_attribute :dates, Array, { :item_type => String }
12
+
13
+ # @!attribute object
14
+ # @return [String] Object type
15
+ define_attribute :object, String
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ExportFile < Resource
8
+
9
+ # @!attribute href
10
+ # @return [String] A presigned link to download the export file.
11
+ define_attribute :href, String
12
+
13
+ # @!attribute md5sum
14
+ # @return [String] MD5 hash of the export file.
15
+ define_attribute :md5sum, String
16
+
17
+ # @!attribute name
18
+ # @return [String] Name of the export file.
19
+ define_attribute :name, String
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ExportFiles < Resource
8
+
9
+ # @!attribute files
10
+ # @return [Array[ExportFile]]
11
+ define_attribute :files, Array, { :item_type => :ExportFile }
12
+
13
+ # @!attribute object
14
+ # @return [String] Object type
15
+ define_attribute :object, String
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class FraudInfo < Resource
8
+
9
+ # @!attribute decision
10
+ # @return [String] Kount decision
11
+ define_attribute :decision, String
12
+
13
+ # @!attribute risk_rules_triggered
14
+ # @return [Hash] Kount rules
15
+ define_attribute :risk_rules_triggered, Hash
16
+
17
+ # @!attribute score
18
+ # @return [Integer] Kount score
19
+ define_attribute :score, Integer
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,162 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class Invoice < Resource
8
+
9
+ # @!attribute account
10
+ # @return [AccountMini] Account mini details
11
+ define_attribute :account, :AccountMini
12
+
13
+ # @!attribute address
14
+ # @return [InvoiceAddress]
15
+ define_attribute :address, :InvoiceAddress
16
+
17
+ # @!attribute balance
18
+ # @return [Float] The outstanding balance remaining on this invoice.
19
+ define_attribute :balance, Float
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 closed_at
26
+ # @return [DateTime] Date invoice was marked paid or failed.
27
+ define_attribute :closed_at, DateTime
28
+
29
+ # @!attribute collection_method
30
+ # @return [String] An automatic invoice means a corresponding transaction is run using the account's billing information at the same time the invoice is created. Manual invoices are created without a corresponding transaction. The merchant must enter a manual payment transaction or have the customer pay the invoice with an automatic method, like credit card, PayPal, Amazon, or ACH bank payment.
31
+ define_attribute :collection_method, String
32
+
33
+ # @!attribute created_at
34
+ # @return [DateTime] Created at
35
+ define_attribute :created_at, DateTime
36
+
37
+ # @!attribute credit_payments
38
+ # @return [Array[CreditPayment]] Credit payments
39
+ define_attribute :credit_payments, Array, { :item_type => :CreditPayment }
40
+
41
+ # @!attribute currency
42
+ # @return [String] 3-letter ISO 4217 currency code.
43
+ define_attribute :currency, String
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.
47
+ define_attribute :customer_notes, String
48
+
49
+ # @!attribute discount
50
+ # @return [Float] Total discounts applied to this invoice.
51
+ define_attribute :discount, Float
52
+
53
+ # @!attribute due_at
54
+ # @return [DateTime] Date invoice is due. This is the date the net terms are reached.
55
+ define_attribute :due_at, DateTime
56
+
57
+ # @!attribute dunning_campaign_id
58
+ # @return [String] Unique ID to identify the dunning campaign used when dunning the invoice. For sites without multiple dunning campaigns enabled, this will always be the default dunning campaign.
59
+ define_attribute :dunning_campaign_id, String
60
+
61
+ # @!attribute has_more_line_items
62
+ # @return [Boolean] Identifies if the invoice has more line items than are returned in `line_items`. If `has_more_line_items` is `true`, then a request needs to be made to the `list_invoice_line_items` endpoint.
63
+ define_attribute :has_more_line_items, :Boolean
64
+
65
+ # @!attribute id
66
+ # @return [String] Invoice ID
67
+ define_attribute :id, String
68
+
69
+ # @!attribute line_items
70
+ # @return [Array[LineItem]] Line Items
71
+ define_attribute :line_items, Array, { :item_type => :LineItem }
72
+
73
+ # @!attribute net_terms
74
+ # @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.
75
+ define_attribute :net_terms, Integer
76
+
77
+ # @!attribute number
78
+ # @return [String] If VAT taxation and the Country Invoice Sequencing feature are enabled, invoices will have country-specific invoice numbers for invoices billed to EU countries (ex: FR1001). Non-EU invoices will continue to use the site-level invoice number sequence.
79
+ define_attribute :number, String
80
+
81
+ # @!attribute object
82
+ # @return [String] Object type
83
+ define_attribute :object, String
84
+
85
+ # @!attribute origin
86
+ # @return [String] The event that created the invoice.
87
+ define_attribute :origin, String
88
+
89
+ # @!attribute paid
90
+ # @return [Float] The total amount of successful payments transaction on this invoice.
91
+ define_attribute :paid, Float
92
+
93
+ # @!attribute po_number
94
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
95
+ define_attribute :po_number, String
96
+
97
+ # @!attribute previous_invoice_id
98
+ # @return [String] On refund invoices, this value will exist and show the invoice ID of the purchase invoice the refund was created from.
99
+ define_attribute :previous_invoice_id, String
100
+
101
+ # @!attribute refundable_amount
102
+ # @return [Float] The refundable amount on a charge invoice. It will be null for all other invoices.
103
+ define_attribute :refundable_amount, Float
104
+
105
+ # @!attribute shipping_address
106
+ # @return [ShippingAddress]
107
+ define_attribute :shipping_address, :ShippingAddress
108
+
109
+ # @!attribute state
110
+ # @return [String] Invoice state
111
+ define_attribute :state, String
112
+
113
+ # @!attribute subscription_ids
114
+ # @return [Array[String]] If the invoice is charging or refunding for one or more subscriptions, these are their IDs.
115
+ define_attribute :subscription_ids, Array, { :item_type => String }
116
+
117
+ # @!attribute subtotal
118
+ # @return [Float] The summation of charges and credits, before discounts and taxes.
119
+ define_attribute :subtotal, Float
120
+
121
+ # @!attribute tax
122
+ # @return [Float] The total tax on this invoice.
123
+ define_attribute :tax, Float
124
+
125
+ # @!attribute tax_info
126
+ # @return [TaxInfo] Tax info
127
+ define_attribute :tax_info, :TaxInfo
128
+
129
+ # @!attribute terms_and_conditions
130
+ # @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.
131
+ define_attribute :terms_and_conditions, String
132
+
133
+ # @!attribute total
134
+ # @return [Float] The final total on this invoice. The summation of invoice charges, discounts, credits, and tax.
135
+ define_attribute :total, Float
136
+
137
+ # @!attribute transactions
138
+ # @return [Array[Transaction]] Transactions
139
+ define_attribute :transactions, Array, { :item_type => :Transaction }
140
+
141
+ # @!attribute type
142
+ # @return [String] Invoices are either charge, credit, or legacy invoices.
143
+ define_attribute :type, String
144
+
145
+ # @!attribute updated_at
146
+ # @return [DateTime] Last updated at
147
+ define_attribute :updated_at, DateTime
148
+
149
+ # @!attribute uuid
150
+ # @return [String] Invoice UUID
151
+ define_attribute :uuid, String
152
+
153
+ # @!attribute vat_number
154
+ # @return [String] VAT registration number for the customer on this invoice. This will come from the VAT Number field in the Billing Info or the Account Info depending on your tax settings and the invoice collection method.
155
+ define_attribute :vat_number, String
156
+
157
+ # @!attribute vat_reverse_charge_notes
158
+ # @return [String] VAT Reverse Charge Notes only appear if you have EU VAT enabled or are using your own Avalara AvaTax account and the customer is in the EU, has a VAT number, and is in a different country than your own. This will default to the VAT Reverse Charge Notes text specified on the Tax Settings page in your Recurly admin, unless custom notes were created with the original subscription.
159
+ define_attribute :vat_reverse_charge_notes, String
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,54 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class InvoiceAddress < Resource
8
+
9
+ # @!attribute city
10
+ # @return [String] City
11
+ define_attribute :city, String
12
+
13
+ # @!attribute company
14
+ # @return [String] Company
15
+ define_attribute :company, String
16
+
17
+ # @!attribute country
18
+ # @return [String] Country, 2-letter ISO 3166-1 alpha-2 code.
19
+ define_attribute :country, String
20
+
21
+ # @!attribute first_name
22
+ # @return [String] First name
23
+ define_attribute :first_name, String
24
+
25
+ # @!attribute last_name
26
+ # @return [String] Last name
27
+ define_attribute :last_name, String
28
+
29
+ # @!attribute name_on_account
30
+ # @return [String] Name on account
31
+ define_attribute :name_on_account, String
32
+
33
+ # @!attribute phone
34
+ # @return [String] Phone number
35
+ define_attribute :phone, String
36
+
37
+ # @!attribute postal_code
38
+ # @return [String] Zip or postal code.
39
+ define_attribute :postal_code, String
40
+
41
+ # @!attribute region
42
+ # @return [String] State or province.
43
+ define_attribute :region, String
44
+
45
+ # @!attribute street1
46
+ # @return [String] Street 1
47
+ define_attribute :street1, String
48
+
49
+ # @!attribute street2
50
+ # @return [String] Street 2
51
+ define_attribute :street2, String
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class InvoiceCollection < Resource
8
+
9
+ # @!attribute charge_invoice
10
+ # @return [Invoice]
11
+ define_attribute :charge_invoice, :Invoice
12
+
13
+ # @!attribute credit_invoices
14
+ # @return [Array[Invoice]] Credit invoices
15
+ define_attribute :credit_invoices, Array, { :item_type => :Invoice }
16
+
17
+ # @!attribute object
18
+ # @return [String] Object type
19
+ define_attribute :object, String
20
+ end
21
+ end
22
+ 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 Resources
7
+ class InvoiceMini < Resource
8
+
9
+ # @!attribute id
10
+ # @return [String] Invoice ID
11
+ define_attribute :id, String
12
+
13
+ # @!attribute number
14
+ # @return [String] Invoice number
15
+ define_attribute :number, String
16
+
17
+ # @!attribute object
18
+ # @return [String] Object type
19
+ define_attribute :object, String
20
+
21
+ # @!attribute state
22
+ # @return [String] Invoice state
23
+ define_attribute :state, String
24
+
25
+ # @!attribute type
26
+ # @return [String] Invoice type
27
+ define_attribute :type, String
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,34 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class InvoiceTemplate < Resource
8
+
9
+ # @!attribute code
10
+ # @return [String] Invoice template code.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute created_at
14
+ # @return [DateTime] When the invoice template was created in Recurly.
15
+ define_attribute :created_at, DateTime
16
+
17
+ # @!attribute description
18
+ # @return [String] Invoice template description.
19
+ define_attribute :description, String
20
+
21
+ # @!attribute id
22
+ # @return [String]
23
+ define_attribute :id, String
24
+
25
+ # @!attribute name
26
+ # @return [String] Invoice template name.
27
+ define_attribute :name, String
28
+
29
+ # @!attribute updated_at
30
+ # @return [DateTime] When the invoice template was updated in Recurly.
31
+ define_attribute :updated_at, DateTime
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,82 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class Item < Resource
8
+
9
+ # @!attribute accounting_code
10
+ # @return [String] Accounting code for invoice line items.
11
+ define_attribute :accounting_code, String
12
+
13
+ # @!attribute avalara_service_type
14
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the item is taxed. Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types.
15
+ define_attribute :avalara_service_type, Integer
16
+
17
+ # @!attribute avalara_transaction_type
18
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the item is taxed. Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types.
19
+ define_attribute :avalara_transaction_type, Integer
20
+
21
+ # @!attribute code
22
+ # @return [String] Unique code to identify the item.
23
+ define_attribute :code, String
24
+
25
+ # @!attribute created_at
26
+ # @return [DateTime] Created at
27
+ define_attribute :created_at, DateTime
28
+
29
+ # @!attribute currencies
30
+ # @return [Array[Pricing]] Item Pricing
31
+ define_attribute :currencies, Array, { :item_type => :Pricing }
32
+
33
+ # @!attribute custom_fields
34
+ # @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.
35
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
36
+
37
+ # @!attribute deleted_at
38
+ # @return [DateTime] Deleted at
39
+ define_attribute :deleted_at, DateTime
40
+
41
+ # @!attribute description
42
+ # @return [String] Optional, description.
43
+ define_attribute :description, String
44
+
45
+ # @!attribute external_sku
46
+ # @return [String] Optional, stock keeping unit to link the item to other inventory systems.
47
+ define_attribute :external_sku, String
48
+
49
+ # @!attribute id
50
+ # @return [String] Item ID
51
+ define_attribute :id, String
52
+
53
+ # @!attribute name
54
+ # @return [String] This name describes your item and will appear on the invoice when it's purchased on a one time basis.
55
+ define_attribute :name, String
56
+
57
+ # @!attribute object
58
+ # @return [String] Object type
59
+ define_attribute :object, String
60
+
61
+ # @!attribute revenue_schedule_type
62
+ # @return [String] Revenue schedule type
63
+ define_attribute :revenue_schedule_type, String
64
+
65
+ # @!attribute state
66
+ # @return [String] The current state of the item.
67
+ define_attribute :state, String
68
+
69
+ # @!attribute tax_code
70
+ # @return [String] Used by Avalara, Vertex, and Recurly’s EU VAT tax feature. The tax code values are specific to each tax system. If you are using Recurly’s EU VAT feature you can use `unknown`, `physical`, or `digital`.
71
+ define_attribute :tax_code, String
72
+
73
+ # @!attribute tax_exempt
74
+ # @return [Boolean] `true` exempts tax on the item, `false` applies tax on the item.
75
+ define_attribute :tax_exempt, :Boolean
76
+
77
+ # @!attribute updated_at
78
+ # @return [DateTime] Last updated at
79
+ define_attribute :updated_at, DateTime
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,34 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ItemMini < Resource
8
+
9
+ # @!attribute code
10
+ # @return [String] Unique code to identify the item.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute description
14
+ # @return [String] Optional, description.
15
+ define_attribute :description, String
16
+
17
+ # @!attribute id
18
+ # @return [String] Item ID
19
+ define_attribute :id, String
20
+
21
+ # @!attribute name
22
+ # @return [String] This name describes your item and will appear on the invoice when it's purchased on a one time basis.
23
+ define_attribute :name, String
24
+
25
+ # @!attribute object
26
+ # @return [String] Object type
27
+ define_attribute :object, String
28
+
29
+ # @!attribute state
30
+ # @return [String] The current state of the item.
31
+ define_attribute :state, String
32
+ end
33
+ end
34
+ end