recurly 2.18.24 → 3.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +14 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +158 -110
  8. data/Rakefile +6 -0
  9. data/bin/bundle +105 -0
  10. data/bin/coderay +29 -0
  11. data/bin/console +14 -0
  12. data/bin/htmldiff +29 -0
  13. data/bin/ldiff +29 -0
  14. data/bin/pry +29 -0
  15. data/bin/rake +29 -0
  16. data/bin/rspec +29 -0
  17. data/bin/setup +8 -0
  18. data/bin/yard +29 -0
  19. data/bin/yardoc +29 -0
  20. data/bin/yri +29 -0
  21. data/lib/data/ca-certificates.crt +31 -0
  22. data/lib/recurly/client/operations.rb +935 -0
  23. data/lib/recurly/client.rb +198 -0
  24. data/lib/recurly/errors/api_errors.rb +35 -0
  25. data/lib/recurly/errors/network_errors.rb +8 -0
  26. data/lib/recurly/errors.rb +34 -0
  27. data/lib/recurly/pager.rb +119 -0
  28. data/lib/recurly/request.rb +30 -0
  29. data/lib/recurly/requests/account_acquisition_updatable.rb +22 -0
  30. data/lib/recurly/requests/account_create_only.rb +18 -0
  31. data/lib/recurly/requests/account_updatable.rb +50 -0
  32. data/lib/recurly/requests/add_on_create.rb +38 -0
  33. data/lib/recurly/requests/add_on_update.rb +38 -0
  34. data/lib/recurly/requests/address.rb +42 -0
  35. data/lib/recurly/requests/billing_info_create.rb +58 -0
  36. data/lib/recurly/requests/coupon_create_only.rb +66 -0
  37. data/lib/recurly/requests/coupon_updatable.rb +30 -0
  38. data/lib/recurly/requests/create_account.rb +62 -0
  39. data/lib/recurly/requests/create_coupon.rb +90 -0
  40. data/lib/recurly/requests/invoice_create.rb +42 -0
  41. data/lib/recurly/requests/invoice_refund.rb +30 -0
  42. data/lib/recurly/requests/line_item_create.rb +46 -0
  43. data/lib/recurly/requests/plan_create.rb +66 -0
  44. data/lib/recurly/requests/plan_update.rb +70 -0
  45. data/lib/recurly/requests/shipping_address_create.rb +58 -0
  46. data/lib/recurly/requests/shipping_address_update.rb +62 -0
  47. data/lib/recurly/requests/subscription_add_on_create.rb +22 -0
  48. data/lib/recurly/requests/subscription_change_create.rb +42 -0
  49. data/lib/recurly/requests/subscription_create.rb +86 -0
  50. data/lib/recurly/requests/subscription_update.rb +42 -0
  51. data/lib/recurly/requests/update_coupon.rb +30 -0
  52. data/lib/recurly/resource.rb +16 -1112
  53. data/lib/recurly/resources/account.rb +86 -0
  54. data/lib/recurly/resources/account_acquisition.rb +42 -0
  55. data/lib/recurly/resources/account_balance.rb +22 -0
  56. data/lib/recurly/resources/account_note.rb +30 -0
  57. data/lib/recurly/resources/add_on.rb +62 -0
  58. data/lib/recurly/resources/address.rb +42 -0
  59. data/lib/recurly/resources/billing_info.rb +62 -0
  60. data/lib/recurly/resources/coupon.rb +110 -0
  61. data/lib/recurly/resources/coupon_discount.rb +22 -0
  62. data/lib/recurly/resources/coupon_redemption.rb +46 -0
  63. data/lib/recurly/resources/credit_payment.rb +62 -0
  64. data/lib/recurly/resources/error.rb +18 -0
  65. data/lib/recurly/resources/error_may_have_transaction.rb +22 -0
  66. data/lib/recurly/resources/invoice.rb +138 -0
  67. data/lib/recurly/resources/invoice_collection.rb +18 -0
  68. data/lib/recurly/resources/line_item.rb +166 -0
  69. data/lib/recurly/resources/plan.rb +86 -0
  70. data/lib/recurly/resources/settings.rb +18 -0
  71. data/lib/recurly/resources/shipping_address.rb +74 -0
  72. data/lib/recurly/resources/site.rb +46 -0
  73. data/lib/recurly/resources/subscription.rb +134 -0
  74. data/lib/recurly/resources/subscription_add_on.rb +42 -0
  75. data/lib/recurly/resources/subscription_change.rb +54 -0
  76. data/lib/recurly/resources/tax_info.rb +18 -0
  77. data/lib/recurly/resources/transaction.rb +146 -0
  78. data/lib/recurly/resources/unique_coupon_code.rb +38 -0
  79. data/lib/recurly/resources/user.rb +38 -0
  80. data/lib/recurly/schema/json_deserializer.rb +53 -0
  81. data/lib/recurly/schema/json_parser.rb +71 -0
  82. data/lib/recurly/schema/request_caster.rb +66 -0
  83. data/lib/recurly/schema/schema_factory.rb +50 -0
  84. data/lib/recurly/schema/schema_validator.rb +125 -0
  85. data/lib/recurly/schema.rb +114 -0
  86. data/lib/recurly/version.rb +1 -10
  87. data/lib/recurly.rb +14 -151
  88. data/recurly.gemspec +32 -0
  89. data/scripts/build +4 -0
  90. data/scripts/clean +6 -0
  91. data/scripts/test +3 -0
  92. metadata +129 -179
  93. data/lib/recurly/account.rb +0 -214
  94. data/lib/recurly/account_acquisition.rb +0 -27
  95. data/lib/recurly/account_balance.rb +0 -22
  96. data/lib/recurly/add_on.rb +0 -51
  97. data/lib/recurly/address.rb +0 -25
  98. data/lib/recurly/adjustment.rb +0 -84
  99. data/lib/recurly/api/errors.rb +0 -208
  100. data/lib/recurly/api/net_http_adapter.rb +0 -111
  101. data/lib/recurly/api.rb +0 -110
  102. data/lib/recurly/billing_info.rb +0 -114
  103. data/lib/recurly/coupon.rb +0 -136
  104. data/lib/recurly/credit_payment.rb +0 -32
  105. data/lib/recurly/currency_percentage_tier.rb +0 -17
  106. data/lib/recurly/custom_field.rb +0 -15
  107. data/lib/recurly/delivery.rb +0 -19
  108. data/lib/recurly/dunning_campaign.rb +0 -30
  109. data/lib/recurly/dunning_cycle.rb +0 -18
  110. data/lib/recurly/error.rb +0 -13
  111. data/lib/recurly/gift_card.rb +0 -85
  112. data/lib/recurly/helper.rb +0 -51
  113. data/lib/recurly/invoice.rb +0 -305
  114. data/lib/recurly/invoice_collection.rb +0 -14
  115. data/lib/recurly/invoice_template.rb +0 -14
  116. data/lib/recurly/item.rb +0 -36
  117. data/lib/recurly/js.rb +0 -14
  118. data/lib/recurly/juris_detail.rb +0 -15
  119. data/lib/recurly/measured_unit.rb +0 -16
  120. data/lib/recurly/money.rb +0 -120
  121. data/lib/recurly/note.rb +0 -14
  122. data/lib/recurly/percentage_tier.rb +0 -17
  123. data/lib/recurly/plan.rb +0 -44
  124. data/lib/recurly/purchase.rb +0 -238
  125. data/lib/recurly/redemption.rb +0 -46
  126. data/lib/recurly/resource/association.rb +0 -16
  127. data/lib/recurly/resource/errors.rb +0 -20
  128. data/lib/recurly/resource/pager.rb +0 -313
  129. data/lib/recurly/shipping_address.rb +0 -26
  130. data/lib/recurly/shipping_fee.rb +0 -17
  131. data/lib/recurly/shipping_method.rb +0 -13
  132. data/lib/recurly/sub_add_on_percentage_tier.rb +0 -17
  133. data/lib/recurly/subscription/add_ons.rb +0 -82
  134. data/lib/recurly/subscription.rb +0 -367
  135. data/lib/recurly/subscription_add_on.rb +0 -63
  136. data/lib/recurly/tax_detail.rb +0 -18
  137. data/lib/recurly/tax_type.rb +0 -13
  138. data/lib/recurly/tier.rb +0 -18
  139. data/lib/recurly/transaction/errors.rb +0 -115
  140. data/lib/recurly/transaction.rb +0 -131
  141. data/lib/recurly/usage.rb +0 -28
  142. data/lib/recurly/verify.rb +0 -12
  143. data/lib/recurly/webhook/account_notification.rb +0 -13
  144. data/lib/recurly/webhook/billing_info_update_failed_notification.rb +0 -6
  145. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  146. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  147. data/lib/recurly/webhook/canceled_gift_card_notification.rb +0 -6
  148. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  149. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  150. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  151. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  152. data/lib/recurly/webhook/deactivated_item_notification.rb +0 -6
  153. data/lib/recurly/webhook/deleted_shipping_address_notification.rb +0 -6
  154. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  155. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  156. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  157. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  158. data/lib/recurly/webhook/fraud_info_updated_notification.rb +0 -6
  159. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  160. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  161. data/lib/recurly/webhook/item_notification.rb +0 -7
  162. data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
  163. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  164. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  165. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  166. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  167. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  168. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  169. data/lib/recurly/webhook/new_item_notification.rb +0 -6
  170. data/lib/recurly/webhook/new_shipping_address_notification.rb +0 -6
  171. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  172. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  173. data/lib/recurly/webhook/notification.rb +0 -18
  174. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  175. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  176. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  177. data/lib/recurly/webhook/paused_subscription_renewal_notification.rb +0 -6
  178. data/lib/recurly/webhook/prerenewal_notification.rb +0 -6
  179. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  180. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  181. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  182. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  183. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  184. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  185. data/lib/recurly/webhook/reactivated_item_notification.rb +0 -6
  186. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  187. data/lib/recurly/webhook/regenerated_gift_card_notification.rb +0 -6
  188. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  189. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  190. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  191. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  192. data/lib/recurly/webhook/scheduled_subscription_pause_notification.rb +0 -6
  193. data/lib/recurly/webhook/scheduled_subscription_update_notification.rb +0 -6
  194. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  195. data/lib/recurly/webhook/subscription_pause_canceled_notification.rb +0 -6
  196. data/lib/recurly/webhook/subscription_pause_modified_notification.rb +0 -6
  197. data/lib/recurly/webhook/subscription_paused_notification.rb +0 -6
  198. data/lib/recurly/webhook/subscription_resumed_notification.rb +0 -6
  199. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  200. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  201. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  202. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  203. data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
  204. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  205. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  206. data/lib/recurly/webhook/updated_gift_card_notification.rb +0 -6
  207. data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
  208. data/lib/recurly/webhook/updated_item_notification.rb +0 -6
  209. data/lib/recurly/webhook/updated_shipping_address_notification.rb +0 -6
  210. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  211. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  212. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  213. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  214. data/lib/recurly/webhook.rb +0 -113
  215. data/lib/recurly/xml/nokogiri.rb +0 -60
  216. data/lib/recurly/xml/rexml.rb +0 -52
  217. data/lib/recurly/xml.rb +0 -122
