Class: Stripe::Quote
- Inherits:
-
APIResource
- Object
- StripeObject
- APIResource
- Stripe::Quote
- Extended by:
- APIOperations::Create, APIOperations::List
- Includes:
- APIOperations::Save
- Defined in:
- lib/stripe/resources/quote.rb
Overview
A Quote is a way to model prices that you’d like to provide to a customer. Once accepted, it will automatically create an invoice, subscription or subscription schedule.
Defined Under Namespace
Classes: AutomaticTax, Computed, FromQuote, InvoiceSettings, StatusTransitions, SubscriptionData, TotalDetails, TransferData
Constant Summary collapse
- OBJECT_NAME =
"quote"
Constants inherited from StripeObject
StripeObject::RESERVED_FIELD_NAMES
Instance Attribute Summary collapse
-
#amount_subtotal ⇒ Object
readonly
Total before any discounts or taxes are applied.
-
#amount_total ⇒ Object
readonly
Total after discounts and taxes are applied.
-
#application ⇒ Object
readonly
ID of the Connect Application that created the quote.
-
#application_fee_amount ⇒ Object
readonly
The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner’s Stripe account.
-
#application_fee_percent ⇒ Object
readonly
A non-negative decimal between 0 and 100, with at most two decimal places.
-
#automatic_tax ⇒ Object
readonly
Attribute for field automatic_tax.
-
#collection_method ⇒ Object
readonly
Either
charge_automatically, orsend_invoice. -
#computed ⇒ Object
readonly
Attribute for field computed.
-
#created ⇒ Object
readonly
Time at which the object was created.
-
#currency ⇒ Object
readonly
Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase.
-
#customer ⇒ Object
readonly
The customer who received this quote.
-
#customer_account ⇒ Object
readonly
The account representing the customer who received this quote.
-
#default_tax_rates ⇒ Object
readonly
The tax rates applied to this quote.
-
#description ⇒ Object
readonly
A description that will be displayed on the quote PDF.
-
#discounts ⇒ Object
readonly
The discounts applied to this quote.
-
#expires_at ⇒ Object
readonly
The date on which the quote will be canceled if in
openordraftstatus. -
#footer ⇒ Object
readonly
A footer that will be displayed on the quote PDF.
-
#from_quote ⇒ Object
readonly
Details of the quote that was cloned.
-
#header ⇒ Object
readonly
A header that will be displayed on the quote PDF.
-
#id ⇒ Object
readonly
Unique identifier for the object.
-
#invoice ⇒ Object
readonly
The invoice that was created from this quote.
-
#invoice_settings ⇒ Object
readonly
Attribute for field invoice_settings.
-
#line_items ⇒ Object
readonly
A list of items the customer is being quoted for.
-
#livemode ⇒ Object
readonly
Has the value
trueif the object exists in live mode or the valuefalseif the object exists in test mode. -
#metadata ⇒ Object
readonly
Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object.
-
#number ⇒ Object
readonly
A unique number that identifies this particular quote.
-
#object ⇒ Object
readonly
String representing the object’s type.
-
#on_behalf_of ⇒ Object
readonly
The account on behalf of which to charge.
-
#status ⇒ Object
readonly
The status of the quote.
-
#status_transitions ⇒ Object
readonly
Attribute for field status_transitions.
-
#subscription ⇒ Object
readonly
The subscription that was created or updated from this quote.
-
#subscription_data ⇒ Object
readonly
Attribute for field subscription_data.
-
#subscription_schedule ⇒ Object
readonly
The subscription schedule that was created or updated from this quote.
-
#test_clock ⇒ Object
readonly
ID of the test clock this quote belongs to.
-
#total_details ⇒ Object
readonly
Attribute for field total_details.
-
#transfer_data ⇒ Object
readonly
The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
-
.accept(quote, params = {}, opts = {}) ⇒ Object
Accepts the specified quote.
-
.cancel(quote, params = {}, opts = {}) ⇒ Object
Cancels the quote.
-
.create(params = {}, opts = {}) ⇒ Object
A quote models prices and services for a customer.
- .field_remappings ⇒ Object
-
.finalize_quote(quote, params = {}, opts = {}) ⇒ Object
Finalizes the quote.
- .inner_class_types ⇒ Object
-
.list(params = {}, opts = {}) ⇒ Object
Returns a list of your quotes.
-
.list_computed_upfront_line_items(quote, params = {}, opts = {}) ⇒ Object
When retrieving a quote, there is an includable [computed.upfront.line_items](stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items.
-
.list_line_items(quote, params = {}, opts = {}) ⇒ Object
When retrieving a quote, there is an includable line_items property containing the first handful of those items.
- .object_name ⇒ Object
-
.pdf(quote, params = {}, opts = {}, &read_body_chunk_block) ⇒ Object
Download the PDF for a finalized quote.
-
.update(quote, params = {}, opts = {}) ⇒ Object
A quote models prices and services for a customer.
Instance Method Summary collapse
-
#accept(params = {}, opts = {}) ⇒ Object
Accepts the specified quote.
-
#cancel(params = {}, opts = {}) ⇒ Object
Cancels the quote.
-
#finalize_quote(params = {}, opts = {}) ⇒ Object
Finalizes the quote.
-
#list_computed_upfront_line_items(params = {}, opts = {}) ⇒ Object
When retrieving a quote, there is an includable [computed.upfront.line_items](stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items.
-
#list_line_items(params = {}, opts = {}) ⇒ Object
When retrieving a quote, there is an includable line_items property containing the first handful of those items.
-
#pdf(params = {}, opts = {}, &read_body_chunk_block) ⇒ Object
Download the PDF for a finalized quote.
Methods included from APIOperations::Create
Methods included from APIOperations::List
Methods included from APIOperations::Save
Methods inherited from APIResource
class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource
Methods included from APIOperations::Request
Methods inherited from StripeObject
#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values
Constructor Details
This class inherits a constructor from Stripe::StripeObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject
Instance Attribute Details
#amount_subtotal ⇒ Object (readonly)
Total before any discounts or taxes are applied.
440 441 442 |
# File 'lib/stripe/resources/quote.rb', line 440 def amount_subtotal @amount_subtotal end |
#amount_total ⇒ Object (readonly)
Total after discounts and taxes are applied.
442 443 444 |
# File 'lib/stripe/resources/quote.rb', line 442 def amount_total @amount_total end |
#application ⇒ Object (readonly)
ID of the Connect Application that created the quote.
444 445 446 |
# File 'lib/stripe/resources/quote.rb', line 444 def application @application end |
#application_fee_amount ⇒ Object (readonly)
The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner’s Stripe account. Only applicable if there are no line items with recurring prices on the quote.
446 447 448 |
# File 'lib/stripe/resources/quote.rb', line 446 def application_fee_amount @application_fee_amount end |
#application_fee_percent ⇒ Object (readonly)
A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner’s Stripe account. Only applicable if there are line items with recurring prices on the quote.
448 449 450 |
# File 'lib/stripe/resources/quote.rb', line 448 def application_fee_percent @application_fee_percent end |
#automatic_tax ⇒ Object (readonly)
Attribute for field automatic_tax
450 451 452 |
# File 'lib/stripe/resources/quote.rb', line 450 def automatic_tax @automatic_tax end |
#collection_method ⇒ Object (readonly)
Either charge_automatically, or send_invoice. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as active. Defaults to charge_automatically.
452 453 454 |
# File 'lib/stripe/resources/quote.rb', line 452 def collection_method @collection_method end |
#computed ⇒ Object (readonly)
Attribute for field computed
454 455 456 |
# File 'lib/stripe/resources/quote.rb', line 454 def computed @computed end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
456 457 458 |
# File 'lib/stripe/resources/quote.rb', line 456 def created @created end |
#currency ⇒ Object (readonly)
Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](stripe.com/docs/currencies).
458 459 460 |
# File 'lib/stripe/resources/quote.rb', line 458 def currency @currency end |
#customer ⇒ Object (readonly)
The customer who received this quote. A customer is required to finalize the quote. Once specified, you can’t change it.
460 461 462 |
# File 'lib/stripe/resources/quote.rb', line 460 def customer @customer end |
#customer_account ⇒ Object (readonly)
The account representing the customer who received this quote. A customer or account is required to finalize the quote. Once specified, you can’t change it.
462 463 464 |
# File 'lib/stripe/resources/quote.rb', line 462 def customer_account @customer_account end |
#default_tax_rates ⇒ Object (readonly)
The tax rates applied to this quote.
464 465 466 |
# File 'lib/stripe/resources/quote.rb', line 464 def default_tax_rates @default_tax_rates end |
#description ⇒ Object (readonly)
A description that will be displayed on the quote PDF.
466 467 468 |
# File 'lib/stripe/resources/quote.rb', line 466 def description @description end |
#discounts ⇒ Object (readonly)
The discounts applied to this quote.
468 469 470 |
# File 'lib/stripe/resources/quote.rb', line 468 def discounts @discounts end |
#expires_at ⇒ Object (readonly)
The date on which the quote will be canceled if in open or draft status. Measured in seconds since the Unix epoch.
470 471 472 |
# File 'lib/stripe/resources/quote.rb', line 470 def expires_at @expires_at end |
#footer ⇒ Object (readonly)
A footer that will be displayed on the quote PDF.
472 473 474 |
# File 'lib/stripe/resources/quote.rb', line 472 def end |
#from_quote ⇒ Object (readonly)
Details of the quote that was cloned. See the [cloning documentation](docs.stripe.com/quotes/clone) for more details.
474 475 476 |
# File 'lib/stripe/resources/quote.rb', line 474 def from_quote @from_quote end |
#header ⇒ Object (readonly)
A header that will be displayed on the quote PDF.
476 477 478 |
# File 'lib/stripe/resources/quote.rb', line 476 def header @header end |
#id ⇒ Object (readonly)
Unique identifier for the object.
478 479 480 |
# File 'lib/stripe/resources/quote.rb', line 478 def id @id end |
#invoice ⇒ Object (readonly)
The invoice that was created from this quote.
480 481 482 |
# File 'lib/stripe/resources/quote.rb', line 480 def invoice @invoice end |
#invoice_settings ⇒ Object (readonly)
Attribute for field invoice_settings
482 483 484 |
# File 'lib/stripe/resources/quote.rb', line 482 def invoice_settings @invoice_settings end |
#line_items ⇒ Object (readonly)
A list of items the customer is being quoted for.
484 485 486 |
# File 'lib/stripe/resources/quote.rb', line 484 def line_items @line_items end |
#livemode ⇒ Object (readonly)
Has the value true if the object exists in live mode or the value false if the object exists in test mode.
486 487 488 |
# File 'lib/stripe/resources/quote.rb', line 486 def livemode @livemode end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
488 489 490 |
# File 'lib/stripe/resources/quote.rb', line 488 def end |
#number ⇒ Object (readonly)
A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](docs.stripe.com/quotes/overview#finalize).
490 491 492 |
# File 'lib/stripe/resources/quote.rb', line 490 def number @number end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
492 493 494 |
# File 'lib/stripe/resources/quote.rb', line 492 def object @object end |
#on_behalf_of ⇒ Object (readonly)
The account on behalf of which to charge. See the [Connect documentation](support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details.
494 495 496 |
# File 'lib/stripe/resources/quote.rb', line 494 def on_behalf_of @on_behalf_of end |
#status ⇒ Object (readonly)
The status of the quote.
496 497 498 |
# File 'lib/stripe/resources/quote.rb', line 496 def status @status end |
#status_transitions ⇒ Object (readonly)
Attribute for field status_transitions
498 499 500 |
# File 'lib/stripe/resources/quote.rb', line 498 def status_transitions @status_transitions end |
#subscription ⇒ Object (readonly)
The subscription that was created or updated from this quote.
500 501 502 |
# File 'lib/stripe/resources/quote.rb', line 500 def subscription @subscription end |
#subscription_data ⇒ Object (readonly)
Attribute for field subscription_data
502 503 504 |
# File 'lib/stripe/resources/quote.rb', line 502 def subscription_data @subscription_data end |
#subscription_schedule ⇒ Object (readonly)
The subscription schedule that was created or updated from this quote.
504 505 506 |
# File 'lib/stripe/resources/quote.rb', line 504 def subscription_schedule @subscription_schedule end |
#test_clock ⇒ Object (readonly)
ID of the test clock this quote belongs to.
506 507 508 |
# File 'lib/stripe/resources/quote.rb', line 506 def test_clock @test_clock end |
#total_details ⇒ Object (readonly)
Attribute for field total_details
508 509 510 |
# File 'lib/stripe/resources/quote.rb', line 508 def total_details @total_details end |
#transfer_data ⇒ Object (readonly)
The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices.
510 511 512 |
# File 'lib/stripe/resources/quote.rb', line 510 def transfer_data @transfer_data end |
Class Method Details
.accept(quote, params = {}, opts = {}) ⇒ Object
Accepts the specified quote.
523 524 525 526 527 528 529 530 |
# File 'lib/stripe/resources/quote.rb', line 523 def self.accept(quote, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/quotes/%<quote>s/accept", { quote: CGI.escape(quote) }), params: params, opts: opts ) end |
.cancel(quote, params = {}, opts = {}) ⇒ Object
Cancels the quote.
543 544 545 546 547 548 549 550 |
# File 'lib/stripe/resources/quote.rb', line 543 def self.cancel(quote, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/quotes/%<quote>s/cancel", { quote: CGI.escape(quote) }), params: params, opts: opts ) end |
.create(params = {}, opts = {}) ⇒ Object
A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the [quote template](dashboard.stripe.com/settings/billing/quote).
553 554 555 |
# File 'lib/stripe/resources/quote.rb', line 553 def self.create(params = {}, opts = {}) request_stripe_object(method: :post, path: "/v1/quotes", params: params, opts: opts) end |
.field_remappings ⇒ Object
671 672 673 |
# File 'lib/stripe/resources/quote.rb', line 671 def self.field_remappings @field_remappings = {} end |
.finalize_quote(quote, params = {}, opts = {}) ⇒ Object
Finalizes the quote.
568 569 570 571 572 573 574 575 |
# File 'lib/stripe/resources/quote.rb', line 568 def self.finalize_quote(quote, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/quotes/%<quote>s/finalize", { quote: CGI.escape(quote) }), params: params, opts: opts ) end |
.inner_class_types ⇒ Object
658 659 660 661 662 663 664 665 666 667 668 669 |
# File 'lib/stripe/resources/quote.rb', line 658 def self.inner_class_types @inner_class_types = { automatic_tax: AutomaticTax, computed: Computed, from_quote: FromQuote, invoice_settings: InvoiceSettings, status_transitions: StatusTransitions, subscription_data: SubscriptionData, total_details: TotalDetails, transfer_data: TransferData, } end |
.list(params = {}, opts = {}) ⇒ Object
Returns a list of your quotes.
578 579 580 |
# File 'lib/stripe/resources/quote.rb', line 578 def self.list(params = {}, opts = {}) request_stripe_object(method: :get, path: "/v1/quotes", params: params, opts: opts) end |
.list_computed_upfront_line_items(quote, params = {}, opts = {}) ⇒ Object
When retrieving a quote, there is an includable [computed.upfront.line_items](stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.
593 594 595 596 597 598 599 600 |
# File 'lib/stripe/resources/quote.rb', line 593 def self.list_computed_upfront_line_items(quote, params = {}, opts = {}) request_stripe_object( method: :get, path: format("/v1/quotes/%<quote>s/computed_upfront_line_items", { quote: CGI.escape(quote) }), params: params, opts: opts ) end |
.list_line_items(quote, params = {}, opts = {}) ⇒ Object
When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
613 614 615 616 617 618 619 620 |
# File 'lib/stripe/resources/quote.rb', line 613 def self.list_line_items(quote, params = {}, opts = {}) request_stripe_object( method: :get, path: format("/v1/quotes/%<quote>s/line_items", { quote: CGI.escape(quote) }), params: params, opts: opts ) end |
.object_name ⇒ Object
13 14 15 |
# File 'lib/stripe/resources/quote.rb', line 13 def self.object_name "quote" end |
.pdf(quote, params = {}, opts = {}, &read_body_chunk_block) ⇒ Object
Download the PDF for a finalized quote. Explanation for special handling can be found [here](docs.stripe.com/quotes/overview#quote_pdf)
636 637 638 639 640 641 642 643 644 645 646 |
# File 'lib/stripe/resources/quote.rb', line 636 def self.pdf(quote, params = {}, opts = {}, &read_body_chunk_block) opts = { api_base: APIRequestor.active_requestor.config.uploads_base }.merge(opts) execute_resource_request_stream( :get, format("/v1/quotes/%<quote>s/pdf", { quote: CGI.escape(quote) }), :files, params, opts, &read_body_chunk_block ) end |
.update(quote, params = {}, opts = {}) ⇒ Object
A quote models prices and services for a customer.
649 650 651 652 653 654 655 656 |
# File 'lib/stripe/resources/quote.rb', line 649 def self.update(quote, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/quotes/%<quote>s", { quote: CGI.escape(quote) }), params: params, opts: opts ) end |
Instance Method Details
#accept(params = {}, opts = {}) ⇒ Object
Accepts the specified quote.
513 514 515 516 517 518 519 520 |
# File 'lib/stripe/resources/quote.rb', line 513 def accept(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/quotes/%<quote>s/accept", { quote: CGI.escape(self["id"]) }), params: params, opts: opts ) end |
#cancel(params = {}, opts = {}) ⇒ Object
Cancels the quote.
533 534 535 536 537 538 539 540 |
# File 'lib/stripe/resources/quote.rb', line 533 def cancel(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/quotes/%<quote>s/cancel", { quote: CGI.escape(self["id"]) }), params: params, opts: opts ) end |
#finalize_quote(params = {}, opts = {}) ⇒ Object
Finalizes the quote.
558 559 560 561 562 563 564 565 |
# File 'lib/stripe/resources/quote.rb', line 558 def finalize_quote(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/quotes/%<quote>s/finalize", { quote: CGI.escape(self["id"]) }), params: params, opts: opts ) end |
#list_computed_upfront_line_items(params = {}, opts = {}) ⇒ Object
When retrieving a quote, there is an includable [computed.upfront.line_items](stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.
583 584 585 586 587 588 589 590 |
# File 'lib/stripe/resources/quote.rb', line 583 def list_computed_upfront_line_items(params = {}, opts = {}) request_stripe_object( method: :get, path: format("/v1/quotes/%<quote>s/computed_upfront_line_items", { quote: CGI.escape(self["id"]) }), params: params, opts: opts ) end |
#list_line_items(params = {}, opts = {}) ⇒ Object
When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
603 604 605 606 607 608 609 610 |
# File 'lib/stripe/resources/quote.rb', line 603 def list_line_items(params = {}, opts = {}) request_stripe_object( method: :get, path: format("/v1/quotes/%<quote>s/line_items", { quote: CGI.escape(self["id"]) }), params: params, opts: opts ) end |
#pdf(params = {}, opts = {}, &read_body_chunk_block) ⇒ Object
Download the PDF for a finalized quote. Explanation for special handling can be found [here](docs.stripe.com/quotes/overview#quote_pdf)
623 624 625 626 627 628 629 630 631 632 633 |
# File 'lib/stripe/resources/quote.rb', line 623 def pdf(params = {}, opts = {}, &read_body_chunk_block) opts = { api_base: APIRequestor.active_requestor.config.uploads_base }.merge(opts) request_stream( method: :get, path: format("/v1/quotes/%<quote>s/pdf", { quote: CGI.escape(self["id"]) }), params: params, opts: opts, base_address: :files, &read_body_chunk_block ) end |