Class: Stripe::InvoiceCreatePreviewParams

Inherits:
RequestParams show all
Defined in:
lib/stripe/params/invoice_create_preview_params.rb

Defined Under Namespace

Classes: AutomaticTax, CustomerDetails, Discount, InvoiceItem, Issuer, ScheduleDetails, SubscriptionDetails

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RequestParams

attr_accessor, coerce_params, coerce_value, new, #to_h

Constructor Details

#initialize(automatic_tax: nil, billing_cadence: nil, currency: nil, customer: nil, customer_account: nil, customer_details: nil, discounts: nil, expand: nil, invoice_items: nil, issuer: nil, on_behalf_of: nil, preview_mode: nil, schedule: nil, schedule_details: nil, subscription: nil, subscription_details: nil) ⇒ InvoiceCreatePreviewParams

Returns a new instance of InvoiceCreatePreviewParams.



2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2493

def initialize(
  automatic_tax: nil,
  billing_cadence: nil,
  currency: nil,
  customer: nil,
  customer_account: nil,
  customer_details: nil,
  discounts: nil,
  expand: nil,
  invoice_items: nil,
  issuer: nil,
  on_behalf_of: nil,
  preview_mode: nil,
  schedule: nil,
  schedule_details: nil,
  subscription: nil,
  subscription_details: nil
)
  @automatic_tax = automatic_tax
  @billing_cadence = billing_cadence
  @currency = currency
  @customer = customer
  @customer_account = 
  @customer_details = customer_details
  @discounts = discounts
  @expand = expand
  @invoice_items = invoice_items
  @issuer = issuer
  @on_behalf_of = on_behalf_of
  @preview_mode = preview_mode
  @schedule = schedule
  @schedule_details = schedule_details
  @subscription = subscription
  @subscription_details = subscription_details
end

Instance Attribute Details

#automatic_taxObject

Settings for automatic tax lookup for this invoice preview.



2461
2462
2463
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2461

def automatic_tax
  @automatic_tax
end

#billing_cadenceObject

The identifier of the billing cadence for which you’d like to retrieve the upcoming invoice. Cannot be provided when subscription, schedule, subscription_details or schedule_details are provided.



2463
2464
2465
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2463

def billing_cadence
  @billing_cadence
end

#currencyObject

The currency to preview this invoice in. Defaults to that of customer if not specified.



2465
2466
2467
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2465

def currency
  @currency
end

#customerObject

The identifier of the customer whose upcoming invoice you're retrieving. If automatic_tax is enabled then one of customer, customer_details, subscription, or schedule must be set.



2467
2468
2469
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2467

def customer
  @customer
end

#customer_accountObject

The identifier of the account representing the customer whose upcoming invoice you're retrieving. If automatic_tax is enabled then one of customer, customer_account, customer_details, subscription, or schedule must be set.



2469
2470
2471
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2469

def 
  @customer_account
end

#customer_detailsObject

Details about the customer you want to invoice or overrides for an existing customer. If automatic_tax is enabled then one of customer, customer_details, subscription, or schedule must be set.



2471
2472
2473
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2471

def customer_details
  @customer_details
end

#discountsObject

The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the subscription or customer. This works for both coupons directly applied to an invoice and coupons applied to a subscription. Pass an empty string to avoid inheriting any discounts.



2473
2474
2475
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2473

def discounts
  @discounts
end

#expandObject

Specifies which fields in the response should be expanded.



2475
2476
2477
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2475

def expand
  @expand
end

#invoice_itemsObject

List of invoice items to add or update in the upcoming invoice preview (up to 250).



2477
2478
2479
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2477

def invoice_items
  @invoice_items
end

#issuerObject

The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.



2479
2480
2481
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2479

def issuer
  @issuer
end

#on_behalf_ofObject

The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the Invoices with Connect documentation for details.



2481
2482
2483
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2481

def on_behalf_of
  @on_behalf_of
end

#preview_modeObject

Customizes the types of values to include when calculating the invoice. Defaults to next if unspecified.



2483
2484
2485
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2483

def preview_mode
  @preview_mode
end

#scheduleObject

The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.



2485
2486
2487
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2485

def schedule
  @schedule
end

#schedule_detailsObject

The schedule creation or modification params to apply as a preview. Cannot be used with subscription or subscription_ prefixed fields.



2487
2488
2489
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2487

def schedule_details
  @schedule_details
end

#subscriptionObject

The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a subscription_details.items is provided, you will preview creating a subscription with those items. If neither subscription nor subscription_details.items is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.



2489
2490
2491
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2489

def subscription
  @subscription
end

#subscription_detailsObject

The subscription creation or modification params to apply as a preview. Cannot be used with schedule or schedule_details fields.



2491
2492
2493
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2491

def subscription_details
  @subscription_details
end

Class Method Details

.field_encodingsObject



2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 2529

def self.field_encodings
  @field_encodings = {
    invoice_items: {
      kind: :array,
      element: {
        kind: :object,
        fields: {
          price_data: { kind: :object, fields: { unit_amount_decimal: :decimal_string } },
          quantity_decimal: :decimal_string,
          unit_amount_decimal: :decimal_string,
        },
      },
    },
    schedule_details: {
      kind: :object,
      fields: {
        phases: {
          kind: :array,
          element: {
            kind: :object,
            fields: {
              add_invoice_items: {
                kind: :array,
                element: {
                  kind: :object,
                  fields: {
                    price_data: { kind: :object, fields: { unit_amount_decimal: :decimal_string } },
                  },
                },
              },
              items: {
                kind: :array,
                element: {
                  kind: :object,
                  fields: {
                    price_data: { kind: :object, fields: { unit_amount_decimal: :decimal_string } },
                  },
                },
              },
            },
          },
        },
      },
    },
    subscription_details: {
      kind: :object,
      fields: {
        items: {
          kind: :array,
          element: {
            kind: :object,
            fields: {
              price_data: { kind: :object, fields: { unit_amount_decimal: :decimal_string } },
            },
          },
        },
      },
    },
  }
end