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,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 Requests
7
+ class InvoiceUpdatable < Request
8
+
9
+ # @!attribute address
10
+ # @return [InvoiceAddress]
11
+ define_attribute :address, :InvoiceAddress
12
+
13
+ # @!attribute customer_notes
14
+ # @return [String] Customer notes are an optional note field.
15
+ define_attribute :customer_notes, String
16
+
17
+ # @!attribute net_terms
18
+ # @return [Integer] Integer representing the number of days after an invoice's creation that the invoice will become past due. Changing Net terms changes due_on, and the invoice could move between past due and pending.
19
+ define_attribute :net_terms, Integer
20
+
21
+ # @!attribute po_number
22
+ # @return [String] This identifies the PO number associated with the invoice. Not editable for credit invoices.
23
+ define_attribute :po_number, String
24
+
25
+ # @!attribute terms_and_conditions
26
+ # @return [String] Terms and conditions are an optional note field. Not editable for credit invoices.
27
+ define_attribute :terms_and_conditions, String
28
+
29
+ # @!attribute vat_reverse_charge_notes
30
+ # @return [String] VAT Reverse Charge Notes are editable only if there was a VAT reverse charge applied to the invoice.
31
+ define_attribute :vat_reverse_charge_notes, String
32
+ end
33
+ end
34
+ end
@@ -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 Requests
7
+ class ItemCreate < Request
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 currencies
26
+ # @return [Array[Pricing]] Item Pricing
27
+ define_attribute :currencies, Array, { :item_type => :Pricing }
28
+
29
+ # @!attribute custom_fields
30
+ # @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.
31
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
32
+
33
+ # @!attribute description
34
+ # @return [String] Optional, description.
35
+ define_attribute :description, String
36
+
37
+ # @!attribute external_sku
38
+ # @return [String] Optional, stock keeping unit to link the item to other inventory systems.
39
+ define_attribute :external_sku, String
40
+
41
+ # @!attribute name
42
+ # @return [String] This name describes your item and will appear on the invoice when it's purchased on a one time basis.
43
+ define_attribute :name, String
44
+
45
+ # @!attribute revenue_schedule_type
46
+ # @return [String] Revenue schedule type
47
+ define_attribute :revenue_schedule_type, String
48
+
49
+ # @!attribute tax_code
50
+ # @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`.
51
+ define_attribute :tax_code, String
52
+
53
+ # @!attribute tax_exempt
54
+ # @return [Boolean] `true` exempts tax on the item, `false` applies tax on the item.
55
+ define_attribute :tax_exempt, :Boolean
56
+ end
57
+ end
58
+ end
@@ -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 Requests
7
+ class ItemUpdate < Request
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 currencies
26
+ # @return [Array[Pricing]] Item Pricing
27
+ define_attribute :currencies, Array, { :item_type => :Pricing }
28
+
29
+ # @!attribute custom_fields
30
+ # @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.
31
+ define_attribute :custom_fields, Array, { :item_type => :CustomField }
32
+
33
+ # @!attribute description
34
+ # @return [String] Optional, description.
35
+ define_attribute :description, String
36
+
37
+ # @!attribute external_sku
38
+ # @return [String] Optional, stock keeping unit to link the item to other inventory systems.
39
+ define_attribute :external_sku, String
40
+
41
+ # @!attribute name
42
+ # @return [String] This name describes your item and will appear on the invoice when it's purchased on a one time basis.
43
+ define_attribute :name, String
44
+
45
+ # @!attribute revenue_schedule_type
46
+ # @return [String] Revenue schedule type
47
+ define_attribute :revenue_schedule_type, String
48
+
49
+ # @!attribute tax_code
50
+ # @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`.
51
+ define_attribute :tax_code, String
52
+
53
+ # @!attribute tax_exempt
54
+ # @return [Boolean] `true` exempts tax on the item, `false` applies tax on the item.
55
+ define_attribute :tax_exempt, :Boolean
56
+ end
57
+ end
58
+ 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 Requests
7
+ class LineItemCreate < Request
8
+
9
+ # @!attribute accounting_code
10
+ # @return [String] Accounting Code for the `LineItem`. If `item_code`/`item_id` is part of the request then `accounting_code` must be absent.
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 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. If an `Item` is associated to the `LineItem`, then the `avalara_service_type` must be absent.
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 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. If an `Item` is associated to the `LineItem`, then the `avalara_transaction_type` must be absent.
19
+ define_attribute :avalara_transaction_type, Integer
20
+
21
+ # @!attribute credit_reason_code
22
+ # @return [String] The reason the credit was given when line item is `type=credit`. When the Credit Invoices feature is enabled, the value can be set and will default to `general`. When the Credit Invoices feature is not enabled, the value will always be `null`.
23
+ define_attribute :credit_reason_code, String
24
+
25
+ # @!attribute currency
26
+ # @return [String] 3-letter ISO 4217 currency code. If `item_code`/`item_id` is part of the request then `currency` is optional, if the site has a single default currency. `currency` is required if `item_code`/`item_id` is present, and there are multiple currencies defined on the site. If `item_code`/`item_id` is not present `currency` is required.
27
+ define_attribute :currency, String
28
+
29
+ # @!attribute description
30
+ # @return [String] Description that appears on the invoice. If `item_code`/`item_id` is part of the request then `description` must be absent.
31
+ define_attribute :description, String
32
+
33
+ # @!attribute end_date
34
+ # @return [DateTime] If this date is provided, it indicates the end of a time range.
35
+ define_attribute :end_date, DateTime
36
+
37
+ # @!attribute item_code
38
+ # @return [String] Unique code to identify an item. Avaliable when the Credit Invoices and Subscription Billing Terms features are enabled.
39
+ define_attribute :item_code, String
40
+
41
+ # @!attribute item_id
42
+ # @return [String] System-generated unique identifier for an item. Available when the Credit Invoices and Subscription Billing Terms features are enabled.
43
+ define_attribute :item_id, String
44
+
45
+ # @!attribute origin
46
+ # @return [String] Origin `external_gift_card` is allowed if the Gift Cards feature is enabled on your site and `type` is `credit`. Set this value in order to track gift card credits from external gift cards (like InComm). It also skips billing information requirements. Origin `prepayment` is only allowed if `type` is `charge` and `tax_exempt` is left blank or set to true. This origin creates a charge and opposite credit on the account to be used for future invoices.
47
+ define_attribute :origin, String
48
+
49
+ # @!attribute product_code
50
+ # @return [String] Optional field to track a product code or SKU for the line item. This can be used to later reporting on product purchases. For Vertex tax calculations, this field will be used as the Vertex `product` field. If `item_code`/`item_id` is part of the request then `product_code` must be absent.
51
+ define_attribute :product_code, String
52
+
53
+ # @!attribute quantity
54
+ # @return [Integer] This number will be multiplied by the unit amount to compute the subtotal before any discounts or taxes.
55
+ define_attribute :quantity, Integer
56
+
57
+ # @!attribute revenue_schedule_type
58
+ # @return [String] Revenue schedule type
59
+ define_attribute :revenue_schedule_type, String
60
+
61
+ # @!attribute start_date
62
+ # @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. Defaults to the current date-time.
63
+ define_attribute :start_date, DateTime
64
+
65
+ # @!attribute tax_code
66
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`.
67
+ define_attribute :tax_code, String
68
+
69
+ # @!attribute tax_exempt
70
+ # @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.
71
+ define_attribute :tax_exempt, :Boolean
72
+
73
+ # @!attribute type
74
+ # @return [String] Line item type. If `item_code`/`item_id` is present then `type` should not be present. If `item_code`/`item_id` is not present then `type` is required.
75
+ define_attribute :type, String
76
+
77
+ # @!attribute unit_amount
78
+ # @return [Float] A positive or negative amount with `type=charge` will result in a positive `unit_amount`. A positive or negative amount with `type=credit` will result in a negative `unit_amount`. If `item_code`/`item_id` is present, `unit_amount` can be passed in, to override the `Item`'s `unit_amount`. If `item_code`/`item_id` is not present then `unit_amount` is required.
79
+ define_attribute :unit_amount, Float
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class LineItemRefund < Request
8
+
9
+ # @!attribute id
10
+ # @return [String] Line item ID
11
+ define_attribute :id, String
12
+
13
+ # @!attribute prorate
14
+ # @return [Boolean] Set to `true` if the line item should be prorated; set to `false` if not. This can only be used on line items that have a start and end date.
15
+ define_attribute :prorate, :Boolean
16
+
17
+ # @!attribute quantity
18
+ # @return [Integer] Line item quantity to be refunded.
19
+ define_attribute :quantity, Integer
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class MeasuredUnitCreate < Request
8
+
9
+ # @!attribute description
10
+ # @return [String] Optional internal description.
11
+ define_attribute :description, String
12
+
13
+ # @!attribute display_name
14
+ # @return [String] Display name for the measured unit.
15
+ define_attribute :display_name, String
16
+
17
+ # @!attribute name
18
+ # @return [String] Unique internal name of the measured unit on your site.
19
+ define_attribute :name, String
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class MeasuredUnitUpdate < Request
8
+
9
+ # @!attribute description
10
+ # @return [String] Optional internal description.
11
+ define_attribute :description, String
12
+
13
+ # @!attribute display_name
14
+ # @return [String] Display name for the measured unit.
15
+ define_attribute :display_name, String
16
+
17
+ # @!attribute name
18
+ # @return [String] Unique internal name of the measured unit on your site.
19
+ define_attribute :name, String
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,98 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class PlanCreate < Request
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 add_ons
14
+ # @return [Array[AddOnCreate]] Add Ons
15
+ define_attribute :add_ons, Array, { :item_type => :AddOnCreate }
16
+
17
+ # @!attribute allow_any_item_on_subscriptions
18
+ # @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.
19
+ define_attribute :allow_any_item_on_subscriptions, :Boolean
20
+
21
+ # @!attribute auto_renew
22
+ # @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.
23
+ define_attribute :auto_renew, :Boolean
24
+
25
+ # @!attribute avalara_service_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_service_type, Integer
28
+
29
+ # @!attribute avalara_transaction_type
30
+ # @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.
31
+ define_attribute :avalara_transaction_type, Integer
32
+
33
+ # @!attribute code
34
+ # @return [String] Unique code to identify the plan. This is used in Hosted Payment Page URLs and in the invoice exports.
35
+ define_attribute :code, String
36
+
37
+ # @!attribute currencies
38
+ # @return [Array[PlanPricing]] Pricing
39
+ define_attribute :currencies, Array, { :item_type => :PlanPricing }
40
+
41
+ # @!attribute description
42
+ # @return [String] Optional description, not displayed.
43
+ define_attribute :description, String
44
+
45
+ # @!attribute hosted_pages
46
+ # @return [PlanHostedPages] Hosted pages settings
47
+ define_attribute :hosted_pages, :PlanHostedPages
48
+
49
+ # @!attribute interval_length
50
+ # @return [Integer] Length of the plan's billing interval in `interval_unit`.
51
+ define_attribute :interval_length, Integer
52
+
53
+ # @!attribute interval_unit
54
+ # @return [String] Unit for the plan's billing interval.
55
+ define_attribute :interval_unit, String
56
+
57
+ # @!attribute name
58
+ # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
59
+ define_attribute :name, String
60
+
61
+ # @!attribute revenue_schedule_type
62
+ # @return [String] Revenue schedule type
63
+ define_attribute :revenue_schedule_type, String
64
+
65
+ # @!attribute setup_fee_accounting_code
66
+ # @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.
67
+ define_attribute :setup_fee_accounting_code, String
68
+
69
+ # @!attribute setup_fee_revenue_schedule_type
70
+ # @return [String] Setup fee revenue schedule type
71
+ define_attribute :setup_fee_revenue_schedule_type, String
72
+
73
+ # @!attribute tax_code
74
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`.
75
+ define_attribute :tax_code, String
76
+
77
+ # @!attribute tax_exempt
78
+ # @return [Boolean] `true` exempts tax on the plan, `false` applies tax on the plan.
79
+ define_attribute :tax_exempt, :Boolean
80
+
81
+ # @!attribute total_billing_cycles
82
+ # @return [Integer] Automatically terminate plans after a defined number of billing cycles.
83
+ define_attribute :total_billing_cycles, Integer
84
+
85
+ # @!attribute trial_length
86
+ # @return [Integer] Length of plan's trial period in `trial_units`. `0` means `no trial`.
87
+ define_attribute :trial_length, Integer
88
+
89
+ # @!attribute trial_requires_billing_info
90
+ # @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.
91
+ define_attribute :trial_requires_billing_info, :Boolean
92
+
93
+ # @!attribute trial_unit
94
+ # @return [String] Units for the plan's trial period.
95
+ define_attribute :trial_unit, String
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,26 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class PlanHostedPages < Request
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,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class PlanPricing < Request
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 unit_amount
18
+ # @return [Float] Unit price
19
+ define_attribute :unit_amount, Float
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,94 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class PlanUpdate < Request
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 add_ons
14
+ # @return [Array[AddOnCreate]] Add Ons
15
+ define_attribute :add_ons, Array, { :item_type => :AddOnCreate }
16
+
17
+ # @!attribute allow_any_item_on_subscriptions
18
+ # @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.
19
+ define_attribute :allow_any_item_on_subscriptions, :Boolean
20
+
21
+ # @!attribute auto_renew
22
+ # @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.
23
+ define_attribute :auto_renew, :Boolean
24
+
25
+ # @!attribute avalara_service_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_service_type, Integer
28
+
29
+ # @!attribute avalara_transaction_type
30
+ # @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.
31
+ define_attribute :avalara_transaction_type, Integer
32
+
33
+ # @!attribute code
34
+ # @return [String] Unique code to identify the plan. This is used in Hosted Payment Page URLs and in the invoice exports.
35
+ define_attribute :code, String
36
+
37
+ # @!attribute currencies
38
+ # @return [Array[PlanPricing]] Pricing
39
+ define_attribute :currencies, Array, { :item_type => :PlanPricing }
40
+
41
+ # @!attribute description
42
+ # @return [String] Optional description, not displayed.
43
+ define_attribute :description, String
44
+
45
+ # @!attribute hosted_pages
46
+ # @return [PlanHostedPages] Hosted pages settings
47
+ define_attribute :hosted_pages, :PlanHostedPages
48
+
49
+ # @!attribute id
50
+ # @return [String] Plan ID
51
+ define_attribute :id, String
52
+
53
+ # @!attribute name
54
+ # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
55
+ define_attribute :name, String
56
+
57
+ # @!attribute revenue_schedule_type
58
+ # @return [String] Revenue schedule type
59
+ define_attribute :revenue_schedule_type, String
60
+
61
+ # @!attribute setup_fee_accounting_code
62
+ # @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.
63
+ define_attribute :setup_fee_accounting_code, String
64
+
65
+ # @!attribute setup_fee_revenue_schedule_type
66
+ # @return [String] Setup fee revenue schedule type
67
+ define_attribute :setup_fee_revenue_schedule_type, String
68
+
69
+ # @!attribute tax_code
70
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`.
71
+ define_attribute :tax_code, String
72
+
73
+ # @!attribute tax_exempt
74
+ # @return [Boolean] `true` exempts tax on the plan, `false` applies tax on the plan.
75
+ define_attribute :tax_exempt, :Boolean
76
+
77
+ # @!attribute total_billing_cycles
78
+ # @return [Integer] Automatically terminate plans after a defined number of billing cycles.
79
+ define_attribute :total_billing_cycles, Integer
80
+
81
+ # @!attribute trial_length
82
+ # @return [Integer] Length of plan's trial period in `trial_units`. `0` means `no trial`.
83
+ define_attribute :trial_length, Integer
84
+
85
+ # @!attribute trial_requires_billing_info
86
+ # @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.
87
+ define_attribute :trial_requires_billing_info, :Boolean
88
+
89
+ # @!attribute trial_unit
90
+ # @return [String] Units for the plan's trial period.
91
+ define_attribute :trial_unit, String
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class Pricing < Request
8
+
9
+ # @!attribute currency
10
+ # @return [String] 3-letter ISO 4217 currency code.
11
+ define_attribute :currency, String
12
+
13
+ # @!attribute unit_amount
14
+ # @return [Float] Unit price
15
+ define_attribute :unit_amount, Float
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,74 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class PurchaseCreate < Request
8
+
9
+ # @!attribute account
10
+ # @return [AccountPurchase]
11
+ define_attribute :account, :AccountPurchase
12
+
13
+ # @!attribute collection_method
14
+ # @return [String] Must be set to manual in order to preview a purchase for an Account that does not have payment information associated with the Billing Info.
15
+ define_attribute :collection_method, String
16
+
17
+ # @!attribute coupon_codes
18
+ # @return [Array[String]] A list of coupon_codes to be redeemed on the subscription or account during the purchase.
19
+ define_attribute :coupon_codes, Array, { :item_type => String }
20
+
21
+ # @!attribute credit_customer_notes
22
+ # @return [String] Notes to be put on the credit invoice resulting from credits in the purchase, if any.
23
+ define_attribute :credit_customer_notes, String
24
+
25
+ # @!attribute currency
26
+ # @return [String] 3-letter ISO 4217 currency code.
27
+ define_attribute :currency, String
28
+
29
+ # @!attribute customer_notes
30
+ # @return [String] Customer notes
31
+ define_attribute :customer_notes, String
32
+
33
+ # @!attribute gateway_code
34
+ # @return [String] The default payment gateway identifier to be used for the purchase transaction. This will also be applied as the default for any subscriptions included in the purchase request.
35
+ define_attribute :gateway_code, String
36
+
37
+ # @!attribute gift_card_redemption_code
38
+ # @return [String] A gift card redemption code to be redeemed on the purchase invoice.
39
+ define_attribute :gift_card_redemption_code, String
40
+
41
+ # @!attribute line_items
42
+ # @return [Array[LineItemCreate]] A list of one time charges or credits to be created with the purchase.
43
+ define_attribute :line_items, Array, { :item_type => :LineItemCreate }
44
+
45
+ # @!attribute net_terms
46
+ # @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.
47
+ define_attribute :net_terms, Integer
48
+
49
+ # @!attribute po_number
50
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
51
+ define_attribute :po_number, String
52
+
53
+ # @!attribute shipping
54
+ # @return [ShippingPurchase]
55
+ define_attribute :shipping, :ShippingPurchase
56
+
57
+ # @!attribute subscriptions
58
+ # @return [Array[SubscriptionPurchase]] A list of subscriptions to be created with the purchase.
59
+ define_attribute :subscriptions, Array, { :item_type => :SubscriptionPurchase }
60
+
61
+ # @!attribute terms_and_conditions
62
+ # @return [String] Terms and conditions to be put on the purchase invoice.
63
+ define_attribute :terms_and_conditions, String
64
+
65
+ # @!attribute transaction_type
66
+ # @return [String] An optional type designation for the payment gateway transaction created by this request. Supports 'moto' value, which is the acronym for mail order and telephone transactions.
67
+ define_attribute :transaction_type, String
68
+
69
+ # @!attribute vat_reverse_charge_notes
70
+ # @return [String] VAT reverse charge notes for cross border European tax settlement.
71
+ define_attribute :vat_reverse_charge_notes, String
72
+ end
73
+ end
74
+ end