recurly 2.17.5 → 4.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +15 -0
  3. data/.changelog_config.yaml +11 -0
  4. data/.github/ISSUE_TEMPLATE/bug-report.md +30 -0
  5. data/.github/ISSUE_TEMPLATE/question-or-other.md +10 -0
  6. data/.github/workflows/ci.yml +29 -0
  7. data/.github/workflows/docs.yml +28 -0
  8. data/.gitignore +15 -0
  9. data/.rspec +2 -0
  10. data/.yardopts +2 -0
  11. data/CHANGELOG.md +295 -0
  12. data/CODE_OF_CONDUCT.md +130 -0
  13. data/CONTRIBUTING.md +106 -0
  14. data/GETTING_STARTED.md +330 -0
  15. data/Gemfile +4 -0
  16. data/LICENSE.txt +21 -0
  17. data/README.md +9 -148
  18. data/Rakefile +6 -0
  19. data/benchmark.rb +16 -0
  20. data/lib/data/ca-certificates.crt +3466 -0
  21. data/lib/recurly/client/operations.rb +4079 -0
  22. data/lib/recurly/client.rb +400 -0
  23. data/lib/recurly/connection_pool.rb +42 -0
  24. data/lib/recurly/errors/api_errors.rb +90 -0
  25. data/lib/recurly/errors/network_errors.rb +7 -0
  26. data/lib/recurly/errors.rb +51 -0
  27. data/lib/recurly/http.rb +50 -0
  28. data/lib/recurly/pager.rb +136 -0
  29. data/lib/recurly/request.rb +31 -0
  30. data/lib/recurly/requests/account_acquisition_cost.rb +18 -0
  31. data/lib/recurly/requests/account_acquisition_update.rb +26 -0
  32. data/lib/recurly/requests/account_create.rb +98 -0
  33. data/lib/recurly/requests/account_purchase.rb +98 -0
  34. data/lib/recurly/requests/account_update.rb +86 -0
  35. data/lib/recurly/requests/add_on_create.rb +102 -0
  36. data/lib/recurly/requests/add_on_pricing.rb +26 -0
  37. data/lib/recurly/requests/add_on_update.rb +78 -0
  38. data/lib/recurly/requests/address.rb +38 -0
  39. data/lib/recurly/requests/billing_info_create.rb +134 -0
  40. data/lib/recurly/requests/billing_info_verify.rb +14 -0
  41. data/lib/recurly/requests/coupon_bulk_create.rb +14 -0
  42. data/lib/recurly/requests/coupon_create.rb +102 -0
  43. data/lib/recurly/requests/coupon_pricing.rb +18 -0
  44. data/lib/recurly/requests/coupon_redemption_create.rb +22 -0
  45. data/lib/recurly/requests/coupon_update.rb +34 -0
  46. data/lib/recurly/requests/custom_field.rb +18 -0
  47. data/lib/recurly/requests/dunning_campaigns_bulk_update.rb +18 -0
  48. data/lib/recurly/requests/external_refund.rb +22 -0
  49. data/lib/recurly/requests/external_transaction.rb +26 -0
  50. data/lib/recurly/requests/invoice_address.rb +54 -0
  51. data/lib/recurly/requests/invoice_collect.rb +22 -0
  52. data/lib/recurly/requests/invoice_create.rb +42 -0
  53. data/lib/recurly/requests/invoice_refund.rb +34 -0
  54. data/lib/recurly/requests/invoice_update.rb +34 -0
  55. data/lib/recurly/requests/item_create.rb +58 -0
  56. data/lib/recurly/requests/item_update.rb +58 -0
  57. data/lib/recurly/requests/line_item_create.rb +86 -0
  58. data/lib/recurly/requests/line_item_refund.rb +22 -0
  59. data/lib/recurly/requests/measured_unit_create.rb +22 -0
  60. data/lib/recurly/requests/measured_unit_update.rb +22 -0
  61. data/lib/recurly/requests/percentage_tier.rb +18 -0
  62. data/lib/recurly/requests/percentage_tiers_by_currency.rb +18 -0
  63. data/lib/recurly/requests/plan_create.rb +102 -0
  64. data/lib/recurly/requests/plan_hosted_pages.rb +26 -0
  65. data/lib/recurly/requests/plan_pricing.rb +26 -0
  66. data/lib/recurly/requests/plan_update.rb +94 -0
  67. data/lib/recurly/requests/pricing.rb +22 -0
  68. data/lib/recurly/requests/purchase_create.rb +78 -0
  69. data/lib/recurly/requests/shipping_address_create.rb +62 -0
  70. data/lib/recurly/requests/shipping_address_update.rb +66 -0
  71. data/lib/recurly/requests/shipping_fee_create.rb +22 -0
  72. data/lib/recurly/requests/shipping_method_create.rb +26 -0
  73. data/lib/recurly/requests/shipping_method_update.rb +26 -0
  74. data/lib/recurly/requests/shipping_purchase.rb +22 -0
  75. data/lib/recurly/requests/subscription_add_on_create.rb +46 -0
  76. data/lib/recurly/requests/subscription_add_on_percentage_tier.rb +18 -0
  77. data/lib/recurly/requests/subscription_add_on_tier.rb +26 -0
  78. data/lib/recurly/requests/subscription_add_on_update.rb +50 -0
  79. data/lib/recurly/requests/subscription_cancel.rb +14 -0
  80. data/lib/recurly/requests/subscription_change_billing_info_create.rb +14 -0
  81. data/lib/recurly/requests/subscription_change_create.rb +74 -0
  82. data/lib/recurly/requests/subscription_change_shipping_create.rb +30 -0
  83. data/lib/recurly/requests/subscription_create.rb +114 -0
  84. data/lib/recurly/requests/subscription_pause.rb +14 -0
  85. data/lib/recurly/requests/subscription_purchase.rb +70 -0
  86. data/lib/recurly/requests/subscription_shipping_create.rb +30 -0
  87. data/lib/recurly/requests/subscription_shipping_purchase.rb +22 -0
  88. data/lib/recurly/requests/subscription_shipping_update.rb +22 -0
  89. data/lib/recurly/requests/subscription_update.rb +70 -0
  90. data/lib/recurly/requests/tier.rb +22 -0
  91. data/lib/recurly/requests/tier_pricing.rb +22 -0
  92. data/lib/recurly/requests/usage_create.rb +26 -0
  93. data/lib/recurly/requests.rb +8 -0
  94. data/lib/recurly/resource.rb +23 -1092
  95. data/lib/recurly/resources/account.rb +138 -0
  96. data/lib/recurly/resources/account_acquisition.rb +46 -0
  97. data/lib/recurly/resources/account_acquisition_cost.rb +18 -0
  98. data/lib/recurly/resources/account_balance.rb +26 -0
  99. data/lib/recurly/resources/account_balance_amount.rb +22 -0
  100. data/lib/recurly/resources/account_mini.rb +50 -0
  101. data/lib/recurly/resources/account_note.rb +34 -0
  102. data/lib/recurly/resources/add_on.rb +122 -0
  103. data/lib/recurly/resources/add_on_mini.rb +54 -0
  104. data/lib/recurly/resources/add_on_pricing.rb +26 -0
  105. data/lib/recurly/resources/address.rb +38 -0
  106. data/lib/recurly/resources/address_with_name.rb +46 -0
  107. data/lib/recurly/resources/billing_info.rb +74 -0
  108. data/lib/recurly/resources/billing_info_updated_by.rb +18 -0
  109. data/lib/recurly/resources/binary_file.rb +14 -0
  110. data/lib/recurly/resources/coupon.rb +126 -0
  111. data/lib/recurly/resources/coupon_discount.rb +26 -0
  112. data/lib/recurly/resources/coupon_discount_pricing.rb +18 -0
  113. data/lib/recurly/resources/coupon_discount_trial.rb +18 -0
  114. data/lib/recurly/resources/coupon_mini.rb +42 -0
  115. data/lib/recurly/resources/coupon_redemption.rb +54 -0
  116. data/lib/recurly/resources/coupon_redemption_mini.rb +34 -0
  117. data/lib/recurly/resources/credit_payment.rb +66 -0
  118. data/lib/recurly/resources/custom_field.rb +18 -0
  119. data/lib/recurly/resources/custom_field_definition.rb +50 -0
  120. data/lib/recurly/resources/dunning_campaign.rb +50 -0
  121. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +18 -0
  122. data/lib/recurly/resources/dunning_cycle.rb +58 -0
  123. data/lib/recurly/resources/dunning_interval.rb +18 -0
  124. data/lib/recurly/resources/error.rb +22 -0
  125. data/lib/recurly/resources/error_may_have_transaction.rb +26 -0
  126. data/lib/recurly/resources/export_dates.rb +18 -0
  127. data/lib/recurly/resources/export_file.rb +22 -0
  128. data/lib/recurly/resources/export_files.rb +18 -0
  129. data/lib/recurly/resources/fraud_info.rb +22 -0
  130. data/lib/recurly/resources/invoice.rb +162 -0
  131. data/lib/recurly/resources/invoice_address.rb +54 -0
  132. data/lib/recurly/resources/invoice_collection.rb +22 -0
  133. data/lib/recurly/resources/invoice_mini.rb +30 -0
  134. data/lib/recurly/resources/invoice_template.rb +34 -0
  135. data/lib/recurly/resources/item.rb +82 -0
  136. data/lib/recurly/resources/item_mini.rb +34 -0
  137. data/lib/recurly/resources/line_item.rb +206 -0
  138. data/lib/recurly/resources/measured_unit.rb +46 -0
  139. data/lib/recurly/resources/payment_method.rb +70 -0
  140. data/lib/recurly/resources/percentage_tier.rb +18 -0
  141. data/lib/recurly/resources/percentage_tiers_by_currency.rb +18 -0
  142. data/lib/recurly/resources/plan.rb +122 -0
  143. data/lib/recurly/resources/plan_hosted_pages.rb +26 -0
  144. data/lib/recurly/resources/plan_mini.rb +26 -0
  145. data/lib/recurly/resources/plan_pricing.rb +26 -0
  146. data/lib/recurly/resources/pricing.rb +22 -0
  147. data/lib/recurly/resources/settings.rb +22 -0
  148. data/lib/recurly/resources/shipping_address.rb +82 -0
  149. data/lib/recurly/resources/shipping_method.rb +46 -0
  150. data/lib/recurly/resources/shipping_method_mini.rb +26 -0
  151. data/lib/recurly/resources/site.rb +54 -0
  152. data/lib/recurly/resources/subscription.rb +198 -0
  153. data/lib/recurly/resources/subscription_add_on.rb +78 -0
  154. data/lib/recurly/resources/subscription_add_on_percentage_tier.rb +18 -0
  155. data/lib/recurly/resources/subscription_add_on_tier.rb +26 -0
  156. data/lib/recurly/resources/subscription_change.rb +82 -0
  157. data/lib/recurly/resources/subscription_change_billing_info.rb +14 -0
  158. data/lib/recurly/resources/subscription_shipping.rb +26 -0
  159. data/lib/recurly/resources/tax_detail.rb +26 -0
  160. data/lib/recurly/resources/tax_info.rb +26 -0
  161. data/lib/recurly/resources/tier.rb +22 -0
  162. data/lib/recurly/resources/tier_pricing.rb +22 -0
  163. data/lib/recurly/resources/transaction.rb +162 -0
  164. data/lib/recurly/resources/transaction_error.rb +38 -0
  165. data/lib/recurly/resources/transaction_payment_gateway.rb +26 -0
  166. data/lib/recurly/resources/unique_coupon_code.rb +50 -0
  167. data/lib/recurly/resources/unique_coupon_code_params.rb +26 -0
  168. data/lib/recurly/resources/usage.rb +78 -0
  169. data/lib/recurly/resources/user.rb +42 -0
  170. data/lib/recurly/resources.rb +18 -0
  171. data/lib/recurly/schema/file_parser.rb +13 -0
  172. data/lib/recurly/schema/json_parser.rb +72 -0
  173. data/lib/recurly/schema/request_caster.rb +60 -0
  174. data/lib/recurly/schema/resource_caster.rb +46 -0
  175. data/lib/recurly/schema/schema_factory.rb +48 -0
  176. data/lib/recurly/schema/schema_validator.rb +144 -0
  177. data/lib/recurly/schema.rb +156 -0
  178. data/lib/recurly/version.rb +1 -15
  179. data/lib/recurly.rb +15 -138
  180. data/openapi/api.yaml +22879 -0
  181. data/recurly.gemspec +39 -0
  182. data/scripts/build +5 -0
  183. data/scripts/clean +6 -0
  184. data/scripts/format +12 -0
  185. data/scripts/prepare-release +50 -0
  186. data/scripts/release +17 -0
  187. data/scripts/test +15 -0
  188. metadata +217 -217
  189. data/lib/recurly/account.rb +0 -179
  190. data/lib/recurly/account_balance.rb +0 -21
  191. data/lib/recurly/add_on.rb +0 -30
  192. data/lib/recurly/address.rb +0 -25
  193. data/lib/recurly/adjustment.rb +0 -76
  194. data/lib/recurly/api/errors.rb +0 -208
  195. data/lib/recurly/api/net_http_adapter.rb +0 -111
  196. data/lib/recurly/api.rb +0 -101
  197. data/lib/recurly/billing_info.rb +0 -80
  198. data/lib/recurly/coupon.rb +0 -134
  199. data/lib/recurly/credit_payment.rb +0 -32
  200. data/lib/recurly/custom_field.rb +0 -15
  201. data/lib/recurly/delivery.rb +0 -19
  202. data/lib/recurly/error.rb +0 -13
  203. data/lib/recurly/gift_card.rb +0 -82
  204. data/lib/recurly/helper.rb +0 -51
  205. data/lib/recurly/invoice.rb +0 -273
  206. data/lib/recurly/invoice_collection.rb +0 -14
  207. data/lib/recurly/js.rb +0 -14
  208. data/lib/recurly/juris_detail.rb +0 -14
  209. data/lib/recurly/measured_unit.rb +0 -16
  210. data/lib/recurly/money.rb +0 -120
  211. data/lib/recurly/note.rb +0 -14
  212. data/lib/recurly/plan.rb +0 -40
  213. data/lib/recurly/purchase.rb +0 -219
  214. data/lib/recurly/redemption.rb +0 -46
  215. data/lib/recurly/resource/association.rb +0 -16
  216. data/lib/recurly/resource/errors.rb +0 -20
  217. data/lib/recurly/resource/pager.rb +0 -313
  218. data/lib/recurly/shipping_address.rb +0 -26
  219. data/lib/recurly/subscription/add_ons.rb +0 -77
  220. data/lib/recurly/subscription.rb +0 -328
  221. data/lib/recurly/subscription_add_on.rb +0 -50
  222. data/lib/recurly/tax_detail.rb +0 -14
  223. data/lib/recurly/tax_type.rb +0 -12
  224. data/lib/recurly/transaction/errors.rb +0 -107
  225. data/lib/recurly/transaction.rb +0 -129
  226. data/lib/recurly/usage.rb +0 -28
  227. data/lib/recurly/webhook/account_notification.rb +0 -10
  228. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  229. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  230. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  231. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  232. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  233. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  234. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  235. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  236. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  237. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  238. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  239. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  240. data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
  241. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  242. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  243. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  244. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  245. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  246. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  247. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  248. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  249. data/lib/recurly/webhook/notification.rb +0 -18
  250. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  251. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  252. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  253. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  254. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  255. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  256. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  257. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  258. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  259. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  260. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  261. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  262. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  263. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  264. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  265. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  266. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  267. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  268. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  269. data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
  270. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  271. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  272. data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
  273. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  274. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  275. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  276. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  277. data/lib/recurly/webhook.rb +0 -91
  278. data/lib/recurly/xml/nokogiri.rb +0 -60
  279. data/lib/recurly/xml/rexml.rb +0 -52
  280. data/lib/recurly/xml.rb +0 -122
