recurly 2.18.21 → 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/client/operations.rb +935 -0
- data/lib/recurly/client.rb +198 -0
- data/lib/recurly/errors/api_errors.rb +35 -0
- data/lib/recurly/errors/network_errors.rb +8 -0
- data/lib/recurly/errors.rb +34 -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/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/schema.rb +114 -0
- data/lib/recurly/version.rb +1 -10
- data/lib/recurly.rb +14 -145
- data/recurly.gemspec +32 -0
- data/scripts/build +4 -0
- data/scripts/clean +6 -0
- data/scripts/test +3 -0
- metadata +129 -173
- data/lib/recurly/account.rb +0 -209
- data/lib/recurly/account_acquisition.rb +0 -27
- data/lib/recurly/account_balance.rb +0 -21
- data/lib/recurly/add_on.rb +0 -46
- data/lib/recurly/address.rb +0 -25
- data/lib/recurly/adjustment.rb +0 -81
- data/lib/recurly/api/errors.rb +0 -208
- data/lib/recurly/api/net_http_adapter.rb +0 -111
- data/lib/recurly/api.rb +0 -110
- data/lib/recurly/billing_info.rb +0 -113
- data/lib/recurly/coupon.rb +0 -136
- 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 -304
- 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 -238
- 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/add_ons.rb +0 -82
- data/lib/recurly/subscription.rb +0 -366
- data/lib/recurly/subscription_add_on.rb +0 -58
- data/lib/recurly/tax_detail.rb +0 -18
- data/lib/recurly/tax_type.rb +0 -13
- data/lib/recurly/tier.rb +0 -18
- data/lib/recurly/transaction/errors.rb +0 -115
- data/lib/recurly/transaction.rb +0 -131
- data/lib/recurly/usage.rb +0 -28
- data/lib/recurly/verify.rb +0 -12
- 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/prerenewal_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/scheduled_subscription_update_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/webhook.rb +0 -113
- data/lib/recurly/xml/nokogiri.rb +0 -60
- data/lib/recurly/xml/rexml.rb +0 -52
- data/lib/recurly/xml.rb +0 -122
@@ -0,0 +1,22 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class CouponDiscount < Resource
|
4
|
+
|
5
|
+
# @!attribute currencies
|
6
|
+
# @return [Array[String]] This is only present when `type=fixed`.
|
7
|
+
define_attribute :currencies, Array, {:item_type => String}
|
8
|
+
|
9
|
+
# @!attribute percent
|
10
|
+
# @return [Integer] This is only present when `type=percent`.
|
11
|
+
define_attribute :percent, Integer
|
12
|
+
|
13
|
+
# @!attribute trial
|
14
|
+
# @return [Hash] This is only present when `type=free_trial`.
|
15
|
+
define_attribute :trial, Hash
|
16
|
+
|
17
|
+
# @!attribute type
|
18
|
+
# @return [String]
|
19
|
+
define_attribute :type, String, {:enum => ["percent", "fixed", "free_trial"]}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class CouponRedemption < Resource
|
4
|
+
|
5
|
+
# @!attribute account_id
|
6
|
+
# @return [String] The Account ID on which the coupon was applied.
|
7
|
+
define_attribute :account_id, String
|
8
|
+
|
9
|
+
# @!attribute coupon
|
10
|
+
# @return [Coupon]
|
11
|
+
define_attribute :coupon, :Coupon
|
12
|
+
|
13
|
+
# @!attribute [r] created_at
|
14
|
+
# @return [DateTime] Created at
|
15
|
+
define_attribute :created_at, DateTime, {:read_only => true}
|
16
|
+
|
17
|
+
# @!attribute currency
|
18
|
+
# @return [String] 3-letter ISO 4217 currency code.
|
19
|
+
define_attribute :currency, String
|
20
|
+
|
21
|
+
# @!attribute discounted
|
22
|
+
# @return [String] The amount that was discounted upon the application of the coupon, formatted with the currency.
|
23
|
+
define_attribute :discounted, String
|
24
|
+
|
25
|
+
# @!attribute [r] id
|
26
|
+
# @return [String] Coupon Redemption ID
|
27
|
+
define_attribute :id, String, {:read_only => true}
|
28
|
+
|
29
|
+
# @!attribute [r] object
|
30
|
+
# @return [String] Will always be `coupon`.
|
31
|
+
define_attribute :object, String, {:read_only => true}
|
32
|
+
|
33
|
+
# @!attribute removed_at
|
34
|
+
# @return [DateTime] The date and time the redemption was removed from the account (un-redeemed).
|
35
|
+
define_attribute :removed_at, DateTime
|
36
|
+
|
37
|
+
# @!attribute state
|
38
|
+
# @return [String] Coupon Redemption state
|
39
|
+
define_attribute :state, String, {:enum => ["active", "inactive"]}
|
40
|
+
|
41
|
+
# @!attribute [r] updated_at
|
42
|
+
# @return [DateTime] Last updated at
|
43
|
+
define_attribute :updated_at, DateTime, {:read_only => true}
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class CreditPayment < Resource
|
4
|
+
|
5
|
+
# @!attribute account
|
6
|
+
# @return [AccountMini]
|
7
|
+
define_attribute :account, :AccountMini
|
8
|
+
|
9
|
+
# @!attribute action
|
10
|
+
# @return [String] The action for which the credit was created.
|
11
|
+
define_attribute :action, String, {:enum => ["payment", "refund", "reduction", "write_off"]}
|
12
|
+
|
13
|
+
# @!attribute amount
|
14
|
+
# @return [Float] Total credit payment amount applied to the charge invoice.
|
15
|
+
define_attribute :amount, Float
|
16
|
+
|
17
|
+
# @!attribute applied_to_invoice
|
18
|
+
# @return [InvoiceMini]
|
19
|
+
define_attribute :applied_to_invoice, :InvoiceMini
|
20
|
+
|
21
|
+
# @!attribute [r] created_at
|
22
|
+
# @return [DateTime] Created at
|
23
|
+
define_attribute :created_at, DateTime, {:read_only => true}
|
24
|
+
|
25
|
+
# @!attribute currency
|
26
|
+
# @return [String] 3-letter ISO 4217 currency code.
|
27
|
+
define_attribute :currency, String
|
28
|
+
|
29
|
+
# @!attribute id
|
30
|
+
# @return [String] Credit Payment ID
|
31
|
+
define_attribute :id, String
|
32
|
+
|
33
|
+
# @!attribute object
|
34
|
+
# @return [String] Object type
|
35
|
+
define_attribute :object, String
|
36
|
+
|
37
|
+
# @!attribute original_credit_payment_id
|
38
|
+
# @return [String] For credit payments with action `refund`, this is the credit payment that was refunded.
|
39
|
+
define_attribute :original_credit_payment_id, String
|
40
|
+
|
41
|
+
# @!attribute original_invoice
|
42
|
+
# @return [InvoiceMini]
|
43
|
+
define_attribute :original_invoice, :InvoiceMini
|
44
|
+
|
45
|
+
# @!attribute refund_transaction
|
46
|
+
# @return [Transaction]
|
47
|
+
define_attribute :refund_transaction, :Transaction
|
48
|
+
|
49
|
+
# @!attribute [r] updated_at
|
50
|
+
# @return [DateTime] Last updated at
|
51
|
+
define_attribute :updated_at, DateTime, {:read_only => true}
|
52
|
+
|
53
|
+
# @!attribute uuid
|
54
|
+
# @return [String] The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.
|
55
|
+
define_attribute :uuid, String
|
56
|
+
|
57
|
+
# @!attribute [r] voided_at
|
58
|
+
# @return [DateTime] Voided at
|
59
|
+
define_attribute :voided_at, DateTime, {:read_only => true}
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class Error < Resource
|
4
|
+
|
5
|
+
# @!attribute message
|
6
|
+
# @return [String] Message
|
7
|
+
define_attribute :message, String
|
8
|
+
|
9
|
+
# @!attribute params
|
10
|
+
# @return [Array[String]] Parameter specific errors
|
11
|
+
define_attribute :params, Array, {:item_type => String}
|
12
|
+
|
13
|
+
# @!attribute type
|
14
|
+
# @return [String] Type
|
15
|
+
define_attribute :type, String, {:enum => ["bad_request", "internal_server_error", "immutable_subscription", "invalid_api_key", "invalid_api_version", "invalid_content_type", "invalid_permissions", "invalid_token", "not_found", "simultaneous_request", "transaction", "unauthorized", "unavailable_in_api_version", "unknown_api_version", "validation", "missing_feature"]}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class ErrorMayHaveTransaction < Resource
|
4
|
+
|
5
|
+
# @!attribute message
|
6
|
+
# @return [String] Message
|
7
|
+
define_attribute :message, String
|
8
|
+
|
9
|
+
# @!attribute params
|
10
|
+
# @return [Array[String]] Parameter specific errors
|
11
|
+
define_attribute :params, Array, {:item_type => String}
|
12
|
+
|
13
|
+
# @!attribute transaction_error
|
14
|
+
# @return [Hash] This is only included on errors with `type=transaction`.
|
15
|
+
define_attribute :transaction_error, Hash
|
16
|
+
|
17
|
+
# @!attribute type
|
18
|
+
# @return [String] Type
|
19
|
+
define_attribute :type, String, {:enum => ["bad_request", "internal_server_error", "immutable_subscription", "invalid_api_key", "invalid_api_version", "invalid_content_type", "invalid_permissions", "invalid_token", "not_found", "simultaneous_request", "transaction", "unauthorized", "unavailable_in_api_version", "unknown_api_version", "validation", "missing_feature"]}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,138 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class Invoice < Resource
|
4
|
+
|
5
|
+
# @!attribute account
|
6
|
+
# @return [AccountMini]
|
7
|
+
define_attribute :account, :AccountMini
|
8
|
+
|
9
|
+
# @!attribute address
|
10
|
+
# @return [Address]
|
11
|
+
define_attribute :address, :Address
|
12
|
+
|
13
|
+
# @!attribute balance
|
14
|
+
# @return [Float] The outstanding balance remaining on this invoice.
|
15
|
+
define_attribute :balance, Float
|
16
|
+
|
17
|
+
# @!attribute closed_at
|
18
|
+
# @return [DateTime] Date invoice was marked paid or failed.
|
19
|
+
define_attribute :closed_at, DateTime
|
20
|
+
|
21
|
+
# @!attribute collection_method
|
22
|
+
# @return [String] An automatic invoice means a corresponding transaction is run using the account's billing information at the same time the invoice is created. Manual invoices are created without a corresponding transaction. The merchant must enter a manual payment transaction or have the customer pay the invoice with an automatic method, like credit card, PayPal, Amazon, or ACH bank payment.
|
23
|
+
define_attribute :collection_method, String, {:enum => ["automatic", "manual"]}
|
24
|
+
|
25
|
+
# @!attribute [r] created_at
|
26
|
+
# @return [DateTime] Created at
|
27
|
+
define_attribute :created_at, DateTime, {:read_only => true}
|
28
|
+
|
29
|
+
# @!attribute credit_payments
|
30
|
+
# @return [Array[CreditPayment]] Credit payments
|
31
|
+
define_attribute :credit_payments, Array, {:item_type => :CreditPayment}
|
32
|
+
|
33
|
+
# @!attribute currency
|
34
|
+
# @return [String] 3-letter ISO 4217 currency code.
|
35
|
+
define_attribute :currency, String
|
36
|
+
|
37
|
+
# @!attribute customer_notes
|
38
|
+
# @return [String] This will default to the Customer Notes text specified on the Invoice Settings. Specify custom notes to add or override Customer Notes.
|
39
|
+
define_attribute :customer_notes, String
|
40
|
+
|
41
|
+
# @!attribute discount
|
42
|
+
# @return [Float] Total discounts applied to this invoice.
|
43
|
+
define_attribute :discount, Float
|
44
|
+
|
45
|
+
# @!attribute due_at
|
46
|
+
# @return [DateTime] Date invoice is due. This is the date the net terms are reached.
|
47
|
+
define_attribute :due_at, DateTime
|
48
|
+
|
49
|
+
# @!attribute [r] id
|
50
|
+
# @return [String] Invoice ID
|
51
|
+
define_attribute :id, String, {:read_only => true}
|
52
|
+
|
53
|
+
# @!attribute line_items
|
54
|
+
# @return [Array[LineItem]] Line items
|
55
|
+
define_attribute :line_items, Array, {:item_type => :LineItem}
|
56
|
+
|
57
|
+
# @!attribute net_terms
|
58
|
+
# @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.
|
59
|
+
define_attribute :net_terms, Integer
|
60
|
+
|
61
|
+
# @!attribute number
|
62
|
+
# @return [String] If VAT taxation and the Country Invoice Sequencing feature are enabled, invoices will have country-specific invoice numbers for invoices billed to EU countries (ex: FR1001). Non-EU invoices will continue to use the site-level invoice number sequence.
|
63
|
+
define_attribute :number, String
|
64
|
+
|
65
|
+
# @!attribute [r] object
|
66
|
+
# @return [String] Object type
|
67
|
+
define_attribute :object, String, {:read_only => true}
|
68
|
+
|
69
|
+
# @!attribute origin
|
70
|
+
# @return [String] The event that created the invoice.
|
71
|
+
define_attribute :origin, String, {:enum => ["purchase", "line_item_refund", "open_amount_refund", "renewal", "immediate_change", "termination", "credit", "gift_card", "write_off"]}
|
72
|
+
|
73
|
+
# @!attribute paid
|
74
|
+
# @return [Float] The total amount of successful payments transaction on this invoice.
|
75
|
+
define_attribute :paid, Float
|
76
|
+
|
77
|
+
# @!attribute po_number
|
78
|
+
# @return [String] For manual invoicing, this identifies the PO number associated with the subscription.
|
79
|
+
define_attribute :po_number, String
|
80
|
+
|
81
|
+
# @!attribute previous_invoice_id
|
82
|
+
# @return [String] On refund invoices, this value will exist and show the invoice ID of the purchase invoice the refund was created from.
|
83
|
+
define_attribute :previous_invoice_id, String
|
84
|
+
|
85
|
+
# @!attribute refundable_amount
|
86
|
+
# @return [Float] The refundable amount on a charge invoice. It will be null for all other invoices.
|
87
|
+
define_attribute :refundable_amount, Float
|
88
|
+
|
89
|
+
# @!attribute state
|
90
|
+
# @return [String] Invoice state
|
91
|
+
define_attribute :state, String, {:enum => ["pending", "processing", "past_due", "paid", "failed"]}
|
92
|
+
|
93
|
+
# @!attribute subscription_ids
|
94
|
+
# @return [Array[String]] If the invoice is charging or refunding for one or more subscriptions, these are their IDs.
|
95
|
+
define_attribute :subscription_ids, Array, {:item_type => String}
|
96
|
+
|
97
|
+
# @!attribute subtotal
|
98
|
+
# @return [Float] The summation of charges, discounts, and credits, before tax.
|
99
|
+
define_attribute :subtotal, Float
|
100
|
+
|
101
|
+
# @!attribute tax
|
102
|
+
# @return [Float] The total tax on this invoice.
|
103
|
+
define_attribute :tax, Float
|
104
|
+
|
105
|
+
# @!attribute tax_info
|
106
|
+
# @return [TaxInfo]
|
107
|
+
define_attribute :tax_info, :TaxInfo
|
108
|
+
|
109
|
+
# @!attribute terms_and_conditions
|
110
|
+
# @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.
|
111
|
+
define_attribute :terms_and_conditions, String
|
112
|
+
|
113
|
+
# @!attribute total
|
114
|
+
# @return [Float] The final total on this invoice. The summation of invoice charges, discounts, credits, and tax.
|
115
|
+
define_attribute :total, Float
|
116
|
+
|
117
|
+
# @!attribute transactions
|
118
|
+
# @return [Array[Transaction]] Transactions
|
119
|
+
define_attribute :transactions, Array, {:item_type => :Transaction}
|
120
|
+
|
121
|
+
# @!attribute type
|
122
|
+
# @return [String] Invoices are either charge, credit, or legacy invoices.
|
123
|
+
define_attribute :type, String, {:enum => ["charge", "credit", "legacy"]}
|
124
|
+
|
125
|
+
# @!attribute [r] updated_at
|
126
|
+
# @return [DateTime] Last updated at
|
127
|
+
define_attribute :updated_at, DateTime, {:read_only => true}
|
128
|
+
|
129
|
+
# @!attribute vat_number
|
130
|
+
# @return [String] VAT registration number for the customer on this invoice. This will come from the VAT Number field in the Billing Info or the Account Info depending on your tax settings and the invoice collection method.
|
131
|
+
define_attribute :vat_number, String
|
132
|
+
|
133
|
+
# @!attribute vat_reverse_charge_notes
|
134
|
+
# @return [String] VAT Reverse Charge Notes only appear if you have EU VAT enabled or are using your own Avalara AvaTax account and the customer is in the EU, has a VAT number, and is in a different country than your own. This will default to the VAT Reverse Charge Notes text specified on the Tax Settings page in your Recurly admin, unless custom notes were created with the original subscription.
|
135
|
+
define_attribute :vat_reverse_charge_notes, String
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class InvoiceCollection < Resource
|
4
|
+
|
5
|
+
# @!attribute charge_invoice
|
6
|
+
# @return [Invoice]
|
7
|
+
define_attribute :charge_invoice, :Invoice
|
8
|
+
|
9
|
+
# @!attribute credit_invoices
|
10
|
+
# @return [Array[Invoice]] Credit invoices
|
11
|
+
define_attribute :credit_invoices, Array, {:item_type => :Invoice}
|
12
|
+
|
13
|
+
# @!attribute object
|
14
|
+
# @return [String] Object type
|
15
|
+
define_attribute :object, String
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,166 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Resources
|
3
|
+
class LineItem < Resource
|
4
|
+
|
5
|
+
# @!attribute account
|
6
|
+
# @return [AccountMini]
|
7
|
+
define_attribute :account, :AccountMini
|
8
|
+
|
9
|
+
# @!attribute accounting_code
|
10
|
+
# @return [String] Internal accounting code to help you reconcile your revenue to the correct ledger. Line items created as part of a subscription invoice will use the plan or add-on's accounting code, otherwise the value will only be present if you define an accounting code when creating the line item.
|
11
|
+
define_attribute :accounting_code, String
|
12
|
+
|
13
|
+
# @!attribute add_on_code
|
14
|
+
# @return [String] If the line item is a charge or credit for an add-on, this is its code.
|
15
|
+
define_attribute :add_on_code, String
|
16
|
+
|
17
|
+
# @!attribute add_on_id
|
18
|
+
# @return [String] If the line item is a charge or credit for an add-on this is its ID.
|
19
|
+
define_attribute :add_on_id, String
|
20
|
+
|
21
|
+
# @!attribute amount
|
22
|
+
# @return [Float] `(quantity * unit_amount) - (discount + tax)`
|
23
|
+
define_attribute :amount, Float
|
24
|
+
|
25
|
+
# @!attribute created_at
|
26
|
+
# @return [DateTime] When the line item was created.
|
27
|
+
define_attribute :created_at, DateTime
|
28
|
+
|
29
|
+
# @!attribute credit_applied
|
30
|
+
# @return [Float] The amount of credit from this line item that was applied to the invoice.
|
31
|
+
define_attribute :credit_applied, Float
|
32
|
+
|
33
|
+
# @!attribute credit_reason_code
|
34
|
+
# @return [String] The reason the credit was given when line item is `type=credit`.
|
35
|
+
define_attribute :credit_reason_code, String, {:enum => ["general", "service", "promotional", "refund", "gift_card", "write_off"]}
|
36
|
+
|
37
|
+
# @!attribute currency
|
38
|
+
# @return [String] 3-letter ISO 4217 currency code.
|
39
|
+
define_attribute :currency, String
|
40
|
+
|
41
|
+
# @!attribute description
|
42
|
+
# @return [String] Description that appears on the invoice. For subscription related items this will be filled in automatically.
|
43
|
+
define_attribute :description, String
|
44
|
+
|
45
|
+
# @!attribute discount
|
46
|
+
# @return [Float] The discount applied to the line item.
|
47
|
+
define_attribute :discount, Float
|
48
|
+
|
49
|
+
# @!attribute end_date
|
50
|
+
# @return [DateTime] If this date is provided, it indicates the end of a time range.
|
51
|
+
define_attribute :end_date, DateTime
|
52
|
+
|
53
|
+
# @!attribute id
|
54
|
+
# @return [String] Line item ID
|
55
|
+
define_attribute :id, String
|
56
|
+
|
57
|
+
# @!attribute invoice_id
|
58
|
+
# @return [String] Once the line item has been invoiced this will be the invoice's ID.
|
59
|
+
define_attribute :invoice_id, String
|
60
|
+
|
61
|
+
# @!attribute invoice_number
|
62
|
+
# @return [String] Once the line item has been invoiced this will be the invoice's number. If VAT taxation and the Country Invoice Sequencing feature are enabled, invoices will have country-specific invoice numbers for invoices billed to EU countries (ex: FR1001). Non-EU invoices will continue to use the site-level invoice number sequence.
|
63
|
+
define_attribute :invoice_number, String
|
64
|
+
|
65
|
+
# @!attribute legacy_category
|
66
|
+
# @return [String] Category to describe the role of a line item on a legacy invoice: - "charges" refers to charges being billed for on this invoice. - "credits" refers to refund or proration credits. This portion of the invoice can be considered a credit memo. - "applied_credits" refers to previous credits applied to this invoice. See their `original_line_item_invoice_id` to determine where the credit first originated. - "carryforwards" can be ignored. They exist to consume any remaining credit balance. A new credit with the same amount will be created and placed back on the account.
|
67
|
+
define_attribute :legacy_category, String, {:enum => ["charge", "credit", "applied_credit", "carryforward"]}
|
68
|
+
|
69
|
+
# @!attribute object
|
70
|
+
# @return [String] Object type
|
71
|
+
define_attribute :object, String
|
72
|
+
|
73
|
+
# @!attribute origin
|
74
|
+
# @return [String] A credit created from an original charge will have the value of the charge's origin.
|
75
|
+
define_attribute :origin, String, {:enum => ["plan", "plan_trial", "setup_fee", "add_on_trial", "add_on", "debit", "one_time", "credit", "coupon", "carryforward"]}
|
76
|
+
|
77
|
+
# @!attribute original_line_item_invoice_id
|
78
|
+
# @return [String] The invoice where the credit originated. Will only have a value if the line item is a credit created from a previous credit, or if the credit was created from a charge refund.
|
79
|
+
define_attribute :original_line_item_invoice_id, String
|
80
|
+
|
81
|
+
# @!attribute plan_code
|
82
|
+
# @return [String] If the line item is a charge or credit for a plan or add-on, this is the plan's code.
|
83
|
+
define_attribute :plan_code, String
|
84
|
+
|
85
|
+
# @!attribute plan_id
|
86
|
+
# @return [String] If the line item is a charge or credit for a plan or add-on, this is the plan's ID.
|
87
|
+
define_attribute :plan_id, String
|
88
|
+
|
89
|
+
# @!attribute previous_line_item_id
|
90
|
+
# @return [String] Will only have a value if the line item is a credit created from a previous credit, or if the credit was created from a charge refund.
|
91
|
+
define_attribute :previous_line_item_id, String
|
92
|
+
|
93
|
+
# @!attribute product_code
|
94
|
+
# @return [String] For plan related line items this will be the plan's code, for add-on related line items it will be the add-on's code.
|
95
|
+
define_attribute :product_code, String
|
96
|
+
|
97
|
+
# @!attribute proration_rate
|
98
|
+
# @return [Float] When a line item has been prorated, this is the rate of the proration. Proration rates were made available for line items created after March 30, 2017. For line items created prior to that date, the proration rate will be `null`, even if the line item was prorated.
|
99
|
+
define_attribute :proration_rate, Float
|
100
|
+
|
101
|
+
# @!attribute quantity
|
102
|
+
# @return [Integer] This number will be multiplied by the unit amount to compute the subtotal before any discounts or taxes.
|
103
|
+
define_attribute :quantity, Integer
|
104
|
+
|
105
|
+
# @!attribute refund
|
106
|
+
# @return [Boolean] Refund?
|
107
|
+
define_attribute :refund, :Boolean
|
108
|
+
|
109
|
+
# @!attribute refunded_quantity
|
110
|
+
# @return [Integer] For refund charges, the quantity being refunded. For non-refund charges, the total quantity refunded (possibly over multiple refunds).
|
111
|
+
define_attribute :refunded_quantity, Integer
|
112
|
+
|
113
|
+
# @!attribute start_date
|
114
|
+
# @return [DateTime] If an end date is present, this is value indicates the beginning of a billing time range. If no end date is present it indicates billing for a specific date.
|
115
|
+
define_attribute :start_date, DateTime
|
116
|
+
|
117
|
+
# @!attribute state
|
118
|
+
# @return [String] Pending line items are charges or credits on an account that have not been applied to an invoice yet. Invoiced line items will always have an `invoice_id` value.
|
119
|
+
define_attribute :state, String, {:enum => ["pending", "invoiced"]}
|
120
|
+
|
121
|
+
# @!attribute subscription_id
|
122
|
+
# @return [String] If the line item is a charge or credit for a subscription, this is its ID.
|
123
|
+
define_attribute :subscription_id, String
|
124
|
+
|
125
|
+
# @!attribute subtotal
|
126
|
+
# @return [Float] `quantity * unit_amount`
|
127
|
+
define_attribute :subtotal, Float
|
128
|
+
|
129
|
+
# @!attribute tax
|
130
|
+
# @return [Float] The tax amount for the line item.
|
131
|
+
define_attribute :tax, Float
|
132
|
+
|
133
|
+
# @!attribute tax_code
|
134
|
+
# @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.
|
135
|
+
define_attribute :tax_code, String
|
136
|
+
|
137
|
+
# @!attribute tax_exempt
|
138
|
+
# @return [Boolean] `true` exempts tax on charges, `false` applies tax on charges. If not defined, then defaults to the Plan and Site settings. This attribute does not work for credits (negative line items). Credits are always applied post-tax. Pre-tax discounts should use the Coupons feature.
|
139
|
+
define_attribute :tax_exempt, :Boolean
|
140
|
+
|
141
|
+
# @!attribute tax_info
|
142
|
+
# @return [TaxInfo]
|
143
|
+
define_attribute :tax_info, :TaxInfo
|
144
|
+
|
145
|
+
# @!attribute taxable
|
146
|
+
# @return [Boolean] `true` if the line item is taxable, `false` if it is not.
|
147
|
+
define_attribute :taxable, :Boolean
|
148
|
+
|
149
|
+
# @!attribute type
|
150
|
+
# @return [String] Charges are positive line items that debit the account. Credits are negative line items that credit the account.
|
151
|
+
define_attribute :type, String, {:enum => ["charge", "credit"]}
|
152
|
+
|
153
|
+
# @!attribute unit_amount
|
154
|
+
# @return [Float] Positive amount for a charge, negative amount for a credit.
|
155
|
+
define_attribute :unit_amount, Float
|
156
|
+
|
157
|
+
# @!attribute updated_at
|
158
|
+
# @return [DateTime] When the line item was last changed.
|
159
|
+
define_attribute :updated_at, DateTime
|
160
|
+
|
161
|
+
# @!attribute uuid
|
162
|
+
# @return [String] The UUID is useful for matching data with the CSV exports and building URLs into Recurly's UI.
|
163
|
+
define_attribute :uuid, String
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|