recurly 2.18.15 → 3.0.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +14 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +158 -110
- data/Rakefile +6 -0
- data/bin/bundle +105 -0
- data/bin/coderay +29 -0
- data/bin/console +14 -0
- data/bin/htmldiff +29 -0
- data/bin/ldiff +29 -0
- data/bin/pry +29 -0
- data/bin/rake +29 -0
- data/bin/rspec +29 -0
- data/bin/setup +8 -0
- data/bin/yard +29 -0
- data/bin/yardoc +29 -0
- data/bin/yri +29 -0
- data/lib/data/ca-certificates.crt +31 -0
- data/lib/recurly.rb +14 -145
- data/lib/recurly/client.rb +198 -0
- data/lib/recurly/client/operations.rb +935 -0
- data/lib/recurly/errors.rb +34 -0
- data/lib/recurly/errors/api_errors.rb +35 -0
- data/lib/recurly/errors/network_errors.rb +8 -0
- data/lib/recurly/pager.rb +119 -0
- data/lib/recurly/request.rb +30 -0
- data/lib/recurly/requests/account_acquisition_updatable.rb +22 -0
- data/lib/recurly/requests/account_create_only.rb +18 -0
- data/lib/recurly/requests/account_updatable.rb +50 -0
- data/lib/recurly/requests/add_on_create.rb +38 -0
- data/lib/recurly/requests/add_on_update.rb +38 -0
- data/lib/recurly/requests/address.rb +42 -0
- data/lib/recurly/requests/billing_info_create.rb +58 -0
- data/lib/recurly/requests/coupon_create_only.rb +66 -0
- data/lib/recurly/requests/coupon_updatable.rb +30 -0
- data/lib/recurly/requests/create_account.rb +62 -0
- data/lib/recurly/requests/create_coupon.rb +90 -0
- data/lib/recurly/requests/invoice_create.rb +42 -0
- data/lib/recurly/requests/invoice_refund.rb +30 -0
- data/lib/recurly/requests/line_item_create.rb +46 -0
- data/lib/recurly/requests/plan_create.rb +66 -0
- data/lib/recurly/requests/plan_update.rb +70 -0
- data/lib/recurly/requests/shipping_address_create.rb +58 -0
- data/lib/recurly/requests/shipping_address_update.rb +62 -0
- data/lib/recurly/requests/subscription_add_on_create.rb +22 -0
- data/lib/recurly/requests/subscription_change_create.rb +42 -0
- data/lib/recurly/requests/subscription_create.rb +86 -0
- data/lib/recurly/requests/subscription_update.rb +42 -0
- data/lib/recurly/requests/update_coupon.rb +30 -0
- data/lib/recurly/resource.rb +16 -1103
- data/lib/recurly/resources/account.rb +86 -0
- data/lib/recurly/resources/account_acquisition.rb +42 -0
- data/lib/recurly/resources/account_balance.rb +22 -0
- data/lib/recurly/resources/account_note.rb +30 -0
- data/lib/recurly/resources/add_on.rb +62 -0
- data/lib/recurly/resources/address.rb +42 -0
- data/lib/recurly/resources/billing_info.rb +62 -0
- data/lib/recurly/resources/coupon.rb +110 -0
- data/lib/recurly/resources/coupon_discount.rb +22 -0
- data/lib/recurly/resources/coupon_redemption.rb +46 -0
- data/lib/recurly/resources/credit_payment.rb +62 -0
- data/lib/recurly/resources/error.rb +18 -0
- data/lib/recurly/resources/error_may_have_transaction.rb +22 -0
- data/lib/recurly/resources/invoice.rb +138 -0
- data/lib/recurly/resources/invoice_collection.rb +18 -0
- data/lib/recurly/resources/line_item.rb +166 -0
- data/lib/recurly/resources/plan.rb +86 -0
- data/lib/recurly/resources/settings.rb +18 -0
- data/lib/recurly/resources/shipping_address.rb +74 -0
- data/lib/recurly/resources/site.rb +46 -0
- data/lib/recurly/resources/subscription.rb +134 -0
- data/lib/recurly/resources/subscription_add_on.rb +42 -0
- data/lib/recurly/resources/subscription_change.rb +54 -0
- data/lib/recurly/resources/tax_info.rb +18 -0
- data/lib/recurly/resources/transaction.rb +146 -0
- data/lib/recurly/resources/unique_coupon_code.rb +38 -0
- data/lib/recurly/resources/user.rb +38 -0
- data/lib/recurly/schema.rb +114 -0
- data/lib/recurly/schema/json_deserializer.rb +53 -0
- data/lib/recurly/schema/json_parser.rb +71 -0
- data/lib/recurly/schema/request_caster.rb +66 -0
- data/lib/recurly/schema/schema_factory.rb +50 -0
- data/lib/recurly/schema/schema_validator.rb +125 -0
- data/lib/recurly/version.rb +1 -10
- data/recurly.gemspec +32 -0
- data/scripts/build +4 -0
- data/scripts/clean +6 -0
- data/scripts/test +3 -0
- metadata +121 -245
- data/lib/recurly/account.rb +0 -190
- data/lib/recurly/account_acquisition.rb +0 -27
- data/lib/recurly/account_balance.rb +0 -21
- data/lib/recurly/add_on.rb +0 -44
- data/lib/recurly/address.rb +0 -25
- data/lib/recurly/adjustment.rb +0 -81
- data/lib/recurly/api.rb +0 -110
- data/lib/recurly/api/errors.rb +0 -208
- data/lib/recurly/api/net_http_adapter.rb +0 -111
- data/lib/recurly/billing_info.rb +0 -109
- data/lib/recurly/coupon.rb +0 -134
- data/lib/recurly/credit_payment.rb +0 -32
- data/lib/recurly/custom_field.rb +0 -15
- data/lib/recurly/delivery.rb +0 -19
- data/lib/recurly/error.rb +0 -13
- data/lib/recurly/gift_card.rb +0 -85
- data/lib/recurly/helper.rb +0 -51
- data/lib/recurly/invoice.rb +0 -297
- data/lib/recurly/invoice_collection.rb +0 -14
- data/lib/recurly/item.rb +0 -36
- data/lib/recurly/js.rb +0 -14
- data/lib/recurly/juris_detail.rb +0 -15
- data/lib/recurly/measured_unit.rb +0 -16
- data/lib/recurly/money.rb +0 -120
- data/lib/recurly/note.rb +0 -14
- data/lib/recurly/plan.rb +0 -43
- data/lib/recurly/purchase.rb +0 -234
- data/lib/recurly/redemption.rb +0 -46
- data/lib/recurly/resource/association.rb +0 -16
- data/lib/recurly/resource/errors.rb +0 -20
- data/lib/recurly/resource/pager.rb +0 -313
- data/lib/recurly/shipping_address.rb +0 -26
- data/lib/recurly/shipping_fee.rb +0 -17
- data/lib/recurly/shipping_method.rb +0 -13
- data/lib/recurly/subscription.rb +0 -365
- data/lib/recurly/subscription/add_ons.rb +0 -82
- data/lib/recurly/subscription_add_on.rb +0 -58
- data/lib/recurly/tax_detail.rb +0 -16
- data/lib/recurly/tax_type.rb +0 -13
- data/lib/recurly/tier.rb +0 -18
- data/lib/recurly/transaction.rb +0 -131
- data/lib/recurly/transaction/errors.rb +0 -115
- data/lib/recurly/usage.rb +0 -28
- data/lib/recurly/verify.rb +0 -12
- data/lib/recurly/webhook.rb +0 -111
- data/lib/recurly/webhook/account_notification.rb +0 -13
- data/lib/recurly/webhook/billing_info_update_failed_notification.rb +0 -6
- data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
- data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
- data/lib/recurly/webhook/canceled_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
- data/lib/recurly/webhook/deactivated_item_notification.rb +0 -6
- data/lib/recurly/webhook/deleted_shipping_address_notification.rb +0 -6
- data/lib/recurly/webhook/dunning_notification.rb +0 -14
- data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
- data/lib/recurly/webhook/fraud_info_updated_notification.rb +0 -6
- data/lib/recurly/webhook/gift_card_notification.rb +0 -8
- data/lib/recurly/webhook/invoice_notification.rb +0 -12
- data/lib/recurly/webhook/item_notification.rb +0 -7
- data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/new_account_notification.rb +0 -6
- data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
- data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
- data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/new_item_notification.rb +0 -6
- data/lib/recurly/webhook/new_shipping_address_notification.rb +0 -6
- data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/new_usage_notification.rb +0 -8
- data/lib/recurly/webhook/notification.rb +0 -18
- data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/paused_subscription_renewal_notification.rb +0 -6
- data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
- data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
- data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
- data/lib/recurly/webhook/reactivated_item_notification.rb +0 -6
- data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
- data/lib/recurly/webhook/regenerated_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
- data/lib/recurly/webhook/scheduled_subscription_pause_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_notification.rb +0 -12
- data/lib/recurly/webhook/subscription_pause_canceled_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_pause_modified_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_paused_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_resumed_notification.rb +0 -6
- data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
- data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
- data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
- data/lib/recurly/webhook/transaction_notification.rb +0 -12
- data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
- data/lib/recurly/webhook/updated_account_notification.rb +0 -6
- data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
- data/lib/recurly/webhook/updated_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/updated_item_notification.rb +0 -6
- data/lib/recurly/webhook/updated_shipping_address_notification.rb +0 -6
- data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/void_payment_notification.rb +0 -6
- data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
- data/lib/recurly/xml.rb +0 -122
- data/lib/recurly/xml/nokogiri.rb +0 -60
- data/lib/recurly/xml/rexml.rb +0 -52
@@ -0,0 +1,86 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class Account < Resource
|
4
|
+
|
5
|
+
# @!attribute address
|
6
|
+
# @return [Address]
|
7
|
+
define_attribute :address, :Address
|
8
|
+
|
9
|
+
# @!attribute billing_info
|
10
|
+
# @return [BillingInfo]
|
11
|
+
define_attribute :billing_info, :BillingInfo
|
12
|
+
|
13
|
+
# @!attribute cc_emails
|
14
|
+
# @return [String] Additional email address that should receive account correspondence. These should be separated only by commas. These CC emails will receive all emails that the `email` field also receives.
|
15
|
+
define_attribute :cc_emails, String
|
16
|
+
|
17
|
+
# @!attribute [r] code
|
18
|
+
# @return [String] The unique identifier of the account. This cannot be changed once the account is created.
|
19
|
+
define_attribute :code, String, {:read_only => true}
|
20
|
+
|
21
|
+
# @!attribute company
|
22
|
+
# @return [String]
|
23
|
+
define_attribute :company, String
|
24
|
+
|
25
|
+
# @!attribute [r] created_at
|
26
|
+
# @return [DateTime] When the account was created.
|
27
|
+
define_attribute :created_at, DateTime, {:read_only => true}
|
28
|
+
|
29
|
+
# @!attribute [r] deleted_at
|
30
|
+
# @return [DateTime] If present, when the account was last marked inactive.
|
31
|
+
define_attribute :deleted_at, DateTime, {:read_only => true}
|
32
|
+
|
33
|
+
# @!attribute email
|
34
|
+
# @return [String] The email address used for communicating with this customer. The customer will also use this email address to log into your hosted account management pages. This value does not need to be unique.
|
35
|
+
define_attribute :email, String
|
36
|
+
|
37
|
+
# @!attribute first_name
|
38
|
+
# @return [String]
|
39
|
+
define_attribute :first_name, String
|
40
|
+
|
41
|
+
# @!attribute [r] hosted_login_token
|
42
|
+
# @return [String] The unique token for automatically logging the account in to the hosted management pages. You may automatically log the user into their hosted management pages by directing the user to: `https://{subdomain}.recurly.com/account/{hosted_login_token}`.
|
43
|
+
define_attribute :hosted_login_token, String, {:read_only => true}
|
44
|
+
|
45
|
+
# @!attribute [r] id
|
46
|
+
# @return [String]
|
47
|
+
define_attribute :id, String, {:read_only => true}
|
48
|
+
|
49
|
+
# @!attribute last_name
|
50
|
+
# @return [String]
|
51
|
+
define_attribute :last_name, String
|
52
|
+
|
53
|
+
# @!attribute [r] object
|
54
|
+
# @return [String] Object type
|
55
|
+
define_attribute :object, String, {:read_only => true}
|
56
|
+
|
57
|
+
# @!attribute preferred_locale
|
58
|
+
# @return [String] Used to determine the language and locale of emails sent on behalf of the merchant to the customer.
|
59
|
+
define_attribute :preferred_locale, String, {:enum => ["da-DK", "de-CH", "de-DE", "en-AU", "en-CA", "en-GB", "en-NZ", "en-US", "es-ES", "es-MX", "es-US", "fr-CA", "fr-FR", "hi-IN", "ja-JP", "nl-BE", "nl-NL", "pt-BR", "pt-PT", "ru-RU", "tr-TR", "zh-CN"]}
|
60
|
+
|
61
|
+
# @!attribute shipping_addresses
|
62
|
+
# @return [Array[ShippingAddress]] The shipping addresses on the account.
|
63
|
+
define_attribute :shipping_addresses, Array, {:item_type => :ShippingAddress}
|
64
|
+
|
65
|
+
# @!attribute [r] state
|
66
|
+
# @return [String] Accounts can be either active or inactive.
|
67
|
+
define_attribute :state, String, {:read_only => true, :enum => ["active", "inactive"]}
|
68
|
+
|
69
|
+
# @!attribute tax_exempt
|
70
|
+
# @return [Boolean] The tax status of the account. `true` exempts tax on the account, `false` applies tax on the account.
|
71
|
+
define_attribute :tax_exempt, :Boolean
|
72
|
+
|
73
|
+
# @!attribute [r] updated_at
|
74
|
+
# @return [DateTime] When the account was last changed.
|
75
|
+
define_attribute :updated_at, DateTime, {:read_only => true}
|
76
|
+
|
77
|
+
# @!attribute username
|
78
|
+
# @return [String] A secondary value for the account.
|
79
|
+
define_attribute :username, String
|
80
|
+
|
81
|
+
# @!attribute vat_number
|
82
|
+
# @return [String] The VAT number of the account (to avoid having the VAT applied). This is only used for manually collected invoices.
|
83
|
+
define_attribute :vat_number, String
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class AccountAcquisition < Resource
|
4
|
+
|
5
|
+
# @!attribute account
|
6
|
+
# @return [AccountMini]
|
7
|
+
define_attribute :account, :AccountMini
|
8
|
+
|
9
|
+
# @!attribute campaign
|
10
|
+
# @return [String] An arbitrary identifier for the marketing campaign that led to the acquisition of this account.
|
11
|
+
define_attribute :campaign, String
|
12
|
+
|
13
|
+
# @!attribute channel
|
14
|
+
# @return [String] The channel through which the account was acquired.
|
15
|
+
define_attribute :channel, String, {:enum => ["referral", "social_media", "email", "paid_search", "organic_search", "direct_traffic", "marketing_content", "blog", "events", "outbound_sales", "advertising", "public_relations", "other"]}
|
16
|
+
|
17
|
+
# @!attribute cost
|
18
|
+
# @return [Hash] Account balance
|
19
|
+
define_attribute :cost, Hash
|
20
|
+
|
21
|
+
# @!attribute [r] created_at
|
22
|
+
# @return [DateTime] When the account acquisition data was created.
|
23
|
+
define_attribute :created_at, DateTime, {:read_only => true}
|
24
|
+
|
25
|
+
# @!attribute [r] id
|
26
|
+
# @return [String]
|
27
|
+
define_attribute :id, String, {:read_only => true}
|
28
|
+
|
29
|
+
# @!attribute [r] object
|
30
|
+
# @return [String] Object type
|
31
|
+
define_attribute :object, String, {:read_only => true}
|
32
|
+
|
33
|
+
# @!attribute subchannel
|
34
|
+
# @return [String] An arbitrary subchannel string representing a distinction/subcategory within a broader channel.
|
35
|
+
define_attribute :subchannel, String
|
36
|
+
|
37
|
+
# @!attribute [r] updated_at
|
38
|
+
# @return [DateTime] When the account acquisition data was last changed.
|
39
|
+
define_attribute :updated_at, DateTime, {:read_only => true}
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class AccountBalance < Resource
|
4
|
+
|
5
|
+
# @!attribute account
|
6
|
+
# @return [AccountMini]
|
7
|
+
define_attribute :account, :AccountMini
|
8
|
+
|
9
|
+
# @!attribute balances
|
10
|
+
# @return [Hash] Account balance
|
11
|
+
define_attribute :balances, Hash
|
12
|
+
|
13
|
+
# @!attribute [r] object
|
14
|
+
# @return [String] Object type
|
15
|
+
define_attribute :object, String, {:read_only => true}
|
16
|
+
|
17
|
+
# @!attribute past_due
|
18
|
+
# @return [Boolean]
|
19
|
+
define_attribute :past_due, :Boolean
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class AccountNote < Resource
|
4
|
+
|
5
|
+
# @!attribute account_id
|
6
|
+
# @return [String]
|
7
|
+
define_attribute :account_id, String
|
8
|
+
|
9
|
+
# @!attribute [r] created_at
|
10
|
+
# @return [DateTime]
|
11
|
+
define_attribute :created_at, DateTime, {:read_only => true}
|
12
|
+
|
13
|
+
# @!attribute [r] id
|
14
|
+
# @return [String]
|
15
|
+
define_attribute :id, String, {:read_only => true}
|
16
|
+
|
17
|
+
# @!attribute message
|
18
|
+
# @return [String]
|
19
|
+
define_attribute :message, String
|
20
|
+
|
21
|
+
# @!attribute [r] object
|
22
|
+
# @return [String] Object type
|
23
|
+
define_attribute :object, String, {:read_only => true}
|
24
|
+
|
25
|
+
# @!attribute user
|
26
|
+
# @return [User]
|
27
|
+
define_attribute :user, :User
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class AddOn < Resource
|
4
|
+
|
5
|
+
# @!attribute accounting_code
|
6
|
+
# @return [String] Accounting code for invoice line items for this add-on. If no value is provided, it defaults to add-on's code.
|
7
|
+
define_attribute :accounting_code, String
|
8
|
+
|
9
|
+
# @!attribute code
|
10
|
+
# @return [String] The unique identifier for the add-on within its plan.
|
11
|
+
define_attribute :code, String
|
12
|
+
|
13
|
+
# @!attribute [r] created_at
|
14
|
+
# @return [DateTime] Created at
|
15
|
+
define_attribute :created_at, DateTime, {:read_only => true}
|
16
|
+
|
17
|
+
# @!attribute currencies
|
18
|
+
# @return [Array[String]] Add-on pricing
|
19
|
+
define_attribute :currencies, Array, {:item_type => String}
|
20
|
+
|
21
|
+
# @!attribute default_quantity
|
22
|
+
# @return [Integer] Default quantity for the hosted pages.
|
23
|
+
define_attribute :default_quantity, Integer
|
24
|
+
|
25
|
+
# @!attribute [r] deleted_at
|
26
|
+
# @return [DateTime] Deleted at
|
27
|
+
define_attribute :deleted_at, DateTime, {:read_only => true}
|
28
|
+
|
29
|
+
# @!attribute display_quantity
|
30
|
+
# @return [Boolean] Determines if the quantity field is displayed on the hosted pages for the add-on.
|
31
|
+
define_attribute :display_quantity, :Boolean
|
32
|
+
|
33
|
+
# @!attribute [r] id
|
34
|
+
# @return [String] Add-on ID
|
35
|
+
define_attribute :id, String, {:read_only => true}
|
36
|
+
|
37
|
+
# @!attribute name
|
38
|
+
# @return [String] Describes your add-on and will appear in subscribers' invoices.
|
39
|
+
define_attribute :name, String
|
40
|
+
|
41
|
+
# @!attribute [r] object
|
42
|
+
# @return [String] Object type
|
43
|
+
define_attribute :object, String, {:read_only => true}
|
44
|
+
|
45
|
+
# @!attribute [r] plan_id
|
46
|
+
# @return [String] Plan ID
|
47
|
+
define_attribute :plan_id, String, {:read_only => true}
|
48
|
+
|
49
|
+
# @!attribute [r] state
|
50
|
+
# @return [String] Add-ons can be either active or inactive.
|
51
|
+
define_attribute :state, String, {:read_only => true, :enum => ["active", "inactive"]}
|
52
|
+
|
53
|
+
# @!attribute tax_code
|
54
|
+
# @return [String] Optional field for EU VAT merchants and Avalara AvaTax Pro merchants. If you are using Recurly's EU VAT feature, you can use values of 'unknown', 'physical', or 'digital'. If you have your own AvaTax account configured, you can use Avalara tax codes to assign custom tax rules.
|
55
|
+
define_attribute :tax_code, String
|
56
|
+
|
57
|
+
# @!attribute [r] updated_at
|
58
|
+
# @return [DateTime] Last updated at
|
59
|
+
define_attribute :updated_at, DateTime, {:read_only => true}
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class Address < Resource
|
4
|
+
|
5
|
+
# @!attribute city
|
6
|
+
# @return [String] City
|
7
|
+
define_attribute :city, String
|
8
|
+
|
9
|
+
# @!attribute country
|
10
|
+
# @return [String] Country, 2-letter ISO code.
|
11
|
+
define_attribute :country, String
|
12
|
+
|
13
|
+
# @!attribute first_name
|
14
|
+
# @return [String] First name
|
15
|
+
define_attribute :first_name, String
|
16
|
+
|
17
|
+
# @!attribute last_name
|
18
|
+
# @return [String] Last name
|
19
|
+
define_attribute :last_name, String
|
20
|
+
|
21
|
+
# @!attribute phone
|
22
|
+
# @return [String] Phone number
|
23
|
+
define_attribute :phone, String
|
24
|
+
|
25
|
+
# @!attribute postal_code
|
26
|
+
# @return [String] Zip or postal code.
|
27
|
+
define_attribute :postal_code, String
|
28
|
+
|
29
|
+
# @!attribute region
|
30
|
+
# @return [String] State or province.
|
31
|
+
define_attribute :region, String
|
32
|
+
|
33
|
+
# @!attribute street1
|
34
|
+
# @return [String] Street 1
|
35
|
+
define_attribute :street1, String
|
36
|
+
|
37
|
+
# @!attribute street2
|
38
|
+
# @return [String] Street 2
|
39
|
+
define_attribute :street2, String
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class BillingInfo < Resource
|
4
|
+
|
5
|
+
# @!attribute [r] account_id
|
6
|
+
# @return [String]
|
7
|
+
define_attribute :account_id, String, {:read_only => true}
|
8
|
+
|
9
|
+
# @!attribute address
|
10
|
+
# @return [Address]
|
11
|
+
define_attribute :address, :Address
|
12
|
+
|
13
|
+
# @!attribute company
|
14
|
+
# @return [String]
|
15
|
+
define_attribute :company, String
|
16
|
+
|
17
|
+
# @!attribute [r] created_at
|
18
|
+
# @return [DateTime] When the billing information was created.
|
19
|
+
define_attribute :created_at, DateTime, {:read_only => true}
|
20
|
+
|
21
|
+
# @!attribute first_name
|
22
|
+
# @return [String]
|
23
|
+
define_attribute :first_name, String
|
24
|
+
|
25
|
+
# @!attribute [r] fraud
|
26
|
+
# @return [Hash] Most recent fraud result.
|
27
|
+
define_attribute :fraud, Hash, {:read_only => true}
|
28
|
+
|
29
|
+
# @!attribute [r] id
|
30
|
+
# @return [String]
|
31
|
+
define_attribute :id, String, {:read_only => true}
|
32
|
+
|
33
|
+
# @!attribute last_name
|
34
|
+
# @return [String]
|
35
|
+
define_attribute :last_name, String
|
36
|
+
|
37
|
+
# @!attribute [r] object
|
38
|
+
# @return [String] Object type
|
39
|
+
define_attribute :object, String, {:read_only => true}
|
40
|
+
|
41
|
+
# @!attribute payment_method
|
42
|
+
# @return [Hash]
|
43
|
+
define_attribute :payment_method, Hash
|
44
|
+
|
45
|
+
# @!attribute [r] updated_at
|
46
|
+
# @return [DateTime] When the billing information was last changed.
|
47
|
+
define_attribute :updated_at, DateTime, {:read_only => true}
|
48
|
+
|
49
|
+
# @!attribute [r] updated_by
|
50
|
+
# @return [Hash]
|
51
|
+
define_attribute :updated_by, Hash, {:read_only => true}
|
52
|
+
|
53
|
+
# @!attribute [r] valid
|
54
|
+
# @return [Boolean]
|
55
|
+
define_attribute :valid, :Boolean, {:read_only => true}
|
56
|
+
|
57
|
+
# @!attribute vat_number
|
58
|
+
# @return [String] Customer's VAT number (to avoid having the VAT applied). This is only used for automatically collected invoices.
|
59
|
+
define_attribute :vat_number, String
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class Coupon < Resource
|
4
|
+
|
5
|
+
# @!attribute applies_to_all_plans
|
6
|
+
# @return [Boolean] The coupon is valid for all plans if true. If false then `plans` and `plans_names` will list the applicable plans.
|
7
|
+
define_attribute :applies_to_all_plans, :Boolean
|
8
|
+
|
9
|
+
# @!attribute applies_to_non_plan_charges
|
10
|
+
# @return [Boolean] The coupon is valid for one-time, non-plan charges if true.
|
11
|
+
define_attribute :applies_to_non_plan_charges, :Boolean
|
12
|
+
|
13
|
+
# @!attribute code
|
14
|
+
# @return [String] The code the customer enters to redeem the coupon.
|
15
|
+
define_attribute :code, String
|
16
|
+
|
17
|
+
# @!attribute coupon_type
|
18
|
+
# @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.
|
19
|
+
define_attribute :coupon_type, String, {:enum => ["single_code", "bulk"]}
|
20
|
+
|
21
|
+
# @!attribute [r] created_at
|
22
|
+
# @return [DateTime] Created at
|
23
|
+
define_attribute :created_at, DateTime, {:read_only => true}
|
24
|
+
|
25
|
+
# @!attribute discount
|
26
|
+
# @return [CouponDiscount]
|
27
|
+
define_attribute :discount, :CouponDiscount
|
28
|
+
|
29
|
+
# @!attribute duration
|
30
|
+
# @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.
|
31
|
+
define_attribute :duration, String, {:enum => ["forever", "single_use", "temporal"]}
|
32
|
+
|
33
|
+
# @!attribute expired_at
|
34
|
+
# @return [DateTime] The date and time the coupon was expired early or reached its `max_redemptions`.
|
35
|
+
define_attribute :expired_at, DateTime
|
36
|
+
|
37
|
+
# @!attribute free_trial_amount
|
38
|
+
# @return [Integer] Sets the duration of time the `free_trial_unit` is for.
|
39
|
+
define_attribute :free_trial_amount, Integer
|
40
|
+
|
41
|
+
# @!attribute free_trial_unit
|
42
|
+
# @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.
|
43
|
+
define_attribute :free_trial_unit, String, {:enum => ["day", "week", "month"]}
|
44
|
+
|
45
|
+
# @!attribute hosted_page_description
|
46
|
+
# @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.
|
47
|
+
define_attribute :hosted_page_description, String
|
48
|
+
|
49
|
+
# @!attribute [r] id
|
50
|
+
# @return [String] Coupon ID
|
51
|
+
define_attribute :id, String, {:read_only => true}
|
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 [r] object
|
70
|
+
# @return [String] Object type
|
71
|
+
define_attribute :object, String, {:read_only => true}
|
72
|
+
|
73
|
+
# @!attribute plans
|
74
|
+
# @return [Array[String]] Plans
|
75
|
+
define_attribute :plans, Array, {:item_type => String}
|
76
|
+
|
77
|
+
# @!attribute plans_names
|
78
|
+
# @return [Array[String]] TODO
|
79
|
+
define_attribute :plans_names, Array, {:item_type => String}
|
80
|
+
|
81
|
+
# @!attribute redeem_by
|
82
|
+
# @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.
|
83
|
+
define_attribute :redeem_by, DateTime
|
84
|
+
|
85
|
+
# @!attribute redemption_resource
|
86
|
+
# @return [String] Whether the discount is for all eligible charges on the account, or only a specific subscription.
|
87
|
+
define_attribute :redemption_resource, String, {:enum => ["account", "subscription"]}
|
88
|
+
|
89
|
+
# @!attribute state
|
90
|
+
# @return [String] Indicates if the coupon is redeemable, and if it is not, why.
|
91
|
+
define_attribute :state, String, {:enum => ["redeemable", "maxed_out", "expired"]}
|
92
|
+
|
93
|
+
# @!attribute temporal_amount
|
94
|
+
# @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.
|
95
|
+
define_attribute :temporal_amount, Integer
|
96
|
+
|
97
|
+
# @!attribute temporal_unit
|
98
|
+
# @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.
|
99
|
+
define_attribute :temporal_unit, String, {:enum => ["day", "week", "month", "year"]}
|
100
|
+
|
101
|
+
# @!attribute [r] unique_coupon_codes_count
|
102
|
+
# @return [Integer] When this number reaches `max_redemptions` the coupon will no longer be redeemable.
|
103
|
+
define_attribute :unique_coupon_codes_count, Integer, {:read_only => true}
|
104
|
+
|
105
|
+
# @!attribute [r] updated_at
|
106
|
+
# @return [DateTime] Last updated at
|
107
|
+
define_attribute :updated_at, DateTime, {:read_only => true}
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|