recurly 2.17.11 → 4.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (283) 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 -141
  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 -220
  189. data/lib/recurly/account.rb +0 -189
  190. data/lib/recurly/account_acquisition.rb +0 -19
  191. data/lib/recurly/account_balance.rb +0 -21
  192. data/lib/recurly/add_on.rb +0 -30
  193. data/lib/recurly/address.rb +0 -25
  194. data/lib/recurly/adjustment.rb +0 -76
  195. data/lib/recurly/api/errors.rb +0 -208
  196. data/lib/recurly/api/net_http_adapter.rb +0 -111
  197. data/lib/recurly/api.rb +0 -101
  198. data/lib/recurly/billing_info.rb +0 -82
  199. data/lib/recurly/coupon.rb +0 -134
  200. data/lib/recurly/credit_payment.rb +0 -32
  201. data/lib/recurly/custom_field.rb +0 -15
  202. data/lib/recurly/delivery.rb +0 -19
  203. data/lib/recurly/error.rb +0 -13
  204. data/lib/recurly/gift_card.rb +0 -82
  205. data/lib/recurly/helper.rb +0 -51
  206. data/lib/recurly/invoice.rb +0 -273
  207. data/lib/recurly/invoice_collection.rb +0 -14
  208. data/lib/recurly/js.rb +0 -14
  209. data/lib/recurly/juris_detail.rb +0 -14
  210. data/lib/recurly/measured_unit.rb +0 -16
  211. data/lib/recurly/money.rb +0 -120
  212. data/lib/recurly/note.rb +0 -14
  213. data/lib/recurly/plan.rb +0 -40
  214. data/lib/recurly/purchase.rb +0 -234
  215. data/lib/recurly/redemption.rb +0 -46
  216. data/lib/recurly/resource/association.rb +0 -16
  217. data/lib/recurly/resource/errors.rb +0 -20
  218. data/lib/recurly/resource/pager.rb +0 -313
  219. data/lib/recurly/shipping_address.rb +0 -26
  220. data/lib/recurly/shipping_fee.rb +0 -17
  221. data/lib/recurly/shipping_method.rb +0 -13
  222. data/lib/recurly/subscription/add_ons.rb +0 -77
  223. data/lib/recurly/subscription.rb +0 -330
  224. data/lib/recurly/subscription_add_on.rb +0 -50
  225. data/lib/recurly/tax_detail.rb +0 -14
  226. data/lib/recurly/tax_type.rb +0 -12
  227. data/lib/recurly/transaction/errors.rb +0 -115
  228. data/lib/recurly/transaction.rb +0 -129
  229. data/lib/recurly/usage.rb +0 -28
  230. data/lib/recurly/webhook/account_notification.rb +0 -10
  231. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  232. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  233. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  234. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  235. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  236. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  237. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  238. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  239. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  240. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  241. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  242. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  243. data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
  244. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  245. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  246. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  247. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  248. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  249. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  250. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  251. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  252. data/lib/recurly/webhook/notification.rb +0 -18
  253. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  254. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  255. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  256. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  257. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  258. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  259. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  260. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  261. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  262. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  263. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  264. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  265. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  266. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  267. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  268. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  269. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  270. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  271. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  272. data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
  273. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  274. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  275. data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
  276. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  277. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  278. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  279. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  280. data/lib/recurly/webhook.rb +0 -91
  281. data/lib/recurly/xml/nokogiri.rb +0 -60
  282. data/lib/recurly/xml/rexml.rb +0 -52
  283. data/lib/recurly/xml.rb +0 -122
