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,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 AddOnUpdate < Request
8
+
9
+ # @!attribute accounting_code
10
+ # @return [String] Accounting code for invoice line items for this add-on. If no value is provided, it defaults to add-on's code. If an `Item` is associated to the `AddOn` 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 add-on 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 `AddOn`, 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 add-on 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 `AddOn`, then the `avalara_transaction_type` must be absent.
19
+ define_attribute :avalara_transaction_type, Integer
20
+
21
+ # @!attribute code
22
+ # @return [String] The unique identifier for the add-on within its plan. If an `Item` is associated to the `AddOn` then `code` must be absent.
23
+ define_attribute :code, String
24
+
25
+ # @!attribute currencies
26
+ # @return [Array[AddOnPricing]] If the add-on's `tier_type` is `tiered`, `volume` or `stairstep`, then `currencies` must be absent.
27
+ define_attribute :currencies, Array, { :item_type => :AddOnPricing }
28
+
29
+ # @!attribute default_quantity
30
+ # @return [Integer] Default quantity for the hosted pages.
31
+ define_attribute :default_quantity, Integer
32
+
33
+ # @!attribute display_quantity
34
+ # @return [Boolean] Determines if the quantity field is displayed on the hosted pages for the add-on.
35
+ define_attribute :display_quantity, :Boolean
36
+
37
+ # @!attribute id
38
+ # @return [String] Add-on ID
39
+ define_attribute :id, String
40
+
41
+ # @!attribute measured_unit_id
42
+ # @return [String] System-generated unique identifier for a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.
43
+ define_attribute :measured_unit_id, String
44
+
45
+ # @!attribute measured_unit_name
46
+ # @return [String] Name of a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.
47
+ define_attribute :measured_unit_name, String
48
+
49
+ # @!attribute name
50
+ # @return [String] Describes your add-on and will appear in subscribers' invoices. If an `Item` is associated to the `AddOn` then `name` must be absent.
51
+ define_attribute :name, String
52
+
53
+ # @!attribute optional
54
+ # @return [Boolean] Whether the add-on is optional for the customer to include in their purchase on the hosted payment page. If false, the add-on will be included when a subscription is created through the Recurly UI. However, the add-on will not be included when a subscription is created through the API.
55
+ define_attribute :optional, :Boolean
56
+
57
+ # @!attribute revenue_schedule_type
58
+ # @return [String] When this add-on is invoiced, the line item will use this revenue schedule. If an `Item` is associated to the `AddOn` then `revenue_schedule_type` must be absent in the request as the value will be set from the item.
59
+ define_attribute :revenue_schedule_type, String
60
+
61
+ # @!attribute tax_code
62
+ # @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`. If an `Item` is associated to the `AddOn` then `tax code` must be absent.
63
+ define_attribute :tax_code, String
64
+
65
+ # @!attribute tiers
66
+ # @return [Array[Tier]] If the tier_type is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount` for the desired `currencies`. There must be one tier with an `ending_quantity` of 999999999 which is the default if not provided.
67
+ define_attribute :tiers, Array, { :item_type => :Tier }
68
+
69
+ # @!attribute usage_percentage
70
+ # @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if `add_on_type` is usage and `usage_type` is percentage. Must be omitted otherwise. `usage_percentage` does not support tiers.
71
+ define_attribute :usage_percentage, Float
72
+ end
73
+ end
74
+ 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 Requests
7
+ class Address < Request
8
+
9
+ # @!attribute city
10
+ # @return [String] City
11
+ define_attribute :city, String
12
+
13
+ # @!attribute country
14
+ # @return [String] Country, 2-letter ISO code.
15
+ define_attribute :country, String
16
+
17
+ # @!attribute first_name
18
+ # @return [String] First name
19
+ define_attribute :first_name, String
20
+
21
+ # @!attribute last_name
22
+ # @return [String] Last name
23
+ define_attribute :last_name, String
24
+
25
+ # @!attribute phone
26
+ # @return [String] Phone number
27
+ define_attribute :phone, String
28
+
29
+ # @!attribute postal_code
30
+ # @return [String] Zip or postal code.
31
+ define_attribute :postal_code, String
32
+
33
+ # @!attribute region
34
+ # @return [String] State or province.
35
+ define_attribute :region, String
36
+
37
+ # @!attribute street1
38
+ # @return [String] Street 1
39
+ define_attribute :street1, String
40
+
41
+ # @!attribute street2
42
+ # @return [String] Street 2
43
+ define_attribute :street2, String
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,110 @@
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 BillingInfoCreate < Request
8
+
9
+ # @!attribute account_number
10
+ # @return [String] The bank account number. (ACH, Bacs only)
11
+ define_attribute :account_number, String
12
+
13
+ # @!attribute account_type
14
+ # @return [String] The bank account type. (ACH only)
15
+ define_attribute :account_type, String
16
+
17
+ # @!attribute address
18
+ # @return [Address]
19
+ define_attribute :address, :Address
20
+
21
+ # @!attribute amazon_billing_agreement_id
22
+ # @return [String] Amazon billing agreement ID
23
+ define_attribute :amazon_billing_agreement_id, String
24
+
25
+ # @!attribute company
26
+ # @return [String] Company name
27
+ define_attribute :company, String
28
+
29
+ # @!attribute cvv
30
+ # @return [String] *STRONGLY RECOMMENDED*
31
+ define_attribute :cvv, String
32
+
33
+ # @!attribute first_name
34
+ # @return [String] First name
35
+ define_attribute :first_name, String
36
+
37
+ # @!attribute fraud_session_id
38
+ # @return [String] Fraud Session ID
39
+ define_attribute :fraud_session_id, String
40
+
41
+ # @!attribute gateway_code
42
+ # @return [String] An identifier for a specific payment gateway. Must be used in conjunction with `gateway_token`.
43
+ define_attribute :gateway_code, String
44
+
45
+ # @!attribute gateway_token
46
+ # @return [String] A token used in place of a credit card in order to perform transactions. Must be used in conjunction with `gateway_code`.
47
+ define_attribute :gateway_token, String
48
+
49
+ # @!attribute iban
50
+ # @return [String] The International Bank Account Number, up to 34 alphanumeric characters comprising a country code; two check digits; and a number that includes the domestic bank account number, branch identifier, and potential routing information. (SEPA only)
51
+ define_attribute :iban, String
52
+
53
+ # @!attribute ip_address
54
+ # @return [String] *STRONGLY RECOMMENDED* Customer's IP address when updating their billing information.
55
+ define_attribute :ip_address, String
56
+
57
+ # @!attribute last_name
58
+ # @return [String] Last name
59
+ define_attribute :last_name, String
60
+
61
+ # @!attribute month
62
+ # @return [String] Expiration month
63
+ define_attribute :month, String
64
+
65
+ # @!attribute name_on_account
66
+ # @return [String] The name associated with the bank account (ACH, SEPA, Bacs only)
67
+ define_attribute :name_on_account, String
68
+
69
+ # @!attribute number
70
+ # @return [String] Credit card number, spaces and dashes are accepted.
71
+ define_attribute :number, String
72
+
73
+ # @!attribute paypal_billing_agreement_id
74
+ # @return [String] PayPal billing agreement ID
75
+ define_attribute :paypal_billing_agreement_id, String
76
+
77
+ # @!attribute routing_number
78
+ # @return [String] The bank's rounting number. (ACH only)
79
+ define_attribute :routing_number, String
80
+
81
+ # @!attribute sort_code
82
+ # @return [String] Bank identifier code for UK based banks. Required for Bacs based billing infos. (Bacs only)
83
+ define_attribute :sort_code, String
84
+
85
+ # @!attribute three_d_secure_action_result_token_id
86
+ # @return [String] A token generated by Recurly.js after completing a 3-D Secure device fingerprinting or authentication challenge.
87
+ define_attribute :three_d_secure_action_result_token_id, String
88
+
89
+ # @!attribute token_id
90
+ # @return [String] A token [generated by Recurly.js](https://developers.recurly.com/reference/recurly-js/#getting-a-token).
91
+ define_attribute :token_id, String
92
+
93
+ # @!attribute transaction_type
94
+ # @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.
95
+ define_attribute :transaction_type, String
96
+
97
+ # @!attribute type
98
+ # @return [String] The payment method type for a non-credit card based billing info. The value of `bacs` is the only accepted value (Bacs only)
99
+ define_attribute :type, String
100
+
101
+ # @!attribute vat_number
102
+ # @return [String] VAT number
103
+ define_attribute :vat_number, String
104
+
105
+ # @!attribute year
106
+ # @return [String] Expiration year
107
+ define_attribute :year, String
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,14 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class CouponBulkCreate < Request
8
+
9
+ # @!attribute number_of_unique_codes
10
+ # @return [Integer] The quantity of unique coupon codes to generate
11
+ define_attribute :number_of_unique_codes, Integer
12
+ end
13
+ end
14
+ 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 CouponCreate < Request
8
+
9
+ # @!attribute applies_to_all_plans
10
+ # @return [Boolean] The coupon is valid for all plans if true. If false then `plans` and `plans_names` will list the applicable plans.
11
+ define_attribute :applies_to_all_plans, :Boolean
12
+
13
+ # @!attribute applies_to_non_plan_charges
14
+ # @return [Boolean] The coupon is valid for one-time, non-plan charges if true.
15
+ define_attribute :applies_to_non_plan_charges, :Boolean
16
+
17
+ # @!attribute code
18
+ # @return [String] The code the customer enters to redeem the coupon.
19
+ define_attribute :code, String
20
+
21
+ # @!attribute coupon_type
22
+ # @return [String] Whether the coupon is "single_code" or "bulk". Bulk coupons will require a `unique_code_template` and will generate unique codes through the `/generate` endpoint.
23
+ define_attribute :coupon_type, String
24
+
25
+ # @!attribute currencies
26
+ # @return [Array[CouponPricing]] Fixed discount currencies by currency. Required if the coupon type is `fixed`. This parameter should contain the coupon discount values
27
+ define_attribute :currencies, Array, { :item_type => :CouponPricing }
28
+
29
+ # @!attribute discount_percent
30
+ # @return [Integer] The percent of the price discounted by the coupon. Required if `discount_type` is `percent`.
31
+ define_attribute :discount_percent, Integer
32
+
33
+ # @!attribute discount_type
34
+ # @return [String] The type of discount provided by the coupon (how the amount discounted is calculated)
35
+ define_attribute :discount_type, String
36
+
37
+ # @!attribute duration
38
+ # @return [String] This field does not apply when the discount_type is `free_trial`. - "single_use" coupons applies to the first invoice only. - "temporal" coupons will apply to invoices for the duration determined by the `temporal_unit` and `temporal_amount` attributes. - "forever" coupons will apply to invoices forever.
39
+ define_attribute :duration, String
40
+
41
+ # @!attribute free_trial_amount
42
+ # @return [Integer] Sets the duration of time the `free_trial_unit` is for. Required if `discount_type` is `free_trial`.
43
+ define_attribute :free_trial_amount, Integer
44
+
45
+ # @!attribute free_trial_unit
46
+ # @return [String] Description of the unit of time the coupon is for. Used with `free_trial_amount` to determine the duration of time the coupon is for. Required if `discount_type` is `free_trial`.
47
+ define_attribute :free_trial_unit, String
48
+
49
+ # @!attribute hosted_description
50
+ # @return [String] This description will show up when a customer redeems a coupon on your Hosted Payment Pages, or if you choose to show the description on your own checkout page.
51
+ define_attribute :hosted_description, String
52
+
53
+ # @!attribute invoice_description
54
+ # @return [String] Description of the coupon on the invoice.
55
+ define_attribute :invoice_description, String
56
+
57
+ # @!attribute max_redemptions
58
+ # @return [Integer] A maximum number of redemptions for the coupon. The coupon will expire when it hits its maximum redemptions.
59
+ define_attribute :max_redemptions, Integer
60
+
61
+ # @!attribute max_redemptions_per_account
62
+ # @return [Integer] Redemptions per account is the number of times a specific account can redeem the coupon. Set redemptions per account to `1` if you want to keep customers from gaming the system and getting more than one discount from the coupon campaign.
63
+ define_attribute :max_redemptions_per_account, Integer
64
+
65
+ # @!attribute name
66
+ # @return [String] The internal name for the coupon.
67
+ define_attribute :name, String
68
+
69
+ # @!attribute plan_codes
70
+ # @return [Array[String]] List of plan codes to which this coupon applies. Required if `applies_to_all_plans` is false. Overrides `applies_to_all_plans` when `applies_to_all_plans` is true.
71
+ define_attribute :plan_codes, Array, { :item_type => String }
72
+
73
+ # @!attribute redeem_by_date
74
+ # @return [String] The date and time the coupon will expire and can no longer be redeemed. Time is always 11:59:59, the end-of-day Pacific time.
75
+ define_attribute :redeem_by_date, String
76
+
77
+ # @!attribute redemption_resource
78
+ # @return [String] Whether the discount is for all eligible charges on the account, or only a specific subscription.
79
+ define_attribute :redemption_resource, String
80
+
81
+ # @!attribute temporal_amount
82
+ # @return [Integer] If `duration` is "temporal" than `temporal_amount` is an integer which is multiplied by `temporal_unit` to define the duration that the coupon will be applied to invoices for.
83
+ define_attribute :temporal_amount, Integer
84
+
85
+ # @!attribute temporal_unit
86
+ # @return [String] If `duration` is "temporal" than `temporal_unit` is multiplied by `temporal_amount` to define the duration that the coupon will be applied to invoices for.
87
+ define_attribute :temporal_unit, String
88
+
89
+ # @!attribute unique_code_template
90
+ # @return [String] On a bulk coupon, the template from which unique coupon codes are generated. - You must start the template with your coupon_code wrapped in single quotes. - Outside of single quotes, use a 9 for a character that you want to be a random number. - Outside of single quotes, use an "x" for a character that you want to be a random letter. - Outside of single quotes, use an * for a character that you want to be a random number or letter. - Use single quotes ' ' for characters that you want to remain static. These strings can be alphanumeric and may contain a - _ or +. For example: "'abc-'****'-def'"
91
+ define_attribute :unique_code_template, 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 CouponPricing < Request
8
+
9
+ # @!attribute currency
10
+ # @return [String] 3-letter ISO 4217 currency code.
11
+ define_attribute :currency, String
12
+
13
+ # @!attribute discount
14
+ # @return [Float] The fixed discount (in dollars) for the corresponding currency.
15
+ define_attribute :discount, Float
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class CouponRedemptionCreate < Request
8
+
9
+ # @!attribute coupon_id
10
+ # @return [String] Coupon ID
11
+ define_attribute :coupon_id, String
12
+
13
+ # @!attribute currency
14
+ # @return [String] 3-letter ISO 4217 currency code.
15
+ define_attribute :currency, String
16
+ end
17
+ end
18
+ 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 Requests
7
+ class CouponUpdate < Request
8
+
9
+ # @!attribute hosted_description
10
+ # @return [String] This description will show up when a customer redeems a coupon on your Hosted Payment Pages, or if you choose to show the description on your own checkout page.
11
+ define_attribute :hosted_description, String
12
+
13
+ # @!attribute invoice_description
14
+ # @return [String] Description of the coupon on the invoice.
15
+ define_attribute :invoice_description, String
16
+
17
+ # @!attribute max_redemptions
18
+ # @return [Integer] A maximum number of redemptions for the coupon. The coupon will expire when it hits its maximum redemptions.
19
+ define_attribute :max_redemptions, Integer
20
+
21
+ # @!attribute max_redemptions_per_account
22
+ # @return [Integer] Redemptions per account is the number of times a specific account can redeem the coupon. Set redemptions per account to `1` if you want to keep customers from gaming the system and getting more than one discount from the coupon campaign.
23
+ define_attribute :max_redemptions_per_account, Integer
24
+
25
+ # @!attribute name
26
+ # @return [String] The internal name for the coupon.
27
+ define_attribute :name, String
28
+
29
+ # @!attribute redeem_by_date
30
+ # @return [String] The date and time the coupon will expire and can no longer be redeemed. Time is always 11:59:59, the end-of-day Pacific time.
31
+ define_attribute :redeem_by_date, String
32
+ end
33
+ end
34
+ 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 CustomField < Request
8
+
9
+ # @!attribute name
10
+ # @return [String] Fields must be created in the UI before values can be assigned to them.
11
+ define_attribute :name, String
12
+
13
+ # @!attribute value
14
+ # @return [String] Any values that resemble a credit card number or security code (CVV/CVC) will be rejected.
15
+ define_attribute :value, String
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class ExternalRefund < Request
8
+
9
+ # @!attribute description
10
+ # @return [String] Used as the refund transactions' description.
11
+ define_attribute :description, String
12
+
13
+ # @!attribute payment_method
14
+ # @return [String] Payment method used for external refund transaction.
15
+ define_attribute :payment_method, String
16
+
17
+ # @!attribute refunded_at
18
+ # @return [DateTime] Date the external refund payment was made. Defaults to the current date-time.
19
+ define_attribute :refunded_at, DateTime
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,26 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class ExternalTransaction < Request
8
+
9
+ # @!attribute amount
10
+ # @return [Float] The total amount of the transcaction. Cannot excceed the invoice total.
11
+ define_attribute :amount, Float
12
+
13
+ # @!attribute collected_at
14
+ # @return [DateTime] Datetime that the external payment was collected. Defaults to current datetime.
15
+ define_attribute :collected_at, DateTime
16
+
17
+ # @!attribute description
18
+ # @return [String] Used as the transaction's description.
19
+ define_attribute :description, String
20
+
21
+ # @!attribute payment_method
22
+ # @return [String] Payment method used for the external transaction.
23
+ define_attribute :payment_method, String
24
+ end
25
+ end
26
+ 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 Requests
7
+ class InvoiceAddress < Request
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,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 InvoiceCollect < Request
8
+
9
+ # @!attribute three_d_secure_action_result_token_id
10
+ # @return [String] A token generated by Recurly.js after completing a 3-D Secure device fingerprinting or authentication challenge.
11
+ define_attribute :three_d_secure_action_result_token_id, String
12
+
13
+ # @!attribute transaction_type
14
+ # @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.
15
+ define_attribute :transaction_type, String
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,42 @@
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 InvoiceCreate < Request
8
+
9
+ # @!attribute charge_customer_notes
10
+ # @return [String] This will default to the Customer Notes text specified on the Invoice Settings for charge invoices. Specify custom notes to add or override Customer Notes on charge invoices.
11
+ define_attribute :charge_customer_notes, String
12
+
13
+ # @!attribute collection_method
14
+ # @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.
15
+ define_attribute :collection_method, String
16
+
17
+ # @!attribute credit_customer_notes
18
+ # @return [String] This will default to the Customer Notes text specified on the Invoice Settings for credit invoices. Specify customer notes to add or override Customer Notes on credit invoices.
19
+ define_attribute :credit_customer_notes, String
20
+
21
+ # @!attribute currency
22
+ # @return [String] 3-letter ISO 4217 currency code.
23
+ define_attribute :currency, String
24
+
25
+ # @!attribute net_terms
26
+ # @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.
27
+ define_attribute :net_terms, Integer
28
+
29
+ # @!attribute po_number
30
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
31
+ define_attribute :po_number, String
32
+
33
+ # @!attribute terms_and_conditions
34
+ # @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.
35
+ define_attribute :terms_and_conditions, String
36
+
37
+ # @!attribute vat_reverse_charge_notes
38
+ # @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.
39
+ define_attribute :vat_reverse_charge_notes, String
40
+ end
41
+ end
42
+ 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 Requests
7
+ class InvoiceRefund < Request
8
+
9
+ # @!attribute amount
10
+ # @return [Float] The amount to be refunded. The amount will be split between the line items. If no amount is specified, it will default to refunding the total refundable amount on the invoice.
11
+ define_attribute :amount, Float
12
+
13
+ # @!attribute credit_customer_notes
14
+ # @return [String] Used as the Customer Notes on the credit invoice. This field can only be include when the Credit Invoices feature is enabled.
15
+ define_attribute :credit_customer_notes, String
16
+
17
+ # @!attribute external_refund
18
+ # @return [ExternalRefund] Indicates that the refund was settled outside of Recurly, and a manual transaction should be created to track it in Recurly. Required when: - refunding a manually collected charge invoice, and `refund_method` is not `all_credit` - refunding a credit invoice that refunded manually collecting invoices - refunding a credit invoice for a partial amount This field can only be included when the Credit Invoices feature is enabled.
19
+ define_attribute :external_refund, :ExternalRefund
20
+
21
+ # @!attribute line_items
22
+ # @return [Array[LineItemRefund]] The line items to be refunded. This is required when `type=line_items`.
23
+ define_attribute :line_items, Array, { :item_type => :LineItemRefund }
24
+
25
+ # @!attribute refund_method
26
+ # @return [String] Indicates how the invoice should be refunded when both a credit and transaction are present on the invoice: - `transaction_first` – Refunds the transaction first, then any amount is issued as credit back to the account. Default value when Credit Invoices feature is enabled. - `credit_first` – Issues credit back to the account first, then refunds any remaining amount back to the transaction. Default value when Credit Invoices feature is not enabled. - `all_credit` – Issues credit to the account for the entire amount of the refund. Only available when the Credit Invoices feature is enabled. - `all_transaction` – Refunds the entire amount back to transactions, using transactions from previous invoices if necessary. Only available when the Credit Invoices feature is enabled.
27
+ define_attribute :refund_method, String
28
+
29
+ # @!attribute type
30
+ # @return [String] The type of refund. Amount and line items cannot both be specified in the request.
31
+ define_attribute :type, String
32
+ end
33
+ end
34
+ end