recurly 2.17.0 → 3.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (260) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +15 -0
  3. data/.github/ISSUE_TEMPLATE/bug-report.md +30 -0
  4. data/.github/ISSUE_TEMPLATE/question-or-other.md +10 -0
  5. data/.github/workflows/docs.yml +28 -0
  6. data/.github_changelog_generator +8 -0
  7. data/.gitignore +15 -0
  8. data/.rspec +2 -0
  9. data/.travis.yml +13 -0
  10. data/.yardopts +2 -0
  11. data/CHANGELOG.md +313 -0
  12. data/CODE_OF_CONDUCT.md +130 -0
  13. data/CONTRIBUTING.md +106 -0
  14. data/GETTING_STARTED.md +319 -0
  15. data/Gemfile +4 -0
  16. data/LICENSE.txt +21 -0
  17. data/README.md +9 -153
  18. data/Rakefile +6 -0
  19. data/benchmark.rb +16 -0
  20. data/lib/data/ca-certificates.crt +3466 -0
  21. data/lib/recurly/client/operations.rb +3665 -0
  22. data/lib/recurly/client.rb +353 -0
  23. data/lib/recurly/connection_pool.rb +40 -0
  24. data/lib/recurly/errors/api_errors.rb +83 -0
  25. data/lib/recurly/errors/network_errors.rb +10 -0
  26. data/lib/recurly/errors.rb +68 -0
  27. data/lib/recurly/http.rb +50 -0
  28. data/lib/recurly/pager.rb +146 -0
  29. data/lib/recurly/request.rb +31 -0
  30. data/lib/recurly/requests/account_acquisition_cost.rb +18 -0
  31. data/lib/recurly/requests/account_acquisition_updatable.rb +26 -0
  32. data/lib/recurly/requests/account_create.rb +90 -0
  33. data/lib/recurly/requests/account_purchase.rb +90 -0
  34. data/lib/recurly/requests/account_update.rb +78 -0
  35. data/lib/recurly/requests/add_on_create.rb +94 -0
  36. data/lib/recurly/requests/add_on_pricing.rb +18 -0
  37. data/lib/recurly/requests/add_on_update.rb +74 -0
  38. data/lib/recurly/requests/address.rb +46 -0
  39. data/lib/recurly/requests/billing_info_create.rb +110 -0
  40. data/lib/recurly/requests/coupon_bulk_create.rb +14 -0
  41. data/lib/recurly/requests/coupon_create.rb +94 -0
  42. data/lib/recurly/requests/coupon_pricing.rb +18 -0
  43. data/lib/recurly/requests/coupon_redemption_create.rb +18 -0
  44. data/lib/recurly/requests/coupon_update.rb +34 -0
  45. data/lib/recurly/requests/custom_field.rb +18 -0
  46. data/lib/recurly/requests/external_refund.rb +22 -0
  47. data/lib/recurly/requests/external_transaction.rb +26 -0
  48. data/lib/recurly/requests/invoice_address.rb +54 -0
  49. data/lib/recurly/requests/invoice_collect.rb +18 -0
  50. data/lib/recurly/requests/invoice_create.rb +42 -0
  51. data/lib/recurly/requests/invoice_refund.rb +34 -0
  52. data/lib/recurly/requests/invoice_updatable.rb +34 -0
  53. data/lib/recurly/requests/item_create.rb +58 -0
  54. data/lib/recurly/requests/item_update.rb +58 -0
  55. data/lib/recurly/requests/line_item_create.rb +82 -0
  56. data/lib/recurly/requests/line_item_refund.rb +22 -0
  57. data/lib/recurly/requests/measured_unit_create.rb +22 -0
  58. data/lib/recurly/requests/measured_unit_update.rb +22 -0
  59. data/lib/recurly/requests/plan_create.rb +98 -0
  60. data/lib/recurly/requests/plan_hosted_pages.rb +26 -0
  61. data/lib/recurly/requests/plan_pricing.rb +22 -0
  62. data/lib/recurly/requests/plan_update.rb +94 -0
  63. data/lib/recurly/requests/pricing.rb +18 -0
  64. data/lib/recurly/requests/purchase_create.rb +74 -0
  65. data/lib/recurly/requests/shipping_address_create.rb +62 -0
  66. data/lib/recurly/requests/shipping_address_update.rb +66 -0
  67. data/lib/recurly/requests/shipping_fee_create.rb +22 -0
  68. data/lib/recurly/requests/shipping_method_create.rb +26 -0
  69. data/lib/recurly/requests/shipping_method_update.rb +26 -0
  70. data/lib/recurly/requests/shipping_purchase.rb +22 -0
  71. data/lib/recurly/requests/subscription_add_on_create.rb +38 -0
  72. data/lib/recurly/requests/subscription_add_on_tier.rb +18 -0
  73. data/lib/recurly/requests/subscription_add_on_update.rb +42 -0
  74. data/lib/recurly/requests/subscription_cancel.rb +14 -0
  75. data/lib/recurly/requests/subscription_change_create.rb +66 -0
  76. data/lib/recurly/requests/subscription_change_shipping_create.rb +22 -0
  77. data/lib/recurly/requests/subscription_create.rb +106 -0
  78. data/lib/recurly/requests/subscription_pause.rb +14 -0
  79. data/lib/recurly/requests/subscription_purchase.rb +66 -0
  80. data/lib/recurly/requests/subscription_shipping_create.rb +30 -0
  81. data/lib/recurly/requests/subscription_shipping_purchase.rb +22 -0
  82. data/lib/recurly/requests/subscription_shipping_update.rb +22 -0
  83. data/lib/recurly/requests/subscription_update.rb +58 -0
  84. data/lib/recurly/requests/tier.rb +18 -0
  85. data/lib/recurly/requests/usage_create.rb +26 -0
  86. data/lib/recurly/requests.rb +8 -0
  87. data/lib/recurly/resource.rb +23 -1082
  88. data/lib/recurly/resources/account.rb +130 -0
  89. data/lib/recurly/resources/account_acquisition.rb +46 -0
  90. data/lib/recurly/resources/account_acquisition_cost.rb +18 -0
  91. data/lib/recurly/resources/account_balance.rb +26 -0
  92. data/lib/recurly/resources/account_balance_amount.rb +18 -0
  93. data/lib/recurly/resources/account_mini.rb +46 -0
  94. data/lib/recurly/resources/account_note.rb +34 -0
  95. data/lib/recurly/resources/add_on.rb +114 -0
  96. data/lib/recurly/resources/add_on_mini.rb +54 -0
  97. data/lib/recurly/resources/add_on_pricing.rb +18 -0
  98. data/lib/recurly/resources/address.rb +46 -0
  99. data/lib/recurly/resources/billing_info.rb +66 -0
  100. data/lib/recurly/resources/billing_info_updated_by.rb +18 -0
  101. data/lib/recurly/resources/binary_file.rb +14 -0
  102. data/lib/recurly/resources/coupon.rb +130 -0
  103. data/lib/recurly/resources/coupon_discount.rb +26 -0
  104. data/lib/recurly/resources/coupon_discount_pricing.rb +18 -0
  105. data/lib/recurly/resources/coupon_discount_trial.rb +18 -0
  106. data/lib/recurly/resources/coupon_mini.rb +42 -0
  107. data/lib/recurly/resources/coupon_redemption.rb +50 -0
  108. data/lib/recurly/resources/coupon_redemption_mini.rb +34 -0
  109. data/lib/recurly/resources/credit_payment.rb +66 -0
  110. data/lib/recurly/resources/custom_field.rb +18 -0
  111. data/lib/recurly/resources/custom_field_definition.rb +50 -0
  112. data/lib/recurly/resources/error.rb +22 -0
  113. data/lib/recurly/resources/error_may_have_transaction.rb +26 -0
  114. data/lib/recurly/resources/export_dates.rb +18 -0
  115. data/lib/recurly/resources/export_file.rb +22 -0
  116. data/lib/recurly/resources/export_files.rb +18 -0
  117. data/lib/recurly/resources/fraud_info.rb +22 -0
  118. data/lib/recurly/resources/invoice.rb +146 -0
  119. data/lib/recurly/resources/invoice_address.rb +54 -0
  120. data/lib/recurly/resources/invoice_collection.rb +22 -0
  121. data/lib/recurly/resources/invoice_mini.rb +30 -0
  122. data/lib/recurly/resources/item.rb +82 -0
  123. data/lib/recurly/resources/item_mini.rb +34 -0
  124. data/lib/recurly/resources/line_item.rb +198 -0
  125. data/lib/recurly/resources/line_item_list.rb +26 -0
  126. data/lib/recurly/resources/measured_unit.rb +46 -0
  127. data/lib/recurly/resources/payment_method.rb +66 -0
  128. data/lib/recurly/resources/plan.rb +118 -0
  129. data/lib/recurly/resources/plan_hosted_pages.rb +26 -0
  130. data/lib/recurly/resources/plan_mini.rb +26 -0
  131. data/lib/recurly/resources/plan_pricing.rb +22 -0
  132. data/lib/recurly/resources/pricing.rb +18 -0
  133. data/lib/recurly/resources/settings.rb +22 -0
  134. data/lib/recurly/resources/shipping_address.rb +82 -0
  135. data/lib/recurly/resources/shipping_method.rb +46 -0
  136. data/lib/recurly/resources/shipping_method_mini.rb +26 -0
  137. data/lib/recurly/resources/site.rb +54 -0
  138. data/lib/recurly/resources/subscription.rb +174 -0
  139. data/lib/recurly/resources/subscription_add_on.rb +66 -0
  140. data/lib/recurly/resources/subscription_add_on_tier.rb +18 -0
  141. data/lib/recurly/resources/subscription_change.rb +78 -0
  142. data/lib/recurly/resources/subscription_change_preview.rb +78 -0
  143. data/lib/recurly/resources/subscription_shipping.rb +26 -0
  144. data/lib/recurly/resources/tax_info.rb +22 -0
  145. data/lib/recurly/resources/tier.rb +18 -0
  146. data/lib/recurly/resources/transaction.rb +158 -0
  147. data/lib/recurly/resources/transaction_error.rb +38 -0
  148. data/lib/recurly/resources/transaction_payment_gateway.rb +26 -0
  149. data/lib/recurly/resources/unique_coupon_code.rb +50 -0
  150. data/lib/recurly/resources/usage.rb +70 -0
  151. data/lib/recurly/resources/user.rb +42 -0
  152. data/lib/recurly/resources.rb +18 -0
  153. data/lib/recurly/schema/file_parser.rb +13 -0
  154. data/lib/recurly/schema/json_parser.rb +72 -0
  155. data/lib/recurly/schema/request_caster.rb +60 -0
  156. data/lib/recurly/schema/resource_caster.rb +46 -0
  157. data/lib/recurly/schema/schema_factory.rb +48 -0
  158. data/lib/recurly/schema/schema_validator.rb +144 -0
  159. data/lib/recurly/schema.rb +156 -0
  160. data/lib/recurly/version.rb +1 -15
  161. data/lib/recurly.rb +15 -137
  162. data/openapi/api.yaml +21024 -0
  163. data/recurly.gemspec +39 -0
  164. data/scripts/build +5 -0
  165. data/scripts/bump +11 -0
  166. data/scripts/changelog +14 -0
  167. data/scripts/clean +6 -0
  168. data/scripts/format +12 -0
  169. data/scripts/prepare-release +36 -0
  170. data/scripts/release +32 -0
  171. data/scripts/test +15 -0
  172. metadata +206 -168
  173. data/lib/recurly/account.rb +0 -169
  174. data/lib/recurly/account_balance.rb +0 -21
  175. data/lib/recurly/add_on.rb +0 -30
  176. data/lib/recurly/address.rb +0 -25
  177. data/lib/recurly/adjustment.rb +0 -76
  178. data/lib/recurly/api/errors.rb +0 -206
  179. data/lib/recurly/api/net_http_adapter.rb +0 -111
  180. data/lib/recurly/api.rb +0 -101
  181. data/lib/recurly/billing_info.rb +0 -80
  182. data/lib/recurly/coupon.rb +0 -134
  183. data/lib/recurly/credit_payment.rb +0 -28
  184. data/lib/recurly/custom_field.rb +0 -15
  185. data/lib/recurly/delivery.rb +0 -19
  186. data/lib/recurly/error.rb +0 -13
  187. data/lib/recurly/gift_card.rb +0 -79
  188. data/lib/recurly/helper.rb +0 -51
  189. data/lib/recurly/invoice.rb +0 -268
  190. data/lib/recurly/invoice_collection.rb +0 -14
  191. data/lib/recurly/js.rb +0 -14
  192. data/lib/recurly/juris_detail.rb +0 -14
  193. data/lib/recurly/measured_unit.rb +0 -16
  194. data/lib/recurly/money.rb +0 -120
  195. data/lib/recurly/plan.rb +0 -40
  196. data/lib/recurly/purchase.rb +0 -219
  197. data/lib/recurly/redemption.rb +0 -46
  198. data/lib/recurly/resource/association.rb +0 -16
  199. data/lib/recurly/resource/errors.rb +0 -20
  200. data/lib/recurly/resource/pager.rb +0 -314
  201. data/lib/recurly/shipping_address.rb +0 -22
  202. data/lib/recurly/subscription/add_ons.rb +0 -77
  203. data/lib/recurly/subscription.rb +0 -325
  204. data/lib/recurly/subscription_add_on.rb +0 -50
  205. data/lib/recurly/tax_detail.rb +0 -14
  206. data/lib/recurly/tax_type.rb +0 -12
  207. data/lib/recurly/transaction/errors.rb +0 -107
  208. data/lib/recurly/transaction.rb +0 -116
  209. data/lib/recurly/usage.rb +0 -24
  210. data/lib/recurly/webhook/account_notification.rb +0 -10
  211. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  212. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  213. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  214. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  215. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  216. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  217. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  218. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  219. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  220. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  221. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  222. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  223. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  224. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  225. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  226. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  227. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  228. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  229. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  230. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  231. data/lib/recurly/webhook/notification.rb +0 -18
  232. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  233. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  234. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  235. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  236. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  237. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  238. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  239. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  240. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  241. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  242. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  243. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  244. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  245. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  246. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  247. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  248. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  249. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  250. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  251. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  252. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  253. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  254. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  255. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  256. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  257. data/lib/recurly/webhook.rb +0 -88
  258. data/lib/recurly/xml/nokogiri.rb +0 -58
  259. data/lib/recurly/xml/rexml.rb +0 -50
  260. data/lib/recurly/xml.rb +0 -120