@@ -0,0 +1,62 @@
1
+ module Recurly
2
+ module Requests
3
+ class ShippingAddressUpdate < Request
4
+
5
+ # @!attribute city
6
+ # @return [String]
7
+ define_attribute :city, String
8
+
9
+ # @!attribute company
10
+ # @return [String]
11
+ define_attribute :company, String
12
+
13
+ # @!attribute country
14
+ # @return [String] Country, 2-letter ISO code.
15
+ define_attribute :country, String
16
+
17
+ # @!attribute email
18
+ # @return [String]
19
+ define_attribute :email, String
20
+
21
+ # @!attribute first_name
22
+ # @return [String]
23
+ define_attribute :first_name, String
24
+
25
+ # @!attribute [r] id
26
+ # @return [String] Shipping Address ID
27
+ define_attribute :id, String, {:read_only => true}
28
+
29
+ # @!attribute last_name
30
+ # @return [String]
31
+ define_attribute :last_name, String
32
+
33
+ # @!attribute nickname
34
+ # @return [String]
35
+ define_attribute :nickname, String
36
+
37
+ # @!attribute phone
38
+ # @return [String]
39
+ define_attribute :phone, String
40
+
41
+ # @!attribute postal_code
42
+ # @return [String] Zip or postal code.
43
+ define_attribute :postal_code, String
44
+
45
+ # @!attribute region
46
+ # @return [String] State or province.
47
+ define_attribute :region, String
48
+
49
+ # @!attribute street1
50
+ # @return [String]
51
+ define_attribute :street1, String
52
+
53
+ # @!attribute street2
54
+ # @return [String]
55
+ define_attribute :street2, String
56
+
57
+ # @!attribute vat_number
58
+ # @return [String]
59
+ define_attribute :vat_number, String
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,22 @@
1
+ module Recurly
2
+ module Requests
3
+ class SubscriptionAddOnCreate < Request
4
+
5
+ # @!attribute code
6
+ # @return [String] Add-on code
7
+ define_attribute :code, String
8
+
9
+ # @!attribute id
10
+ # @return [String] Id of an existing subscription add on.
11
+ define_attribute :id, String
12
+
13
+ # @!attribute quantity
14
+ # @return [Integer] Optionally override the default quantity.
15
+ define_attribute :quantity, Integer
16
+
17
+ # @!attribute unit_amount
18
+ # @return [Float] Override the default unit amount of the add-on by setting this value.
19
+ define_attribute :unit_amount, Float
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,42 @@
1
+ module Recurly
2
+ module Requests
3
+ class SubscriptionChangeCreate < Request
4
+
5
+ # @!attribute add_ons
6
+ # @return [Array[SubscriptionAddOnCreate]] If you set this value you include all the add-ons and their quantities and amounts. The values you include will replace the previous values entirely.
7
+ define_attribute :add_ons, Array, {:item_type => :SubscriptionAddOnCreate}
8
+
9
+ # @!attribute collection_method
10
+ # @return [String] Collection method
11
+ define_attribute :collection_method, String, {:enum => ["automatic", "manual"]}
12
+
13
+ # @!attribute coupon_codes
14
+ # @return [Array[String]] A list of coupon_codes to be redeemed on the subscription during the change. Only allowed if timeframe is now and you change something about the subscription that creates an invoice.
15
+ define_attribute :coupon_codes, Array, {:item_type => 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. 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.
19
+ define_attribute :net_terms, Integer
20
+
21
+ # @!attribute plan_code
22
+ # @return [String] The plan code.
23
+ define_attribute :plan_code, String
24
+
25
+ # @!attribute po_number
26
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
27
+ define_attribute :po_number, String
28
+
29
+ # @!attribute quantity
30
+ # @return [Integer] Optionally override the default quantity of 1.
31
+ define_attribute :quantity, Integer
32
+
33
+ # @!attribute timeframe
34
+ # @return [String] The timeframe parameter controls when the upgrade or downgrade takes place. The subscription change can occur now or when the subscription renews. Generally, if you're performing an upgrade, you will want the change to occur immediately (now). If you're performing a downgrade, you should set the timeframe to "renewal" so the change takes affect at the end of the current billing cycle.
35
+ define_attribute :timeframe, String, {:enum => ["now", "renewal"]}
36
+
37
+ # @!attribute unit_amount
38
+ # @return [Float] Optionally, sets custom pricing for the subscription, overriding the plan's default unit amount. The subscription's current currency will be used.
39
+ define_attribute :unit_amount, Float
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,86 @@
1
+ module Recurly
2
+ module Requests
3
+ class SubscriptionCreate < Request
4
+
5
+ # @!attribute account
6
+ # @return [Hash] Account
7
+ define_attribute :account, Hash
8
+
9
+ # @!attribute add_ons
10
+ # @return [Array[String]] Add-ons
11
+ define_attribute :add_ons, Array, {:item_type => String}
12
+
13
+ # @!attribute collection_method
14
+ # @return [String] Collection method
15
+ define_attribute :collection_method, String, {:enum => ["automatic", "manual"]}
16
+
17
+ # @!attribute coupon_code
18
+ # @return [String] Optional coupon code to redeem on the account and discount the subscription. Please note, the subscription request will fail if the coupon is invalid.
19
+ define_attribute :coupon_code, String
20
+
21
+ # @!attribute credit_customer_notes
22
+ # @return [String] If there are pending credits on the account that will be invoiced during the subscription creation, these will be used as the Customer Notes on the credit invoice.
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] This will default to the Customer Notes text specified on the Invoice Settings. Specify custom notes to add or override Customer Notes. Custom notes will stay with a subscription on all renewals.
31
+ define_attribute :customer_notes, String
32
+
33
+ # @!attribute first_renewal_date
34
+ # @return [DateTime] If set,indicates when the first renewal should occur. Subsequent renewals will be offset from this date. The first invoice will be prorated appropriately so that the customer only pays for the portion of the first billing period for which the subscription applies. Useful for forcing a subscription to renew on the first of the month.
35
+ define_attribute :first_renewal_date, DateTime
36
+
37
+ # @!attribute net_terms
38
+ # @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.
39
+ define_attribute :net_terms, Integer
40
+
41
+ # @!attribute plan_code
42
+ # @return [String] Plan code
43
+ define_attribute :plan_code, String
44
+
45
+ # @!attribute plan_id
46
+ # @return [String] Plan ID
47
+ define_attribute :plan_id, String
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 quantity
54
+ # @return [Integer] Optionally override the default quantity of 1.
55
+ define_attribute :quantity, Integer
56
+
57
+ # @!attribute shipping_address
58
+ # @return [Hash] Create a shipping address on the account and assign it to the subscription.
59
+ define_attribute :shipping_address, Hash
60
+
61
+ # @!attribute shipping_address_id
62
+ # @return [String] Assign a shipping address from the account's existing shipping addresses. If this and `shipping_address` are both present, `shipping_address` will take precedence.
63
+ define_attribute :shipping_address_id, String
64
+
65
+ # @!attribute starts_at
66
+ # @return [DateTime] If set, the subscription will begin in the future on this date. The subscription will apply the setup fee and trial period, unless the plan has no trial.
67
+ define_attribute :starts_at, DateTime
68
+
69
+ # @!attribute terms_and_conditions
70
+ # @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. Custom notes will stay with a subscription on all renewals.
71
+ define_attribute :terms_and_conditions, String
72
+
73
+ # @!attribute total_billing_cycles
74
+ # @return [Integer] Renews the subscription for a specified number of total cycles, then automatically cancels. Defaults to the subscription renewing indefinitely.
75
+ define_attribute :total_billing_cycles, Integer
76
+
77
+ # @!attribute trial_ends_at
78
+ # @return [DateTime] If set, overrides the default trial behavior for the subscription. The date must be in the future.
79
+ define_attribute :trial_ends_at, DateTime
80
+
81
+ # @!attribute unit_amount
82
+ # @return [Float] Override the unit amount of the subscription plan by setting this value in cents. If not provided, the subscription will inherit the price from the subscription plan for the provided currency.
83
+ define_attribute :unit_amount, Float
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,42 @@
1
+ module Recurly
2
+ module Requests
3
+ class SubscriptionUpdate < Request
4
+
5
+ # @!attribute collection_method
6
+ # @return [String] Change collection method
7
+ define_attribute :collection_method, String, {:enum => ["automatic", "manual"]}
8
+
9
+ # @!attribute customer_notes
10
+ # @return [String] Specify custom notes to add or override Customer Notes. Custom notes will stay with a subscription on all renewals.
11
+ define_attribute :customer_notes, String
12
+
13
+ # @!attribute net_terms
14
+ # @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.
15
+ define_attribute :net_terms, Integer
16
+
17
+ # @!attribute next_renewal_at
18
+ # @return [DateTime] For an active subscription, this will change the next renewal date. For a subscription in a trial period, modifying the renewal date will change when the trial expires.
19
+ define_attribute :next_renewal_at, DateTime
20
+
21
+ # @!attribute po_number
22
+ # @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
23
+ define_attribute :po_number, String
24
+
25
+ # @!attribute remaining_billing_cycles
26
+ # @return [Integer] Renews the subscription for a specified number of cycles, then automatically cancels.
27
+ define_attribute :remaining_billing_cycles, Integer
28
+
29
+ # @!attribute shipping_address
30
+ # @return [Hash] Create a shipping address on the account and assign it to the subscription. If this and `shipping_address_id` are both present, `shipping_address_id` will take precedence."
31
+ define_attribute :shipping_address, Hash
32
+
33
+ # @!attribute shipping_address_id
34
+ # @return [String] Assign a shipping address from the account's existing shipping addresses.
35
+ define_attribute :shipping_address_id, String
36
+
37
+ # @!attribute terms_and_conditions
38
+ # @return [String] Specify custom notes to add or override Terms and Conditions. Custom notes will stay with a subscription on all renewals.
39
+ define_attribute :terms_and_conditions, String
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,30 @@
1
+ module Recurly
2
+ module Requests
3
+ class UpdateCoupon < Request
4
+
5
+ # @!attribute hosted_description
6
+ # @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.
7
+ define_attribute :hosted_description, String
8
+
9
+ # @!attribute invoice_description
10
+ # @return [String] Description of the coupon on the invoice.
11
+ define_attribute :invoice_description, String
12
+
13
+ # @!attribute max_redemptions
14
+ # @return [Integer] A maximum number of redemptions for the coupon. The coupon will expire when it hits its maximum redemptions.
15
+ define_attribute :max_redemptions, Integer
16
+
17
+ # @!attribute max_redemptions_per_account
18
+ # @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.
19
+ define_attribute :max_redemptions_per_account, Integer
20
+
21
+ # @!attribute name
22
+ # @return [String] The internal name for the coupon.
23
+ define_attribute :name, String
24
+
25
+ # @!attribute redeem_by_date
26
+ # @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.
27
+ define_attribute :redeem_by_date, String
28
+ end
29
+ end
30
+ end