Sha256: 37b18eba06aa738ca5b596d17a12e6b714a711e4cb692f51575e58426b77913c

Contents?: true

Size: 1.99 KB

Versions: 26

Compression:

Stored size: 1.99 KB

Contents

# File generated from our OpenAPI spec
# frozen_string_literal: true

module Stripe
  class Invoice < APIResource
    extend Stripe::APIOperations::Create
    include Stripe::APIOperations::Delete
    extend Stripe::APIOperations::List
    include Stripe::APIOperations::Save

    OBJECT_NAME = "invoice"

    custom_method :finalize_invoice, http_verb: :post, http_path: "finalize"
    custom_method :mark_uncollectible, http_verb: :post
    custom_method :pay, http_verb: :post
    custom_method :send_invoice, http_verb: :post, http_path: "send"
    custom_method :void_invoice, http_verb: :post, http_path: "void"

    def finalize_invoice(params = {}, opts = {})
      request_stripe_object(
        method: :post,
        path: resource_url + "/finalize",
        params: params,
        opts: opts
      )
    end

    def mark_uncollectible(params = {}, opts = {})
      request_stripe_object(
        method: :post,
        path: resource_url + "/mark_uncollectible",
        params: params,
        opts: opts
      )
    end

    def pay(params = {}, opts = {})
      request_stripe_object(
        method: :post,
        path: resource_url + "/pay",
        params: params,
        opts: opts
      )
    end

    def send_invoice(params = {}, opts = {})
      request_stripe_object(
        method: :post,
        path: resource_url + "/send",
        params: params,
        opts: opts
      )
    end

    def void_invoice(params = {}, opts = {})
      request_stripe_object(
        method: :post,
        path: resource_url + "/void",
        params: params,
        opts: opts
      )
    end

    def self.upcoming(params, opts = {})
      resp, opts = execute_resource_request(:get, resource_url + "/upcoming", params, opts)
      Util.convert_to_stripe_object(resp.data, opts)
    end

    def self.list_upcoming_line_items(params, opts = {})
      resp, opts = execute_resource_request(:get, resource_url + "/upcoming/lines", params, opts)
      Util.convert_to_stripe_object(resp.data, opts)
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
stripe-5.46.0 lib/stripe/resources/invoice.rb
stripe-5.45.0 lib/stripe/resources/invoice.rb
stripe-5.44.0 lib/stripe/resources/invoice.rb
stripe-5.43.0 lib/stripe/resources/invoice.rb
stripe-5.42.0 lib/stripe/resources/invoice.rb
stripe-5.41.0 lib/stripe/resources/invoice.rb
stripe-5.40.0 lib/stripe/resources/invoice.rb
stripe-5.39.0 lib/stripe/resources/invoice.rb
stripe-5.38.0 lib/stripe/resources/invoice.rb
stripe-5.37.0 lib/stripe/resources/invoice.rb
stripe-5.36.0 lib/stripe/resources/invoice.rb
stripe-5.35.0 lib/stripe/resources/invoice.rb
stripe-5.34.0 lib/stripe/resources/invoice.rb
stripe-5.33.0 lib/stripe/resources/invoice.rb
stripe-5.32.1 lib/stripe/resources/invoice.rb
stripe-5.32.0 lib/stripe/resources/invoice.rb
stripe-5.31.0 lib/stripe/resources/invoice.rb
stripe-5.30.0 lib/stripe/resources/invoice.rb
stripe-5.29.1 lib/stripe/resources/invoice.rb
stripe-5.29.0 lib/stripe/resources/invoice.rb