@@ -0,0 +1,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 Resources
7
+ class BillingInfo < Resource
8
+
9
+ # @!attribute account_id
10
+ # @return [String]
11
+ define_attribute :account_id, String
12
+
13
+ # @!attribute address
14
+ # @return [Address]
15
+ define_attribute :address, :Address
16
+
17
+ # @!attribute backup_payment_method
18
+ # @return [Boolean] The `backup_payment_method` field is used to indicate a billing info as a backup on the account that will be tried if the initial billing info used for an invoice is declined.
19
+ define_attribute :backup_payment_method, :Boolean
20
+
21
+ # @!attribute company
22
+ # @return [String]
23
+ define_attribute :company, String
24
+
25
+ # @!attribute created_at
26
+ # @return [DateTime] When the billing information was created.
27
+ define_attribute :created_at, DateTime
28
+
29
+ # @!attribute first_name
30
+ # @return [String]
31
+ define_attribute :first_name, String
32
+
33
+ # @!attribute fraud
34
+ # @return [FraudInfo] Most recent fraud result.
35
+ define_attribute :fraud, :FraudInfo
36
+
37
+ # @!attribute id
38
+ # @return [String]
39
+ define_attribute :id, String
40
+
41
+ # @!attribute last_name
42
+ # @return [String]
43
+ define_attribute :last_name, String
44
+
45
+ # @!attribute object
46
+ # @return [String] Object type
47
+ define_attribute :object, String
48
+
49
+ # @!attribute payment_method
50
+ # @return [PaymentMethod]
51
+ define_attribute :payment_method, :PaymentMethod
52
+
53
+ # @!attribute primary_payment_method
54
+ # @return [Boolean] The `primary_payment_method` field is used to indicate the primary billing info on the account. The first billing info created on an account will always become primary. This payment method will be used
55
+ define_attribute :primary_payment_method, :Boolean
56
+
57
+ # @!attribute updated_at
58
+ # @return [DateTime] When the billing information was last changed.
59
+ define_attribute :updated_at, DateTime
60
+
61
+ # @!attribute updated_by
62
+ # @return [BillingInfoUpdatedBy]
63
+ define_attribute :updated_by, :BillingInfoUpdatedBy
64
+
65
+ # @!attribute valid
66
+ # @return [Boolean]
67
+ define_attribute :valid, :Boolean
68
+
69
+ # @!attribute vat_number
70
+ # @return [String] Customer's VAT number (to avoid having the VAT applied). This is only used for automatically collected invoices.
71
+ define_attribute :vat_number, String
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class BillingInfoUpdatedBy < Resource
8
+
9
+ # @!attribute country
10
+ # @return [String] Country, 2-letter ISO 3166-1 alpha-2 code matching the origin IP address, if known by Recurly.
11
+ define_attribute :country, String
12
+
13
+ # @!attribute ip
14
+ # @return [String] Customer's IP address when updating their billing information.
15
+ define_attribute :ip, String
16
+ end
17
+ end
18
+ 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 Resources
7
+ class BinaryFile < Resource
8
+
9
+ # @!attribute data
10
+ # @return [String]
11
+ define_attribute :data, String
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,126 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class Coupon < Resource
8
+
9
+ # @!attribute applies_to_all_items
10
+ # @return [Boolean] The coupon is valid for all items if true. If false then `items` will list the applicable items.
11
+ define_attribute :applies_to_all_items, :Boolean
12
+
13
+ # @!attribute applies_to_all_plans
14
+ # @return [Boolean] The coupon is valid for all plans if true. If false then `plans` will list the applicable plans.
15
+ define_attribute :applies_to_all_plans, :Boolean
16
+
17
+ # @!attribute applies_to_non_plan_charges
18
+ # @return [Boolean] The coupon is valid for one-time, non-plan charges if true.
19
+ define_attribute :applies_to_non_plan_charges, :Boolean
20
+
21
+ # @!attribute code
22
+ # @return [String] The code the customer enters to redeem the coupon.
23
+ define_attribute :code, String
24
+
25
+ # @!attribute coupon_type
26
+ # @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.
27
+ define_attribute :coupon_type, String
28
+
29
+ # @!attribute created_at
30
+ # @return [DateTime] Created at
31
+ define_attribute :created_at, DateTime
32
+
33
+ # @!attribute discount
34
+ # @return [CouponDiscount] Details of the discount a coupon applies. Will contain a `type` property and one of the following properties: `percent`, `fixed`, `trial`.
35
+ define_attribute :discount, :CouponDiscount
36
+
37
+ # @!attribute duration
38
+ # @return [String] - "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.
39
+ define_attribute :duration, String
40
+
41
+ # @!attribute expired_at
42
+ # @return [DateTime] The date and time the coupon was expired early or reached its `max_redemptions`.
43
+ define_attribute :expired_at, DateTime
44
+
45
+ # @!attribute free_trial_amount
46
+ # @return [Integer] Sets the duration of time the `free_trial_unit` is for.
47
+ define_attribute :free_trial_amount, Integer
48
+
49
+ # @!attribute free_trial_unit
50
+ # @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.
51
+ define_attribute :free_trial_unit, String
52
+
53
+ # @!attribute hosted_page_description
54
+ # @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.
55
+ define_attribute :hosted_page_description, String
56
+
57
+ # @!attribute id
58
+ # @return [String] Coupon ID
59
+ define_attribute :id, String
60
+
61
+ # @!attribute invoice_description
62
+ # @return [String] Description of the coupon on the invoice.
63
+ define_attribute :invoice_description, String
64
+
65
+ # @!attribute items
66
+ # @return [Array[ItemMini]] A list of items for which this coupon applies. This will be `null` if `applies_to_all_items=true`.
67
+ define_attribute :items, Array, { :item_type => :ItemMini }
68
+
69
+ # @!attribute max_redemptions
70
+ # @return [Integer] A maximum number of redemptions for the coupon. The coupon will expire when it hits its maximum redemptions.
71
+ define_attribute :max_redemptions, Integer
72
+
73
+ # @!attribute max_redemptions_per_account
74
+ # @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.
75
+ define_attribute :max_redemptions_per_account, Integer
76
+
77
+ # @!attribute name
78
+ # @return [String] The internal name for the coupon.
79
+ define_attribute :name, String
80
+
81
+ # @!attribute object
82
+ # @return [String] Object type
83
+ define_attribute :object, String
84
+
85
+ # @!attribute plans
86
+ # @return [Array[PlanMini]] A list of plans for which this coupon applies. This will be `null` if `applies_to_all_plans=true`.
87
+ define_attribute :plans, Array, { :item_type => :PlanMini }
88
+
89
+ # @!attribute redeem_by
90
+ # @return [DateTime] 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.
91
+ define_attribute :redeem_by, DateTime
92
+
93
+ # @!attribute redemption_resource
94
+ # @return [String] Whether the discount is for all eligible charges on the account, or only a specific subscription.
95
+ define_attribute :redemption_resource, String
96
+
97
+ # @!attribute state
98
+ # @return [String] Indicates if the coupon is redeemable, and if it is not, why.
99
+ define_attribute :state, String
100
+
101
+ # @!attribute temporal_amount
102
+ # @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.
103
+ define_attribute :temporal_amount, Integer
104
+
105
+ # @!attribute temporal_unit
106
+ # @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.
107
+ define_attribute :temporal_unit, String
108
+
109
+ # @!attribute unique_code_template
110
+ # @return [String] On a bulk coupon, the template from which unique coupon codes are generated.
111
+ define_attribute :unique_code_template, String
112
+
113
+ # @!attribute unique_coupon_code
114
+ # @return [Hash] Will be populated when the Coupon being returned is a `UniqueCouponCode`.
115
+ define_attribute :unique_coupon_code, Hash
116
+
117
+ # @!attribute unique_coupon_codes_count
118
+ # @return [Integer] When this number reaches `max_redemptions` the coupon will no longer be redeemable.
119
+ define_attribute :unique_coupon_codes_count, Integer
120
+
121
+ # @!attribute updated_at
122
+ # @return [DateTime] Last updated at
123
+ define_attribute :updated_at, DateTime
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,26 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class CouponDiscount < Resource
8
+
9
+ # @!attribute currencies
10
+ # @return [Array[CouponDiscountPricing]] This is only present when `type=fixed`.
11
+ define_attribute :currencies, Array, { :item_type => :CouponDiscountPricing }
12
+
13
+ # @!attribute percent
14
+ # @return [Integer] This is only present when `type=percent`.
15
+ define_attribute :percent, Integer
16
+
17
+ # @!attribute trial
18
+ # @return [CouponDiscountTrial] This is only present when `type=free_trial`.
19
+ define_attribute :trial, :CouponDiscountTrial
20
+
21
+ # @!attribute type
22
+ # @return [String]
23
+ define_attribute :type, String
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class CouponDiscountPricing < Resource
8
+
9
+ # @!attribute amount
10
+ # @return [Float] Value of the fixed discount that this coupon applies.
11
+ define_attribute :amount, Float
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,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class CouponDiscountTrial < Resource
8
+
9
+ # @!attribute length
10
+ # @return [Integer] Trial length measured in the units specified by the sibling `unit` property
11
+ define_attribute :length, Integer
12
+
13
+ # @!attribute unit
14
+ # @return [String] Temporal unit of the free trial
15
+ define_attribute :unit, 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 Resources
7
+ class CouponMini < Resource
8
+
9
+ # @!attribute code
10
+ # @return [String] The code the customer enters to redeem the coupon.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute coupon_type
14
+ # @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.
15
+ define_attribute :coupon_type, String
16
+
17
+ # @!attribute discount
18
+ # @return [CouponDiscount] Details of the discount a coupon applies. Will contain a `type` property and one of the following properties: `percent`, `fixed`, `trial`.
19
+ define_attribute :discount, :CouponDiscount
20
+
21
+ # @!attribute expired_at
22
+ # @return [DateTime] The date and time the coupon was expired early or reached its `max_redemptions`.
23
+ define_attribute :expired_at, DateTime
24
+
25
+ # @!attribute id
26
+ # @return [String] Coupon ID
27
+ define_attribute :id, String
28
+
29
+ # @!attribute name
30
+ # @return [String] The internal name for the coupon.
31
+ define_attribute :name, String
32
+
33
+ # @!attribute object
34
+ # @return [String] Object type
35
+ define_attribute :object, String
36
+
37
+ # @!attribute state
38
+ # @return [String] Indicates if the coupon is redeemable, and if it is not, why.
39
+ define_attribute :state, String
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,54 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class CouponRedemption < Resource
8
+
9
+ # @!attribute account
10
+ # @return [AccountMini] The Account on which the coupon was applied.
11
+ define_attribute :account, :AccountMini
12
+
13
+ # @!attribute coupon
14
+ # @return [Coupon]
15
+ define_attribute :coupon, :Coupon
16
+
17
+ # @!attribute created_at
18
+ # @return [DateTime] Created at
19
+ define_attribute :created_at, DateTime
20
+
21
+ # @!attribute currency
22
+ # @return [String] 3-letter ISO 4217 currency code.
23
+ define_attribute :currency, String
24
+
25
+ # @!attribute discounted
26
+ # @return [Float] The amount that was discounted upon the application of the coupon, formatted with the currency.
27
+ define_attribute :discounted, Float
28
+
29
+ # @!attribute id
30
+ # @return [String] Coupon Redemption ID
31
+ define_attribute :id, String
32
+
33
+ # @!attribute object
34
+ # @return [String] Will always be `coupon`.
35
+ define_attribute :object, String
36
+
37
+ # @!attribute removed_at
38
+ # @return [DateTime] The date and time the redemption was removed from the account (un-redeemed).
39
+ define_attribute :removed_at, DateTime
40
+
41
+ # @!attribute state
42
+ # @return [String] Coupon Redemption state
43
+ define_attribute :state, String
44
+
45
+ # @!attribute subscription_id
46
+ # @return [String] Subscription ID
47
+ define_attribute :subscription_id, String
48
+
49
+ # @!attribute updated_at
50
+ # @return [DateTime] Last updated at
51
+ define_attribute :updated_at, DateTime
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,34 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class CouponRedemptionMini < Resource
8
+
9
+ # @!attribute coupon
10
+ # @return [CouponMini]
11
+ define_attribute :coupon, :CouponMini
12
+
13
+ # @!attribute created_at
14
+ # @return [DateTime] Created at
15
+ define_attribute :created_at, DateTime
16
+
17
+ # @!attribute discounted
18
+ # @return [Float] The amount that was discounted upon the application of the coupon, formatted with the currency.
19
+ define_attribute :discounted, Float
20
+
21
+ # @!attribute id
22
+ # @return [String] Coupon Redemption ID
23
+ define_attribute :id, String
24
+
25
+ # @!attribute object
26
+ # @return [String] Will always be `coupon`.
27
+ define_attribute :object, String
28
+
29
+ # @!attribute state
30
+ # @return [String] Invoice state
31
+ define_attribute :state, String
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,66 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class CreditPayment < Resource
8
+
9
+ # @!attribute account
10
+ # @return [AccountMini] Account mini details
11
+ define_attribute :account, :AccountMini
12
+
13
+ # @!attribute action
14
+ # @return [String] The action for which the credit was created.
15
+ define_attribute :action, String
16
+
17
+ # @!attribute amount
18
+ # @return [Float] Total credit payment amount applied to the charge invoice.
19
+ define_attribute :amount, Float
20
+
21
+ # @!attribute applied_to_invoice
22
+ # @return [InvoiceMini] Invoice mini details
23
+ define_attribute :applied_to_invoice, :InvoiceMini
24
+
25
+ # @!attribute created_at
26
+ # @return [DateTime] Created at
27
+ define_attribute :created_at, DateTime
28
+
29
+ # @!attribute currency
30
+ # @return [String] 3-letter ISO 4217 currency code.
31
+ define_attribute :currency, String
32
+
33
+ # @!attribute id
34
+ # @return [String] Credit Payment ID
35
+ define_attribute :id, String
36
+
37
+ # @!attribute object
38
+ # @return [String] Object type
39
+ define_attribute :object, String
40
+
41
+ # @!attribute original_credit_payment_id
42
+ # @return [String] For credit payments with action `refund`, this is the credit payment that was refunded.
43
+ define_attribute :original_credit_payment_id, String
44
+
45
+ # @!attribute original_invoice
46
+ # @return [InvoiceMini] Invoice mini details
47
+ define_attribute :original_invoice, :InvoiceMini
48
+
49
+ # @!attribute refund_transaction
50
+ # @return [Transaction]
51
+ define_attribute :refund_transaction, :Transaction
52
+
53
+ # @!attribute updated_at
54
+ # @return [DateTime] Last updated at
55
+ define_attribute :updated_at, DateTime
56
+
57
+ # @!attribute uuid
58
+ # @return [String] The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.
59
+ define_attribute :uuid, String
60
+
61
+ # @!attribute voided_at
62
+ # @return [DateTime] Voided at
63
+ define_attribute :voided_at, DateTime
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class CustomField < Resource
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,50 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class CustomFieldDefinition < Resource
8
+
9
+ # @!attribute created_at
10
+ # @return [DateTime] Created at
11
+ define_attribute :created_at, DateTime
12
+
13
+ # @!attribute deleted_at
14
+ # @return [DateTime] Definitions are initially soft deleted, and once all the values are removed from the accouts or subscriptions, will be hard deleted an no longer visible.
15
+ define_attribute :deleted_at, DateTime
16
+
17
+ # @!attribute display_name
18
+ # @return [String] Used to label the field when viewing and editing the field in Recurly's admin UI.
19
+ define_attribute :display_name, String
20
+
21
+ # @!attribute id
22
+ # @return [String] Custom field definition ID
23
+ define_attribute :id, String
24
+
25
+ # @!attribute name
26
+ # @return [String] Used by the API to identify the field or reading and writing. The name can only be used once per Recurly object type.
27
+ define_attribute :name, String
28
+
29
+ # @!attribute object
30
+ # @return [String] Object type
31
+ define_attribute :object, String
32
+
33
+ # @!attribute related_type
34
+ # @return [String] Related Recurly object type
35
+ define_attribute :related_type, String
36
+
37
+ # @!attribute tooltip
38
+ # @return [String] Displayed as a tooltip when editing the field in the Recurly admin UI.
39
+ define_attribute :tooltip, String
40
+
41
+ # @!attribute updated_at
42
+ # @return [DateTime] Last updated at
43
+ define_attribute :updated_at, DateTime
44
+
45
+ # @!attribute user_access
46
+ # @return [String] The access control applied inside Recurly's admin UI: - `api_only` - No one will be able to view or edit this field's data via the admin UI. - `read_only` - Users with the Customers role will be able to view this field's data via the admin UI, but editing will only be available via the API. - `write` - Users with the Customers role will be able to view and edit this field's data via the admin UI.
47
+ define_attribute :user_access, String
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,50 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class DunningCampaign < Resource
8
+
9
+ # @!attribute code
10
+ # @return [String] Campaign code.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute created_at
14
+ # @return [DateTime] When the current campaign was created in Recurly.
15
+ define_attribute :created_at, DateTime
16
+
17
+ # @!attribute default_campaign
18
+ # @return [Boolean] Whether or not this is the default campaign for accounts or plans without an assigned dunning campaign.
19
+ define_attribute :default_campaign, :Boolean
20
+
21
+ # @!attribute deleted_at
22
+ # @return [DateTime] When the current campaign was deleted in Recurly.
23
+ define_attribute :deleted_at, DateTime
24
+
25
+ # @!attribute description
26
+ # @return [String] Campaign description.
27
+ define_attribute :description, String
28
+
29
+ # @!attribute dunning_cycles
30
+ # @return [Array[DunningCycle]] Dunning Cycle settings.
31
+ define_attribute :dunning_cycles, Array, { :item_type => :DunningCycle }
32
+
33
+ # @!attribute id
34
+ # @return [String]
35
+ define_attribute :id, String
36
+
37
+ # @!attribute name
38
+ # @return [String] Campaign name.
39
+ define_attribute :name, String
40
+
41
+ # @!attribute object
42
+ # @return [String] Object type
43
+ define_attribute :object, String
44
+
45
+ # @!attribute updated_at
46
+ # @return [DateTime] When the current campaign was updated in Recurly.
47
+ define_attribute :updated_at, DateTime
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class DunningCampaignsBulkUpdateResponse < Resource
8
+
9
+ # @!attribute object
10
+ # @return [String] Object type
11
+ define_attribute :object, String
12
+
13
+ # @!attribute plans
14
+ # @return [Array[Plan]] An array containing all of the `Plan` resources that have been updated.
15
+ define_attribute :plans, Array, { :item_type => :Plan }
16
+ end
17
+ end
18
+ end