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,18 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class AccountCreateOnly < Request
|
4
|
+
|
5
|
+
# @!attribute acquisition
|
6
|
+
# @return [AccountAcquisitionUpdatable]
|
7
|
+
define_attribute :acquisition, :AccountAcquisitionUpdatable
|
8
|
+
|
9
|
+
# @!attribute code
|
10
|
+
# @return [String] The unique identifier of the account. This cannot be changed once the account is created.
|
11
|
+
define_attribute :code, String
|
12
|
+
|
13
|
+
# @!attribute shipping_addresses
|
14
|
+
# @return [Array[ShippingAddressCreate]]
|
15
|
+
define_attribute :shipping_addresses, Array, {:item_type => :ShippingAddressCreate}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class AccountUpdatable < Request
|
4
|
+
|
5
|
+
# @!attribute address
|
6
|
+
# @return [Address]
|
7
|
+
define_attribute :address, :Address
|
8
|
+
|
9
|
+
# @!attribute billing_info
|
10
|
+
# @return [BillingInfoCreate]
|
11
|
+
define_attribute :billing_info, :BillingInfoCreate
|
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 company
|
18
|
+
# @return [String]
|
19
|
+
define_attribute :company, String
|
20
|
+
|
21
|
+
# @!attribute email
|
22
|
+
# @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.
|
23
|
+
define_attribute :email, String
|
24
|
+
|
25
|
+
# @!attribute first_name
|
26
|
+
# @return [String]
|
27
|
+
define_attribute :first_name, String
|
28
|
+
|
29
|
+
# @!attribute last_name
|
30
|
+
# @return [String]
|
31
|
+
define_attribute :last_name, String
|
32
|
+
|
33
|
+
# @!attribute preferred_locale
|
34
|
+
# @return [String] Used to determine the language and locale of emails sent on behalf of the merchant to the customer. The list of locales is restricted to those the merchant has enabled on the site.
|
35
|
+
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"]}
|
36
|
+
|
37
|
+
# @!attribute tax_exempt
|
38
|
+
# @return [Boolean] The tax status of the account. `true` exempts tax on the account, `false` applies tax on the account.
|
39
|
+
define_attribute :tax_exempt, :Boolean
|
40
|
+
|
41
|
+
# @!attribute username
|
42
|
+
# @return [String] A secondary value for the account.
|
43
|
+
define_attribute :username, String
|
44
|
+
|
45
|
+
# @!attribute vat_number
|
46
|
+
# @return [String] The VAT number of the account (to avoid having the VAT applied). This is only used for manually collected invoices.
|
47
|
+
define_attribute :vat_number, String
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class AddOnCreate < Request
|
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 currencies
|
14
|
+
# @return [Array[String]] Add-on pricing
|
15
|
+
define_attribute :currencies, Array, {:item_type => String}
|
16
|
+
|
17
|
+
# @!attribute default_quantity
|
18
|
+
# @return [Integer] Default quantity for the hosted pages.
|
19
|
+
define_attribute :default_quantity, Integer
|
20
|
+
|
21
|
+
# @!attribute display_quantity
|
22
|
+
# @return [Boolean] Determines if the quantity field is displayed on the hosted pages for the add-on.
|
23
|
+
define_attribute :display_quantity, :Boolean
|
24
|
+
|
25
|
+
# @!attribute name
|
26
|
+
# @return [String] Describes your add-on and will appear in subscribers' invoices.
|
27
|
+
define_attribute :name, String
|
28
|
+
|
29
|
+
# @!attribute [r] plan_id
|
30
|
+
# @return [String] Plan ID
|
31
|
+
define_attribute :plan_id, String, {:read_only => true}
|
32
|
+
|
33
|
+
# @!attribute tax_code
|
34
|
+
# @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.
|
35
|
+
define_attribute :tax_code, String
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class AddOnUpdate < Request
|
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 currencies
|
14
|
+
# @return [Array[String]] Add-on pricing
|
15
|
+
define_attribute :currencies, Array, {:item_type => String}
|
16
|
+
|
17
|
+
# @!attribute default_quantity
|
18
|
+
# @return [Integer] Default quantity for the hosted pages.
|
19
|
+
define_attribute :default_quantity, Integer
|
20
|
+
|
21
|
+
# @!attribute display_quantity
|
22
|
+
# @return [Boolean] Determines if the quantity field is displayed on the hosted pages for the add-on.
|
23
|
+
define_attribute :display_quantity, :Boolean
|
24
|
+
|
25
|
+
# @!attribute [r] id
|
26
|
+
# @return [String] Add-on ID
|
27
|
+
define_attribute :id, String, {:read_only => true}
|
28
|
+
|
29
|
+
# @!attribute name
|
30
|
+
# @return [String] Describes your add-on and will appear in subscribers' invoices.
|
31
|
+
define_attribute :name, String
|
32
|
+
|
33
|
+
# @!attribute tax_code
|
34
|
+
# @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.
|
35
|
+
define_attribute :tax_code, String
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class Address < Request
|
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,58 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class BillingInfoCreate < Request
|
4
|
+
|
5
|
+
# @!attribute address
|
6
|
+
# @return [Address]
|
7
|
+
define_attribute :address, :Address
|
8
|
+
|
9
|
+
# @!attribute amazon_billing_agreement_id
|
10
|
+
# @return [String] Amazon billing agreement ID
|
11
|
+
define_attribute :amazon_billing_agreement_id, String
|
12
|
+
|
13
|
+
# @!attribute company
|
14
|
+
# @return [String] Company name
|
15
|
+
define_attribute :company, String
|
16
|
+
|
17
|
+
# @!attribute cvv
|
18
|
+
# @return [String] *STRONGLY RECOMMENDED*
|
19
|
+
define_attribute :cvv, String
|
20
|
+
|
21
|
+
# @!attribute first_name
|
22
|
+
# @return [String] First name
|
23
|
+
define_attribute :first_name, String
|
24
|
+
|
25
|
+
# @!attribute ip_address
|
26
|
+
# @return [String] *STRONGLY RECOMMENDED* Customer's IP address when updating their billing information.
|
27
|
+
define_attribute :ip_address, String
|
28
|
+
|
29
|
+
# @!attribute last_name
|
30
|
+
# @return [String] Last name
|
31
|
+
define_attribute :last_name, String
|
32
|
+
|
33
|
+
# @!attribute month
|
34
|
+
# @return [String] Expiration month
|
35
|
+
define_attribute :month, String
|
36
|
+
|
37
|
+
# @!attribute number
|
38
|
+
# @return [String] Credit card number, spaces and dashes are accepted.
|
39
|
+
define_attribute :number, String
|
40
|
+
|
41
|
+
# @!attribute paypal_billing_agreement_id
|
42
|
+
# @return [String] PayPal billing agreement ID
|
43
|
+
define_attribute :paypal_billing_agreement_id, String
|
44
|
+
|
45
|
+
# @!attribute token_id
|
46
|
+
# @return [String] A token [generated by Recurly.js](https://docs.recurly.com/js/#getting-a-token).
|
47
|
+
define_attribute :token_id, String
|
48
|
+
|
49
|
+
# @!attribute vat_number
|
50
|
+
# @return [String] VAT number
|
51
|
+
define_attribute :vat_number, String
|
52
|
+
|
53
|
+
# @!attribute year
|
54
|
+
# @return [String] Expiration year
|
55
|
+
define_attribute :year, String
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class CouponCreateOnly < Request
|
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 currencies
|
22
|
+
# @return [Array[String]] Fixed discount currencies by currency. Required if the coupon type is `fixed`. This parameter should contain the coupon discount values
|
23
|
+
define_attribute :currencies, Array, {:item_type => String}
|
24
|
+
|
25
|
+
# @!attribute discount_percent
|
26
|
+
# @return [Integer] The percent of the price discounted by the coupon. Required if `discount_type` is `percent`.
|
27
|
+
define_attribute :discount_percent, Integer
|
28
|
+
|
29
|
+
# @!attribute discount_type
|
30
|
+
# @return [String] The type of discount provided by the coupon (how the amount discounted is calculated)
|
31
|
+
define_attribute :discount_type, String, {:enum => ["percent", "fixed", "free_trial"]}
|
32
|
+
|
33
|
+
# @!attribute duration
|
34
|
+
# @return [String] This field does not apply when the discount_type is `free_trial`. - "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. - "forever" coupons will apply to invoices forever.
|
35
|
+
define_attribute :duration, String, {:enum => ["forever", "single_use", "temporal"]}
|
36
|
+
|
37
|
+
# @!attribute free_trial_amount
|
38
|
+
# @return [Integer] Sets the duration of time the `free_trial_unit` is for. Required if `discount_type` is `free_trial`.
|
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. Required if `discount_type` is `free_trial`.
|
43
|
+
define_attribute :free_trial_unit, String, {:enum => ["day", "week", "month"]}
|
44
|
+
|
45
|
+
# @!attribute plan_codes
|
46
|
+
# @return [Array[String]] List of plan codes to which this coupon applies. See `applies_to_all_plans`
|
47
|
+
define_attribute :plan_codes, Array, {:item_type => String}
|
48
|
+
|
49
|
+
# @!attribute redemption_resource
|
50
|
+
# @return [String] Whether the discount is for all eligible charges on the account, or only a specific subscription.
|
51
|
+
define_attribute :redemption_resource, String, {:enum => ["account", "subscription"]}
|
52
|
+
|
53
|
+
# @!attribute temporal_amount
|
54
|
+
# @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.
|
55
|
+
define_attribute :temporal_amount, Integer
|
56
|
+
|
57
|
+
# @!attribute temporal_unit
|
58
|
+
# @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.
|
59
|
+
define_attribute :temporal_unit, String, {:enum => ["day", "week", "month", "year"]}
|
60
|
+
|
61
|
+
# @!attribute unique_code_template
|
62
|
+
# @return [String] On a bulk coupon, the template from which unique coupon codes are generated. - You must start the template with your coupon_code wrapped in single quotes. - Outside of single quotes, use a 9 for a character that you want to be a random number. - Outside of single quotes, use an "x" for a character that you want to be a random letter. - Outside of single quotes, use an * for a character that you want to be a random number or letter. - Use single quotes ' ' for characters that you want to remain static. These strings can be alphanumeric and may contain a - _ or +. For example: "'abc-'****'-def'"
|
63
|
+
define_attribute :unique_code_template, String
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class CouponUpdatable < Request
|
4
|
+
|
5
|
+
# @!attribute hosted_description
|
6
|
+
# @return [String] This description will show up when a customer redeems a coupon on your Hosted Payment Pages, or if you choose to show the description on your own checkout page.
|
7
|
+
define_attribute :hosted_description, String
|
8
|
+
|
9
|
+
# @!attribute invoice_description
|
10
|
+
# @return [String] Description of the coupon on the invoice.
|
11
|
+
define_attribute :invoice_description, String
|
12
|
+
|
13
|
+
# @!attribute max_redemptions
|
14
|
+
# @return [Integer] A maximum number of redemptions for the coupon. The coupon will expire when it hits its maximum redemptions.
|
15
|
+
define_attribute :max_redemptions, Integer
|
16
|
+
|
17
|
+
# @!attribute max_redemptions_per_account
|
18
|
+
# @return [Integer] Redemptions per account is the number of times a specific account can redeem the coupon. Set redemptions per account to `1` if you want to keep customers from gaming the system and getting more than one discount from the coupon campaign.
|
19
|
+
define_attribute :max_redemptions_per_account, Integer
|
20
|
+
|
21
|
+
# @!attribute name
|
22
|
+
# @return [String] The internal name for the coupon.
|
23
|
+
define_attribute :name, String
|
24
|
+
|
25
|
+
# @!attribute redeem_by_date
|
26
|
+
# @return [String] The date and time the coupon will expire and can no longer be redeemed. Time is always 11:59:59, the end-of-day Pacific time.
|
27
|
+
define_attribute :redeem_by_date, String
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class CreateAccount < Request
|
4
|
+
|
5
|
+
# @!attribute acquisition
|
6
|
+
# @return [AccountAcquisitionUpdatable]
|
7
|
+
define_attribute :acquisition, :AccountAcquisitionUpdatable
|
8
|
+
|
9
|
+
# @!attribute address
|
10
|
+
# @return [Address]
|
11
|
+
define_attribute :address, :Address
|
12
|
+
|
13
|
+
# @!attribute billing_info
|
14
|
+
# @return [BillingInfoCreate]
|
15
|
+
define_attribute :billing_info, :BillingInfoCreate
|
16
|
+
|
17
|
+
# @!attribute cc_emails
|
18
|
+
# @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.
|
19
|
+
define_attribute :cc_emails, String
|
20
|
+
|
21
|
+
# @!attribute code
|
22
|
+
# @return [String] The unique identifier of the account. This cannot be changed once the account is created.
|
23
|
+
define_attribute :code, String
|
24
|
+
|
25
|
+
# @!attribute company
|
26
|
+
# @return [String]
|
27
|
+
define_attribute :company, String
|
28
|
+
|
29
|
+
# @!attribute email
|
30
|
+
# @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.
|
31
|
+
define_attribute :email, String
|
32
|
+
|
33
|
+
# @!attribute first_name
|
34
|
+
# @return [String]
|
35
|
+
define_attribute :first_name, String
|
36
|
+
|
37
|
+
# @!attribute last_name
|
38
|
+
# @return [String]
|
39
|
+
define_attribute :last_name, String
|
40
|
+
|
41
|
+
# @!attribute preferred_locale
|
42
|
+
# @return [String] Used to determine the language and locale of emails sent on behalf of the merchant to the customer. The list of locales is restricted to those the merchant has enabled on the site.
|
43
|
+
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"]}
|
44
|
+
|
45
|
+
# @!attribute shipping_addresses
|
46
|
+
# @return [Array[ShippingAddressCreate]]
|
47
|
+
define_attribute :shipping_addresses, Array, {:item_type => :ShippingAddressCreate}
|
48
|
+
|
49
|
+
# @!attribute tax_exempt
|
50
|
+
# @return [Boolean] The tax status of the account. `true` exempts tax on the account, `false` applies tax on the account.
|
51
|
+
define_attribute :tax_exempt, :Boolean
|
52
|
+
|
53
|
+
# @!attribute username
|
54
|
+
# @return [String] A secondary value for the account.
|
55
|
+
define_attribute :username, String
|
56
|
+
|
57
|
+
# @!attribute vat_number
|
58
|
+
# @return [String] The VAT number of the account (to avoid having the VAT applied). This is only used for manually collected invoices.
|
59
|
+
define_attribute :vat_number, String
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
module Recurly
|
2
|
+
module Requests
|
3
|
+
class CreateCoupon < Request
|
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 currencies
|
22
|
+
# @return [Array[String]] Fixed discount currencies by currency. Required if the coupon type is `fixed`. This parameter should contain the coupon discount values
|
23
|
+
define_attribute :currencies, Array, {:item_type => String}
|
24
|
+
|
25
|
+
# @!attribute discount_percent
|
26
|
+
# @return [Integer] The percent of the price discounted by the coupon. Required if `discount_type` is `percent`.
|
27
|
+
define_attribute :discount_percent, Integer
|
28
|
+
|
29
|
+
# @!attribute discount_type
|
30
|
+
# @return [String] The type of discount provided by the coupon (how the amount discounted is calculated)
|
31
|
+
define_attribute :discount_type, String, {:enum => ["percent", "fixed", "free_trial"]}
|
32
|
+
|
33
|
+
# @!attribute duration
|
34
|
+
# @return [String] This field does not apply when the discount_type is `free_trial`. - "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. - "forever" coupons will apply to invoices forever.
|
35
|
+
define_attribute :duration, String, {:enum => ["forever", "single_use", "temporal"]}
|
36
|
+
|
37
|
+
# @!attribute free_trial_amount
|
38
|
+
# @return [Integer] Sets the duration of time the `free_trial_unit` is for. Required if `discount_type` is `free_trial`.
|
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. Required if `discount_type` is `free_trial`.
|
43
|
+
define_attribute :free_trial_unit, String, {:enum => ["day", "week", "month"]}
|
44
|
+
|
45
|
+
# @!attribute hosted_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_description, String
|
48
|
+
|
49
|
+
# @!attribute invoice_description
|
50
|
+
# @return [String] Description of the coupon on the invoice.
|
51
|
+
define_attribute :invoice_description, String
|
52
|
+
|
53
|
+
# @!attribute max_redemptions
|
54
|
+
# @return [Integer] A maximum number of redemptions for the coupon. The coupon will expire when it hits its maximum redemptions.
|
55
|
+
define_attribute :max_redemptions, Integer
|
56
|
+
|
57
|
+
# @!attribute max_redemptions_per_account
|
58
|
+
# @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.
|
59
|
+
define_attribute :max_redemptions_per_account, Integer
|
60
|
+
|
61
|
+
# @!attribute name
|
62
|
+
# @return [String] The internal name for the coupon.
|
63
|
+
define_attribute :name, String
|
64
|
+
|
65
|
+
# @!attribute plan_codes
|
66
|
+
# @return [Array[String]] List of plan codes to which this coupon applies. See `applies_to_all_plans`
|
67
|
+
define_attribute :plan_codes, Array, {:item_type => String}
|
68
|
+
|
69
|
+
# @!attribute redeem_by_date
|
70
|
+
# @return [String] The date and time the coupon will expire and can no longer be redeemed. Time is always 11:59:59, the end-of-day Pacific time.
|
71
|
+
define_attribute :redeem_by_date, String
|
72
|
+
|
73
|
+
# @!attribute redemption_resource
|
74
|
+
# @return [String] Whether the discount is for all eligible charges on the account, or only a specific subscription.
|
75
|
+
define_attribute :redemption_resource, String, {:enum => ["account", "subscription"]}
|
76
|
+
|
77
|
+
# @!attribute temporal_amount
|
78
|
+
# @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.
|
79
|
+
define_attribute :temporal_amount, Integer
|
80
|
+
|
81
|
+
# @!attribute temporal_unit
|
82
|
+
# @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.
|
83
|
+
define_attribute :temporal_unit, String, {:enum => ["day", "week", "month", "year"]}
|
84
|
+
|
85
|
+
# @!attribute unique_code_template
|
86
|
+
# @return [String] On a bulk coupon, the template from which unique coupon codes are generated. - You must start the template with your coupon_code wrapped in single quotes. - Outside of single quotes, use a 9 for a character that you want to be a random number. - Outside of single quotes, use an "x" for a character that you want to be a random letter. - Outside of single quotes, use an * for a character that you want to be a random number or letter. - Use single quotes ' ' for characters that you want to remain static. These strings can be alphanumeric and may contain a - _ or +. For example: "'abc-'****'-def'"
|
87
|
+
define_attribute :unique_code_template, String
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|