@@ -0,0 +1,206 @@
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 LineItem < Resource
8
+
9
+ # @!attribute account
10
+ # @return [AccountMini] Account mini details
11
+ define_attribute :account, :AccountMini
12
+
13
+ # @!attribute accounting_code
14
+ # @return [String] Internal accounting code to help you reconcile your revenue to the correct ledger. Line items created as part of a subscription invoice will use the plan or add-on's accounting code, otherwise the value will only be present if you define an accounting code when creating the line item.
15
+ define_attribute :accounting_code, String
16
+
17
+ # @!attribute add_on_code
18
+ # @return [String] If the line item is a charge or credit for an add-on, this is its code.
19
+ define_attribute :add_on_code, String
20
+
21
+ # @!attribute add_on_id
22
+ # @return [String] If the line item is a charge or credit for an add-on this is its ID.
23
+ define_attribute :add_on_id, String
24
+
25
+ # @!attribute amount
26
+ # @return [Float] `(quantity * unit_amount) - (discount + tax)`
27
+ define_attribute :amount, Float
28
+
29
+ # @!attribute avalara_service_type
30
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the line 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.
31
+ define_attribute :avalara_service_type, Integer
32
+
33
+ # @!attribute avalara_transaction_type
34
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the line 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.
35
+ define_attribute :avalara_transaction_type, Integer
36
+
37
+ # @!attribute bill_for_account_id
38
+ # @return [String] The UUID of the account responsible for originating the line item.
39
+ define_attribute :bill_for_account_id, String
40
+
41
+ # @!attribute created_at
42
+ # @return [DateTime] When the line item was created.
43
+ define_attribute :created_at, DateTime
44
+
45
+ # @!attribute credit_applied
46
+ # @return [Float] The amount of credit from this line item that was applied to the invoice.
47
+ define_attribute :credit_applied, Float
48
+
49
+ # @!attribute credit_reason_code
50
+ # @return [String] The reason the credit was given when line item is `type=credit`.
51
+ define_attribute :credit_reason_code, String
52
+
53
+ # @!attribute currency
54
+ # @return [String] 3-letter ISO 4217 currency code.
55
+ define_attribute :currency, String
56
+
57
+ # @!attribute description
58
+ # @return [String] Description that appears on the invoice. For subscription related items this will be filled in automatically.
59
+ define_attribute :description, String
60
+
61
+ # @!attribute discount
62
+ # @return [Float] The discount applied to the line item.
63
+ define_attribute :discount, Float
64
+
65
+ # @!attribute end_date
66
+ # @return [DateTime] If this date is provided, it indicates the end of a time range.
67
+ define_attribute :end_date, DateTime
68
+
69
+ # @!attribute external_sku
70
+ # @return [String] Optional Stock Keeping Unit assigned to an item. Available when the Credit Invoices feature is enabled.
71
+ define_attribute :external_sku, String
72
+
73
+ # @!attribute id
74
+ # @return [String] Line item ID
75
+ define_attribute :id, String
76
+
77
+ # @!attribute invoice_id
78
+ # @return [String] Once the line item has been invoiced this will be the invoice's ID.
79
+ define_attribute :invoice_id, String
80
+
81
+ # @!attribute invoice_number
82
+ # @return [String] Once the line item has been invoiced this will be the invoice's number. 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.
83
+ define_attribute :invoice_number, String
84
+
85
+ # @!attribute item_code
86
+ # @return [String] Unique code to identify an item. Available when the Credit Invoices feature is enabled.
87
+ define_attribute :item_code, String
88
+
89
+ # @!attribute item_id
90
+ # @return [String] System-generated unique identifier for an item. Available when the Credit Invoices feature is enabled.
91
+ define_attribute :item_id, String
92
+
93
+ # @!attribute legacy_category
94
+ # @return [String] Category to describe the role of a line item on a legacy invoice: - "charges" refers to charges being billed for on this invoice. - "credits" refers to refund or proration credits. This portion of the invoice can be considered a credit memo. - "applied_credits" refers to previous credits applied to this invoice. See their original_line_item_id to determine where the credit first originated. - "carryforwards" can be ignored. They exist to consume any remaining credit balance. A new credit with the same amount will be created and placed back on the account.
95
+ define_attribute :legacy_category, String
96
+
97
+ # @!attribute object
98
+ # @return [String] Object type
99
+ define_attribute :object, String
100
+
101
+ # @!attribute origin
102
+ # @return [String] A credit created from an original charge will have the value of the charge's origin.
103
+ define_attribute :origin, String
104
+
105
+ # @!attribute original_line_item_invoice_id
106
+ # @return [String] The invoice where the credit originated. Will only have a value if the line item is a credit created from a previous credit, or if the credit was created from a charge refund.
107
+ define_attribute :original_line_item_invoice_id, String
108
+
109
+ # @!attribute plan_code
110
+ # @return [String] If the line item is a charge or credit for a plan or add-on, this is the plan's code.
111
+ define_attribute :plan_code, String
112
+
113
+ # @!attribute plan_id
114
+ # @return [String] If the line item is a charge or credit for a plan or add-on, this is the plan's ID.
115
+ define_attribute :plan_id, String
116
+
117
+ # @!attribute previous_line_item_id
118
+ # @return [String] Will only have a value if the line item is a credit created from a previous credit, or if the credit was created from a charge refund.
119
+ define_attribute :previous_line_item_id, String
120
+
121
+ # @!attribute product_code
122
+ # @return [String] For plan-related line items this will be the plan's code, for add-on related line items it will be the add-on's code. For item-related line items it will be the item's `external_sku`.
123
+ define_attribute :product_code, String
124
+
125
+ # @!attribute proration_rate
126
+ # @return [Float] When a line item has been prorated, this is the rate of the proration. Proration rates were made available for line items created after March 30, 2017. For line items created prior to that date, the proration rate will be `null`, even if the line item was prorated.
127
+ define_attribute :proration_rate, Float
128
+
129
+ # @!attribute quantity
130
+ # @return [Integer] This number will be multiplied by the unit amount to compute the subtotal before any discounts or taxes.
131
+ define_attribute :quantity, Integer
132
+
133
+ # @!attribute refund
134
+ # @return [Boolean] Refund?
135
+ define_attribute :refund, :Boolean
136
+
137
+ # @!attribute refunded_quantity
138
+ # @return [Integer] For refund charges, the quantity being refunded. For non-refund charges, the total quantity refunded (possibly over multiple refunds).
139
+ define_attribute :refunded_quantity, Integer
140
+
141
+ # @!attribute revenue_schedule_type
142
+ # @return [String] Revenue schedule type
143
+ define_attribute :revenue_schedule_type, String
144
+
145
+ # @!attribute shipping_address
146
+ # @return [ShippingAddress]
147
+ define_attribute :shipping_address, :ShippingAddress
148
+
149
+ # @!attribute start_date
150
+ # @return [DateTime] If an end date is present, this is value indicates the beginning of a billing time range. If no end date is present it indicates billing for a specific date.
151
+ define_attribute :start_date, DateTime
152
+
153
+ # @!attribute state
154
+ # @return [String] Pending line items are charges or credits on an account that have not been applied to an invoice yet. Invoiced line items will always have an `invoice_id` value.
155
+ define_attribute :state, String
156
+
157
+ # @!attribute subscription_id
158
+ # @return [String] If the line item is a charge or credit for a subscription, this is its ID.
159
+ define_attribute :subscription_id, String
160
+
161
+ # @!attribute subtotal
162
+ # @return [Float] `quantity * unit_amount`
163
+ define_attribute :subtotal, Float
164
+
165
+ # @!attribute tax
166
+ # @return [Float] The tax amount for the line item.
167
+ define_attribute :tax, Float
168
+
169
+ # @!attribute tax_code
170
+ # @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`.
171
+ define_attribute :tax_code, String
172
+
173
+ # @!attribute tax_exempt
174
+ # @return [Boolean] `true` exempts tax on charges, `false` applies tax on charges. If not defined, then defaults to the Plan and Site settings. This attribute does not work for credits (negative line items). Credits are always applied post-tax. Pre-tax discounts should use the Coupons feature.
175
+ define_attribute :tax_exempt, :Boolean
176
+
177
+ # @!attribute tax_info
178
+ # @return [TaxInfo] Tax info
179
+ define_attribute :tax_info, :TaxInfo
180
+
181
+ # @!attribute taxable
182
+ # @return [Boolean] `true` if the line item is taxable, `false` if it is not.
183
+ define_attribute :taxable, :Boolean
184
+
185
+ # @!attribute type
186
+ # @return [String] Charges are positive line items that debit the account. Credits are negative line items that credit the account.
187
+ define_attribute :type, String
188
+
189
+ # @!attribute unit_amount
190
+ # @return [Float] Positive amount for a charge, negative amount for a credit.
191
+ define_attribute :unit_amount, Float
192
+
193
+ # @!attribute unit_amount_decimal
194
+ # @return [String] Positive amount for a charge, negative amount for a credit.
195
+ define_attribute :unit_amount_decimal, String
196
+
197
+ # @!attribute updated_at
198
+ # @return [DateTime] When the line item was last changed.
199
+ define_attribute :updated_at, DateTime
200
+
201
+ # @!attribute uuid
202
+ # @return [String] The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.
203
+ define_attribute :uuid, String
204
+ end
205
+ end
206
+ end
@@ -0,0 +1,46 @@
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 MeasuredUnit < Resource
8
+
9
+ # @!attribute created_at
10
+ # @return [DateTime] Created at
11
+ define_attribute :created_at, DateTime
12
+
13
+ # @!attribute deleted_at
14
+ # @return [DateTime] Deleted at
15
+ define_attribute :deleted_at, DateTime
16
+
17
+ # @!attribute description
18
+ # @return [String] Optional internal description.
19
+ define_attribute :description, String
20
+
21
+ # @!attribute display_name
22
+ # @return [String] Display name for the measured unit. Can only contain spaces, underscores and must be alphanumeric.
23
+ define_attribute :display_name, String
24
+
25
+ # @!attribute id
26
+ # @return [String] Item ID
27
+ define_attribute :id, String
28
+
29
+ # @!attribute name
30
+ # @return [String] Unique internal name of the measured unit on your site.
31
+ define_attribute :name, String
32
+
33
+ # @!attribute object
34
+ # @return [String] Object type
35
+ define_attribute :object, String
36
+
37
+ # @!attribute state
38
+ # @return [String] The current state of the measured unit.
39
+ define_attribute :state, String
40
+
41
+ # @!attribute updated_at
42
+ # @return [DateTime] Last updated at
43
+ define_attribute :updated_at, DateTime
44
+ end
45
+ end
46
+ 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 Resources
7
+ class PaymentMethod < Resource
8
+
9
+ # @!attribute account_type
10
+ # @return [String] The bank account type. Only present for ACH payment methods.
11
+ define_attribute :account_type, String
12
+
13
+ # @!attribute billing_agreement_id
14
+ # @return [String] Billing Agreement identifier. Only present for Amazon or Paypal payment methods.
15
+ define_attribute :billing_agreement_id, String
16
+
17
+ # @!attribute card_type
18
+ # @return [String] Visa, MasterCard, American Express, Discover, JCB, etc.
19
+ define_attribute :card_type, String
20
+
21
+ # @!attribute cc_bin_country
22
+ # @return [String] The 2-letter ISO 3166-1 alpha-2 country code associated with the credit card BIN, if known by Recurly. Available on the BillingInfo object only. Available when the BIN country lookup feature is enabled.
23
+ define_attribute :cc_bin_country, String
24
+
25
+ # @!attribute exp_month
26
+ # @return [Integer] Expiration month.
27
+ define_attribute :exp_month, Integer
28
+
29
+ # @!attribute exp_year
30
+ # @return [Integer] Expiration year.
31
+ define_attribute :exp_year, Integer
32
+
33
+ # @!attribute first_six
34
+ # @return [String] Credit card number's first six digits.
35
+ define_attribute :first_six, String
36
+
37
+ # @!attribute gateway_code
38
+ # @return [String] An identifier for a specific payment gateway.
39
+ define_attribute :gateway_code, String
40
+
41
+ # @!attribute gateway_token
42
+ # @return [String] A token used in place of a credit card in order to perform transactions.
43
+ define_attribute :gateway_token, String
44
+
45
+ # @!attribute last_four
46
+ # @return [String] Credit card number's last four digits. Will refer to bank account if payment method is ACH.
47
+ define_attribute :last_four, String
48
+
49
+ # @!attribute last_two
50
+ # @return [String] The IBAN bank account's last two digits.
51
+ define_attribute :last_two, String
52
+
53
+ # @!attribute name_on_account
54
+ # @return [String] The name associated with the bank account.
55
+ define_attribute :name_on_account, String
56
+
57
+ # @!attribute object
58
+ # @return [String]
59
+ define_attribute :object, String
60
+
61
+ # @!attribute routing_number
62
+ # @return [String] The bank account's routing number. Only present for ACH payment methods.
63
+ define_attribute :routing_number, String
64
+
65
+ # @!attribute routing_number_bank
66
+ # @return [String] The bank name of this routing number.
67
+ define_attribute :routing_number_bank, String
68
+ end
69
+ end
70
+ 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 PercentageTier < Resource
8
+
9
+ # @!attribute ending_amount
10
+ # @return [Float] Ending amount for the tier. Allows up to 2 decimal places. Must be left empty if it is the final tier.
11
+ define_attribute :ending_amount, Float
12
+
13
+ # @!attribute usage_percentage
14
+ # @return [String] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places represented as a string.
15
+ define_attribute :usage_percentage, String
16
+ end
17
+ end
18
+ 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 PercentageTiersByCurrency < Resource
8
+
9
+ # @!attribute currency
10
+ # @return [String] 3-letter ISO 4217 currency code.
11
+ define_attribute :currency, String
12
+
13
+ # @!attribute tiers
14
+ # @return [Array[PercentageTier]] Tiers
15
+ define_attribute :tiers, Array, { :item_type => :PercentageTier }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,122 @@
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 Plan < Resource
8
+
9
+ # @!attribute accounting_code
10
+ # @return [String] Accounting code for invoice line items for the plan. If no value is provided, it defaults to plan's code.
11
+ define_attribute :accounting_code, String
12
+
13
+ # @!attribute allow_any_item_on_subscriptions
14
+ # @return [Boolean] Used to determine whether items can be assigned as add-ons to individual subscriptions. If `true`, items can be assigned as add-ons to individual subscription add-ons. If `false`, only plan add-ons can be used.
15
+ define_attribute :allow_any_item_on_subscriptions, :Boolean
16
+
17
+ # @!attribute auto_renew
18
+ # @return [Boolean] Subscriptions will automatically inherit this value once they are active. If `auto_renew` is `true`, then a subscription will automatically renew its term at renewal. If `auto_renew` is `false`, then a subscription will expire at the end of its term. `auto_renew` can be overridden on the subscription record itself.
19
+ define_attribute :auto_renew, :Boolean
20
+
21
+ # @!attribute avalara_service_type
22
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the plan 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.
23
+ define_attribute :avalara_service_type, Integer
24
+
25
+ # @!attribute avalara_transaction_type
26
+ # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the plan 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.
27
+ define_attribute :avalara_transaction_type, Integer
28
+
29
+ # @!attribute code
30
+ # @return [String] Unique code to identify the plan. This is used in Hosted Payment Page URLs and in the invoice exports.
31
+ define_attribute :code, String
32
+
33
+ # @!attribute created_at
34
+ # @return [DateTime] Created at
35
+ define_attribute :created_at, DateTime
36
+
37
+ # @!attribute currencies
38
+ # @return [Array[PlanPricing]] Pricing
39
+ define_attribute :currencies, Array, { :item_type => :PlanPricing }
40
+
41
+ # @!attribute deleted_at
42
+ # @return [DateTime] Deleted at
43
+ define_attribute :deleted_at, DateTime
44
+
45
+ # @!attribute description
46
+ # @return [String] Optional description, not displayed.
47
+ define_attribute :description, String
48
+
49
+ # @!attribute dunning_campaign_id
50
+ # @return [String] Unique ID to identify a dunning campaign. Used to specify if a non-default dunning campaign should be assigned to this plan. For sites without multiple dunning campaigns enabled, the default dunning campaign will always be used.
51
+ define_attribute :dunning_campaign_id, String
52
+
53
+ # @!attribute hosted_pages
54
+ # @return [PlanHostedPages] Hosted pages settings
55
+ define_attribute :hosted_pages, :PlanHostedPages
56
+
57
+ # @!attribute id
58
+ # @return [String] Plan ID
59
+ define_attribute :id, String
60
+
61
+ # @!attribute interval_length
62
+ # @return [Integer] Length of the plan's billing interval in `interval_unit`.
63
+ define_attribute :interval_length, Integer
64
+
65
+ # @!attribute interval_unit
66
+ # @return [String] Unit for the plan's billing interval.
67
+ define_attribute :interval_unit, String
68
+
69
+ # @!attribute name
70
+ # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
71
+ define_attribute :name, String
72
+
73
+ # @!attribute object
74
+ # @return [String] Object type
75
+ define_attribute :object, String
76
+
77
+ # @!attribute revenue_schedule_type
78
+ # @return [String] Revenue schedule type
79
+ define_attribute :revenue_schedule_type, String
80
+
81
+ # @!attribute setup_fee_accounting_code
82
+ # @return [String] Accounting code for invoice line items for the plan's setup fee. If no value is provided, it defaults to plan's accounting code.
83
+ define_attribute :setup_fee_accounting_code, String
84
+
85
+ # @!attribute setup_fee_revenue_schedule_type
86
+ # @return [String] Setup fee revenue schedule type
87
+ define_attribute :setup_fee_revenue_schedule_type, String
88
+
89
+ # @!attribute state
90
+ # @return [String] The current state of the plan.
91
+ define_attribute :state, String
92
+
93
+ # @!attribute tax_code
94
+ # @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`.
95
+ define_attribute :tax_code, String
96
+
97
+ # @!attribute tax_exempt
98
+ # @return [Boolean] `true` exempts tax on the plan, `false` applies tax on the plan.
99
+ define_attribute :tax_exempt, :Boolean
100
+
101
+ # @!attribute total_billing_cycles
102
+ # @return [Integer] Automatically terminate subscriptions after a defined number of billing cycles. Number of billing cycles before the plan automatically stops renewing, defaults to `null` for continuous, automatic renewal.
103
+ define_attribute :total_billing_cycles, Integer
104
+
105
+ # @!attribute trial_length
106
+ # @return [Integer] Length of plan's trial period in `trial_units`. `0` means `no trial`.
107
+ define_attribute :trial_length, Integer
108
+
109
+ # @!attribute trial_requires_billing_info
110
+ # @return [Boolean] Allow free trial subscriptions to be created without billing info. Should not be used if billing info is needed for initial invoice due to existing uninvoiced charges or setup fee.
111
+ define_attribute :trial_requires_billing_info, :Boolean
112
+
113
+ # @!attribute trial_unit
114
+ # @return [String] Units for the plan's trial period.
115
+ define_attribute :trial_unit, String
116
+
117
+ # @!attribute updated_at
118
+ # @return [DateTime] Last updated at
119
+ define_attribute :updated_at, DateTime
120
+ end
121
+ end
122
+ 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 PlanHostedPages < Resource
8
+
9
+ # @!attribute bypass_confirmation
10
+ # @return [Boolean] If `true`, the customer will be sent directly to your `success_url` after a successful signup, bypassing Recurly's hosted confirmation page.
11
+ define_attribute :bypass_confirmation, :Boolean
12
+
13
+ # @!attribute cancel_url
14
+ # @return [String] URL to redirect to on canceled signup on the hosted payment pages.
15
+ define_attribute :cancel_url, String
16
+
17
+ # @!attribute display_quantity
18
+ # @return [Boolean] Determines if the quantity field is displayed on the hosted pages for the plan.
19
+ define_attribute :display_quantity, :Boolean
20
+
21
+ # @!attribute success_url
22
+ # @return [String] URL to redirect to after signup on the hosted payment pages.
23
+ define_attribute :success_url, String
24
+ end
25
+ end
26
+ 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 PlanMini < Resource
8
+
9
+ # @!attribute code
10
+ # @return [String] Unique code to identify the plan. This is used in Hosted Payment Page URLs and in the invoice exports.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute id
14
+ # @return [String] Plan ID
15
+ define_attribute :id, String
16
+
17
+ # @!attribute name
18
+ # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
19
+ define_attribute :name, String
20
+
21
+ # @!attribute object
22
+ # @return [String] Object type
23
+ define_attribute :object, String
24
+ end
25
+ end
26
+ 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 PlanPricing < Resource
8
+
9
+ # @!attribute currency
10
+ # @return [String] 3-letter ISO 4217 currency code.
11
+ define_attribute :currency, String
12
+
13
+ # @!attribute setup_fee
14
+ # @return [Float] Amount of one-time setup fee automatically charged at the beginning of a subscription billing cycle. For subscription plans with a trial, the setup fee will be charged at the time of signup. Setup fees do not increase with the quantity of a subscription plan.
15
+ define_attribute :setup_fee, Float
16
+
17
+ # @!attribute tax_inclusive
18
+ # @return [Boolean] This field is deprecated. Please do not use it.
19
+ define_attribute :tax_inclusive, :Boolean
20
+
21
+ # @!attribute unit_amount
22
+ # @return [Float] Unit price
23
+ define_attribute :unit_amount, Float
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class Pricing < Resource
8
+
9
+ # @!attribute currency
10
+ # @return [String] 3-letter ISO 4217 currency code.
11
+ define_attribute :currency, String
12
+
13
+ # @!attribute tax_inclusive
14
+ # @return [Boolean] This field is deprecated. Please do not use it.
15
+ define_attribute :tax_inclusive, :Boolean
16
+
17
+ # @!attribute unit_amount
18
+ # @return [Float] Unit price
19
+ define_attribute :unit_amount, Float
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 Resources
7
+ class Settings < Resource
8
+
9
+ # @!attribute accepted_currencies
10
+ # @return [Array[String]]
11
+ define_attribute :accepted_currencies, Array, { :item_type => String }
12
+
13
+ # @!attribute billing_address_requirement
14
+ # @return [String] - full: Full Address (Street, City, State, Postal Code and Country) - streetzip: Street and Postal Code only - zip: Postal Code only - none: No Address
15
+ define_attribute :billing_address_requirement, String
16
+
17
+ # @!attribute default_currency
18
+ # @return [String] The default 3-letter ISO 4217 currency code.
19
+ define_attribute :default_currency, String
20
+ end
21
+ end
22
+ end