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,42 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class InvoiceCreate < Request
|
4
|
+
|
5
|
+
# @!attribute charge_customer_notes
|
6
|
+
# @return [String] This will default to the Customer Notes text specified on the Invoice Settings for charge invoices. Specify custom notes to add or override Customer Notes on charge invoices.
|
7
|
+
define_attribute :charge_customer_notes, String
|
8
|
+
|
9
|
+
# @!attribute collection_method
|
10
|
+
# @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.
|
11
|
+
define_attribute :collection_method, String, {:enum => ["automatic", "manual"]}
|
12
|
+
|
13
|
+
# @!attribute credit_customer_notes
|
14
|
+
# @return [String] This will default to the Customer Notes text specified on the Invoice Settings for credit invoices. Specify customer notes to add or override Customer Notes on credit invoices.
|
15
|
+
define_attribute :credit_customer_notes, String
|
16
|
+
|
17
|
+
# @!attribute currency
|
18
|
+
# @return [String] 3-letter ISO 4217 currency code.
|
19
|
+
define_attribute :currency, String
|
20
|
+
|
21
|
+
# @!attribute net_terms
|
22
|
+
# @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.
|
23
|
+
define_attribute :net_terms, Integer
|
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 terms_and_conditions
|
30
|
+
# @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.
|
31
|
+
define_attribute :terms_and_conditions, String
|
32
|
+
|
33
|
+
# @!attribute type
|
34
|
+
# @return [String] Specify a type to limit the type of line items that will be invoiced.
|
35
|
+
define_attribute :type, String, {:enum => ["charge", "credit"]}
|
36
|
+
|
37
|
+
# @!attribute vat_reverse_charge_notes
|
38
|
+
# @return [String] VAT Reverse Charge Notes only appear if you have EU VAT enabled or are using your own Avalara AvaTax account and the customer is in the EU, has a VAT number, and is in a different country than your own. This will default to the VAT Reverse Charge Notes text specified on the Tax Settings page in your Recurly admin, unless custom notes were created with the original subscription.
|
39
|
+
define_attribute :vat_reverse_charge_notes, String
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class InvoiceRefund < Request
|
4
|
+
|
5
|
+
# @!attribute amount
|
6
|
+
# @return [Integer] The amount to be refunded. The amount will be split between the line items. If no amount is specified, it will default to refunding the total refundable amount on the invoice.
|
7
|
+
define_attribute :amount, Integer
|
8
|
+
|
9
|
+
# @!attribute credit_customer_notes
|
10
|
+
# @return [String] Used as the Customer Notes on the credit invoice. This field can only be include when the Credit Invoices feature is enabled.
|
11
|
+
define_attribute :credit_customer_notes, String
|
12
|
+
|
13
|
+
# @!attribute external_refund
|
14
|
+
# @return [Hash] Indicates that the refund was settled outside of Recurly, and a manual transaction should be created to track it in Recurly. Required when: - refunding a manually collected charge invoice, and `refund_method` is not `all_credit` - refunding a credit invoice that refunded manually collecting invoices - refunding a credit invoice for a partial amount This field can only be included when the Credit Invoices feature is enabled.
|
15
|
+
define_attribute :external_refund, Hash
|
16
|
+
|
17
|
+
# @!attribute line_items
|
18
|
+
# @return [Array[String]] The line items to be refunded. This is required when `type=line_items`.
|
19
|
+
define_attribute :line_items, Array, {:item_type => String}
|
20
|
+
|
21
|
+
# @!attribute refund_method
|
22
|
+
# @return [String] Indicates how the invoice should be refunded when both a credit and transaction are present on the invoice: - `transaction_first` – Refunds the transaction first, then any amount is issued as credit back to the account. Default value when Credit Invoices feature is enabled. - `credit_first` – Issues credit back to the account first, then refunds any remaining amount back to the transaction. Default value when Credit Invoices feature is not enabled. - `all_credit` – Issues credit to the account for the entire amount of the refund. Only available when the Credit Invoices feature is enabled. - `all_transaction` – Refunds the entire amount back to transactions, using transactions from previous invoices if necessary. Only available when the Credit Invoices feature is enabled.
|
23
|
+
define_attribute :refund_method, String, {:enum => ["transaction_first", "credit_first", "all_credit", "all_transaction"]}
|
24
|
+
|
25
|
+
# @!attribute type
|
26
|
+
# @return [String] The type of refund. Amount and line items cannot both be specified in the request.
|
27
|
+
define_attribute :type, String, {:enum => ["amount", "line_items"]}
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class LineItemCreate < Request
|
4
|
+
|
5
|
+
# @!attribute credit_reason_code
|
6
|
+
# @return [String] The reason the credit was given when line item is `type=credit`. When the Credit Invoices feature is enabled, the value can be set and will default to `general`. When the Credit Invoices feature is not enabled, the value will always be `null`.
|
7
|
+
define_attribute :credit_reason_code, String, {:enum => ["general", "service", "promotional"]}
|
8
|
+
|
9
|
+
# @!attribute currency
|
10
|
+
# @return [String] 3-letter ISO 4217 currency code.
|
11
|
+
define_attribute :currency, String
|
12
|
+
|
13
|
+
# @!attribute description
|
14
|
+
# @return [String] Description that appears on the invoice.
|
15
|
+
define_attribute :description, String
|
16
|
+
|
17
|
+
# @!attribute end_date
|
18
|
+
# @return [DateTime] If this date is provided, it indicates the end of a time range.
|
19
|
+
define_attribute :end_date, DateTime
|
20
|
+
|
21
|
+
# @!attribute quantity
|
22
|
+
# @return [Integer] This number will be multiplied by the unit amount to compute the subtotal before any discounts or taxes.
|
23
|
+
define_attribute :quantity, Integer
|
24
|
+
|
25
|
+
# @!attribute start_date
|
26
|
+
# @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. Defaults to the current date-time.
|
27
|
+
define_attribute :start_date, DateTime
|
28
|
+
|
29
|
+
# @!attribute tax_code
|
30
|
+
# @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.
|
31
|
+
define_attribute :tax_code, String
|
32
|
+
|
33
|
+
# @!attribute tax_exempt
|
34
|
+
# @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.
|
35
|
+
define_attribute :tax_exempt, :Boolean
|
36
|
+
|
37
|
+
# @!attribute type
|
38
|
+
# @return [String] Line item type.
|
39
|
+
define_attribute :type, String, {:enum => ["charge", "credit"]}
|
40
|
+
|
41
|
+
# @!attribute unit_amount
|
42
|
+
# @return [Float] A positive or negative amount with `type=charge` will result in a positive `unit_amount`. A positive or negative amount with `type=credit` will result in a negative `unit_amount`.
|
43
|
+
define_attribute :unit_amount, Float
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class PlanCreate < Request
|
4
|
+
|
5
|
+
# @!attribute accounting_code
|
6
|
+
# @return [String] Accounting code for invoice line items for the plan. If no value is provided, it defaults to plan's code.
|
7
|
+
define_attribute :accounting_code, String
|
8
|
+
|
9
|
+
# @!attribute add_ons
|
10
|
+
# @return [Array[String]] Add Ons
|
11
|
+
define_attribute :add_ons, Array, {:item_type => String}
|
12
|
+
|
13
|
+
# @!attribute code
|
14
|
+
# @return [String] Unique code to identify the plan. This is used in Hosted Payment Page URLs and in the invoice exports.
|
15
|
+
define_attribute :code, String
|
16
|
+
|
17
|
+
# @!attribute currencies
|
18
|
+
# @return [Array[String]] Pricing
|
19
|
+
define_attribute :currencies, Array, {:item_type => String}
|
20
|
+
|
21
|
+
# @!attribute description
|
22
|
+
# @return [String] Optional description, not displayed.
|
23
|
+
define_attribute :description, String
|
24
|
+
|
25
|
+
# @!attribute hosted_pages
|
26
|
+
# @return [Hash] Hosted pages settings
|
27
|
+
define_attribute :hosted_pages, Hash
|
28
|
+
|
29
|
+
# @!attribute interval_length
|
30
|
+
# @return [Integer] Length of the plan's billing interval in `interval_unit`.
|
31
|
+
define_attribute :interval_length, Integer
|
32
|
+
|
33
|
+
# @!attribute interval_unit
|
34
|
+
# @return [String] Unit for the plan's billing interval.
|
35
|
+
define_attribute :interval_unit, String, {:enum => ["days", "months"]}
|
36
|
+
|
37
|
+
# @!attribute name
|
38
|
+
# @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
|
39
|
+
define_attribute :name, String
|
40
|
+
|
41
|
+
# @!attribute setup_fee_accounting_code
|
42
|
+
# @return [String] Accounting code for invoice line items for the plan's setup fee. If no value is provided, it defaults to plan's accounting code.
|
43
|
+
define_attribute :setup_fee_accounting_code, String
|
44
|
+
|
45
|
+
# @!attribute tax_code
|
46
|
+
# @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.
|
47
|
+
define_attribute :tax_code, String
|
48
|
+
|
49
|
+
# @!attribute tax_exempt
|
50
|
+
# @return [Boolean] `true` exempts tax on the plan, `false` applies tax on the plan.
|
51
|
+
define_attribute :tax_exempt, :Boolean
|
52
|
+
|
53
|
+
# @!attribute total_billing_cycles
|
54
|
+
# @return [Integer] Automatically terminate plans after a defined number of billing cycles.
|
55
|
+
define_attribute :total_billing_cycles, Integer
|
56
|
+
|
57
|
+
# @!attribute trial_length
|
58
|
+
# @return [Integer] Length of plan's trial period in `trial_units`. `0` means `no trial`.
|
59
|
+
define_attribute :trial_length, Integer
|
60
|
+
|
61
|
+
# @!attribute trial_unit
|
62
|
+
# @return [String] Units for the plan's trial period.
|
63
|
+
define_attribute :trial_unit, String, {:enum => ["days", "months"]}
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class PlanUpdate < Request
|
4
|
+
|
5
|
+
# @!attribute accounting_code
|
6
|
+
# @return [String] Accounting code for invoice line items for the plan. If no value is provided, it defaults to plan's code.
|
7
|
+
define_attribute :accounting_code, String
|
8
|
+
|
9
|
+
# @!attribute add_ons
|
10
|
+
# @return [Array[String]] Add Ons
|
11
|
+
define_attribute :add_ons, Array, {:item_type => String}
|
12
|
+
|
13
|
+
# @!attribute code
|
14
|
+
# @return [String] Unique code to identify the plan. This is used in Hosted Payment Page URLs and in the invoice exports.
|
15
|
+
define_attribute :code, String
|
16
|
+
|
17
|
+
# @!attribute currencies
|
18
|
+
# @return [Array[String]] Pricing
|
19
|
+
define_attribute :currencies, Array, {:item_type => String}
|
20
|
+
|
21
|
+
# @!attribute description
|
22
|
+
# @return [String] Optional description, not displayed.
|
23
|
+
define_attribute :description, String
|
24
|
+
|
25
|
+
# @!attribute hosted_pages
|
26
|
+
# @return [Hash] Hosted pages settings
|
27
|
+
define_attribute :hosted_pages, Hash
|
28
|
+
|
29
|
+
# @!attribute [r] id
|
30
|
+
# @return [String] Plan ID
|
31
|
+
define_attribute :id, String, {:read_only => true}
|
32
|
+
|
33
|
+
# @!attribute interval_length
|
34
|
+
# @return [Integer] Length of the plan's billing interval in `interval_unit`.
|
35
|
+
define_attribute :interval_length, Integer
|
36
|
+
|
37
|
+
# @!attribute interval_unit
|
38
|
+
# @return [String] Unit for the plan's billing interval.
|
39
|
+
define_attribute :interval_unit, String, {:enum => ["days", "months"]}
|
40
|
+
|
41
|
+
# @!attribute name
|
42
|
+
# @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
|
43
|
+
define_attribute :name, String
|
44
|
+
|
45
|
+
# @!attribute setup_fee_accounting_code
|
46
|
+
# @return [String] Accounting code for invoice line items for the plan's setup fee. If no value is provided, it defaults to plan's accounting code.
|
47
|
+
define_attribute :setup_fee_accounting_code, String
|
48
|
+
|
49
|
+
# @!attribute tax_code
|
50
|
+
# @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.
|
51
|
+
define_attribute :tax_code, String
|
52
|
+
|
53
|
+
# @!attribute tax_exempt
|
54
|
+
# @return [Boolean] `true` exempts tax on the plan, `false` applies tax on the plan.
|
55
|
+
define_attribute :tax_exempt, :Boolean
|
56
|
+
|
57
|
+
# @!attribute total_billing_cycles
|
58
|
+
# @return [Integer] Automatically terminate plans after a defined number of billing cycles.
|
59
|
+
define_attribute :total_billing_cycles, Integer
|
60
|
+
|
61
|
+
# @!attribute trial_length
|
62
|
+
# @return [Integer] Length of plan's trial period in `trial_units`. `0` means `no trial`.
|
63
|
+
define_attribute :trial_length, Integer
|
64
|
+
|
65
|
+
# @!attribute trial_unit
|
66
|
+
# @return [String] Units for the plan's trial period.
|
67
|
+
define_attribute :trial_unit, String, {:enum => ["days", "months"]}
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class ShippingAddressCreate < 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 last_name
|
26
|
+
# @return [String]
|
27
|
+
define_attribute :last_name, String
|
28
|
+
|
29
|
+
# @!attribute nickname
|
30
|
+
# @return [String]
|
31
|
+
define_attribute :nickname, String
|
32
|
+
|
33
|
+
# @!attribute phone
|
34
|
+
# @return [String]
|
35
|
+
define_attribute :phone, String
|
36
|
+
|
37
|
+
# @!attribute postal_code
|
38
|
+
# @return [String] Zip or postal code.
|
39
|
+
define_attribute :postal_code, String
|
40
|
+
|
41
|
+
# @!attribute region
|
42
|
+
# @return [String] State or province.
|
43
|
+
define_attribute :region, String
|
44
|
+
|
45
|
+
# @!attribute street1
|
46
|
+
# @return [String]
|
47
|
+
define_attribute :street1, String
|
48
|
+
|
49
|
+
# @!attribute street2
|
50
|
+
# @return [String]
|
51
|
+
define_attribute :street2, String
|
52
|
+
|
53
|
+
# @!attribute vat_number
|
54
|
+
# @return [String]
|
55
|
+
define_attribute :vat_number, String
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -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
|