@@ -0,0 +1,146 @@
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 closed_at
22
+ # @return [DateTime] Date invoice was marked paid or failed.
23
+ define_attribute :closed_at, DateTime
24
+
25
+ # @!attribute collection_method
26
+ # @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.
27
+ define_attribute :collection_method, String
28
+
29
+ # @!attribute created_at
30
+ # @return [DateTime] Created at
31
+ define_attribute :created_at, DateTime
32
+
33
+ # @!attribute credit_payments
34
+ # @return [Array[CreditPayment]] Credit payments
35
+ define_attribute :credit_payments, Array, { :item_type => :CreditPayment }
36
+
37
+ # @!attribute currency
38
+ # @return [String] 3-letter ISO 4217 currency code.
39
+ define_attribute :currency, String
40
+
41
+ # @!attribute customer_notes
42
+ # @return [String] This will default to the Customer Notes text specified on the Invoice Settings. Specify custom notes to add or override Customer Notes.
43
+ define_attribute :customer_notes, String
44
+
45
+ # @!attribute discount
46
+ # @return [Float] Total discounts applied to this invoice.
47
+ define_attribute :discount, Float
48
+
49
+ # @!attribute due_at
50
+ # @return [DateTime] Date invoice is due. This is the date the net terms are reached.
51
+ define_attribute :due_at, DateTime
52
+
53
+ # @!attribute id
54
+ # @return [String] Invoice ID
55
+ define_attribute :id, String
56
+
57
+ # @!attribute line_items
58
+ # @return [LineItemList]
59
+ define_attribute :line_items, :LineItemList
60
+
61
+ # @!attribute net_terms
62
+ # @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.
63
+ define_attribute :net_terms, Integer
64
+
65
+ # @!attribute number
66
+ # @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.
67
+ define_attribute :number, String
68
+
69
+ # @!attribute object
70
+ # @return [String] Object type
71
+ define_attribute :object, String
72
+
73
+ # @!attribute origin
74
+ # @return [String] The event that created the invoice.
75
+ define_attribute :origin, String
76
+
77
+ # @!attribute paid
78
+ # @return [Float] The total amount of successful payments transaction on this invoice.
79
+ define_attribute :paid, Float
80
+
81
+ # @!attribute po_number
82
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
83
+ define_attribute :po_number, String
84
+
85
+ # @!attribute previous_invoice_id
86
+ # @return [String] On refund invoices, this value will exist and show the invoice ID of the purchase invoice the refund was created from.
87
+ define_attribute :previous_invoice_id, String
88
+
89
+ # @!attribute refundable_amount
90
+ # @return [Float] The refundable amount on a charge invoice. It will be null for all other invoices.
91
+ define_attribute :refundable_amount, Float
92
+
93
+ # @!attribute shipping_address
94
+ # @return [ShippingAddress]
95
+ define_attribute :shipping_address, :ShippingAddress
96
+
97
+ # @!attribute state
98
+ # @return [String] Invoice state
99
+ define_attribute :state, String
100
+
101
+ # @!attribute subscription_ids
102
+ # @return [Array[String]] If the invoice is charging or refunding for one or more subscriptions, these are their IDs.
103
+ define_attribute :subscription_ids, Array, { :item_type => String }
104
+
105
+ # @!attribute subtotal
106
+ # @return [Float] The summation of charges, discounts, and credits, before tax.
107
+ define_attribute :subtotal, Float
108
+
109
+ # @!attribute tax
110
+ # @return [Float] The total tax on this invoice.
111
+ define_attribute :tax, Float
112
+
113
+ # @!attribute tax_info
114
+ # @return [TaxInfo] Tax info
115
+ define_attribute :tax_info, :TaxInfo
116
+
117
+ # @!attribute terms_and_conditions
118
+ # @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.
119
+ define_attribute :terms_and_conditions, String
120
+
121
+ # @!attribute total
122
+ # @return [Float] The final total on this invoice. The summation of invoice charges, discounts, credits, and tax.
123
+ define_attribute :total, Float
124
+
125
+ # @!attribute transactions
126
+ # @return [Array[Transaction]] Transactions
127
+ define_attribute :transactions, Array, { :item_type => :Transaction }
128
+
129
+ # @!attribute type
130
+ # @return [String] Invoices are either charge, credit, or legacy invoices.
131
+ define_attribute :type, String
132
+
133
+ # @!attribute updated_at
134
+ # @return [DateTime] Last updated at
135
+ define_attribute :updated_at, DateTime
136
+
137
+ # @!attribute vat_number
138
+ # @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.
139
+ define_attribute :vat_number, String
140
+
141
+ # @!attribute vat_reverse_charge_notes
142
+ # @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.
143
+ define_attribute :vat_reverse_charge_notes, String
144
+ end
145
+ end
146
+ 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 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,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
@@ -0,0 +1,198 @@
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 created_at
38
+ # @return [DateTime] When the line item was created.
39
+ define_attribute :created_at, DateTime
40
+
41
+ # @!attribute credit_applied
42
+ # @return [Float] The amount of credit from this line item that was applied to the invoice.
43
+ define_attribute :credit_applied, Float
44
+
45
+ # @!attribute credit_reason_code
46
+ # @return [String] The reason the credit was given when line item is `type=credit`.
47
+ define_attribute :credit_reason_code, String
48
+
49
+ # @!attribute currency
50
+ # @return [String] 3-letter ISO 4217 currency code.
51
+ define_attribute :currency, String
52
+
53
+ # @!attribute description
54
+ # @return [String] Description that appears on the invoice. For subscription related items this will be filled in automatically.
55
+ define_attribute :description, String
56
+
57
+ # @!attribute discount
58
+ # @return [Float] The discount applied to the line item.
59
+ define_attribute :discount, Float
60
+
61
+ # @!attribute end_date
62
+ # @return [DateTime] If this date is provided, it indicates the end of a time range.
63
+ define_attribute :end_date, DateTime
64
+
65
+ # @!attribute external_sku
66
+ # @return [String] Optional Stock Keeping Unit assigned to an item. Available when the Credit Invoices and Subscription Billing Terms features are enabled.
67
+ define_attribute :external_sku, String
68
+
69
+ # @!attribute id
70
+ # @return [String] Line item ID
71
+ define_attribute :id, String
72
+
73
+ # @!attribute invoice_id
74
+ # @return [String] Once the line item has been invoiced this will be the invoice's ID.
75
+ define_attribute :invoice_id, String
76
+
77
+ # @!attribute invoice_number
78
+ # @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.
79
+ define_attribute :invoice_number, String
80
+
81
+ # @!attribute item_code
82
+ # @return [String] Unique code to identify an item. Available when the Credit Invoices and Subscription Billing Terms features are enabled.
83
+ define_attribute :item_code, String
84
+
85
+ # @!attribute item_id
86
+ # @return [String] System-generated unique identifier for an item. Available when the Credit Invoices and Subscription Billing Terms features are enabled.
87
+ define_attribute :item_id, String
88
+
89
+ # @!attribute legacy_category
90
+ # @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.
91
+ define_attribute :legacy_category, String
92
+
93
+ # @!attribute object
94
+ # @return [String] Object type
95
+ define_attribute :object, String
96
+
97
+ # @!attribute origin
98
+ # @return [String] A credit created from an original charge will have the value of the charge's origin.
99
+ define_attribute :origin, String
100
+
101
+ # @!attribute original_line_item_invoice_id
102
+ # @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.
103
+ define_attribute :original_line_item_invoice_id, String
104
+
105
+ # @!attribute plan_code
106
+ # @return [String] If the line item is a charge or credit for a plan or add-on, this is the plan's code.
107
+ define_attribute :plan_code, String
108
+
109
+ # @!attribute plan_id
110
+ # @return [String] If the line item is a charge or credit for a plan or add-on, this is the plan's ID.
111
+ define_attribute :plan_id, String
112
+
113
+ # @!attribute previous_line_item_id
114
+ # @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.
115
+ define_attribute :previous_line_item_id, String
116
+
117
+ # @!attribute product_code
118
+ # @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`.
119
+ define_attribute :product_code, String
120
+
121
+ # @!attribute proration_rate
122
+ # @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.
123
+ define_attribute :proration_rate, Float
124
+
125
+ # @!attribute quantity
126
+ # @return [Integer] This number will be multiplied by the unit amount to compute the subtotal before any discounts or taxes.
127
+ define_attribute :quantity, Integer
128
+
129
+ # @!attribute refund
130
+ # @return [Boolean] Refund?
131
+ define_attribute :refund, :Boolean
132
+
133
+ # @!attribute refunded_quantity
134
+ # @return [Integer] For refund charges, the quantity being refunded. For non-refund charges, the total quantity refunded (possibly over multiple refunds).
135
+ define_attribute :refunded_quantity, Integer
136
+
137
+ # @!attribute revenue_schedule_type
138
+ # @return [String] Revenue schedule type
139
+ define_attribute :revenue_schedule_type, String
140
+
141
+ # @!attribute shipping_address
142
+ # @return [ShippingAddress]
143
+ define_attribute :shipping_address, :ShippingAddress
144
+
145
+ # @!attribute start_date
146
+ # @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.
147
+ define_attribute :start_date, DateTime
148
+
149
+ # @!attribute state
150
+ # @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.
151
+ define_attribute :state, String
152
+
153
+ # @!attribute subscription_id
154
+ # @return [String] If the line item is a charge or credit for a subscription, this is its ID.
155
+ define_attribute :subscription_id, String
156
+
157
+ # @!attribute subtotal
158
+ # @return [Float] `quantity * unit_amount`
159
+ define_attribute :subtotal, Float
160
+
161
+ # @!attribute tax
162
+ # @return [Float] The tax amount for the line item.
163
+ define_attribute :tax, Float
164
+
165
+ # @!attribute tax_code
166
+ # @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`.
167
+ define_attribute :tax_code, String
168
+
169
+ # @!attribute tax_exempt
170
+ # @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.
171
+ define_attribute :tax_exempt, :Boolean
172
+
173
+ # @!attribute tax_info
174
+ # @return [TaxInfo] Tax info
175
+ define_attribute :tax_info, :TaxInfo
176
+
177
+ # @!attribute taxable
178
+ # @return [Boolean] `true` if the line item is taxable, `false` if it is not.
179
+ define_attribute :taxable, :Boolean
180
+
181
+ # @!attribute type
182
+ # @return [String] Charges are positive line items that debit the account. Credits are negative line items that credit the account.
183
+ define_attribute :type, String
184
+
185
+ # @!attribute unit_amount
186
+ # @return [Float] Positive amount for a charge, negative amount for a credit.
187
+ define_attribute :unit_amount, Float
188
+
189
+ # @!attribute updated_at
190
+ # @return [DateTime] When the line item was last changed.
191
+ define_attribute :updated_at, DateTime
192
+
193
+ # @!attribute uuid
194
+ # @return [String] The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.
195
+ define_attribute :uuid, String
196
+ end
197
+ end
198
+ 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 LineItemList < Resource
8
+
9
+ # @!attribute data
10
+ # @return [Array[LineItem]]
11
+ define_attribute :data, Array, { :item_type => :LineItem }
12
+
13
+ # @!attribute has_more
14
+ # @return [Boolean] Indicates there are more results on subsequent pages.
15
+ define_attribute :has_more, :Boolean
16
+
17
+ # @!attribute next
18
+ # @return [String] Path to subsequent page of results.
19
+ define_attribute :next, String
20
+
21
+ # @!attribute object
22
+ # @return [String] Will always be List.
23
+ define_attribute :object, String
24
+ end
25
+ end
26
+ 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