Sha256: 0e2c04478ce6686f1634dda657d5e7bcba52d93374ae244ed22efa48924245d1

Contents?: true

Size: 1.65 KB

Versions: 5

Compression:

Stored size: 1.65 KB

Contents

# 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".freeze

    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 = {})
      resp, opts = request(:post, resource_url + "/finalize", params, opts)
      Util.convert_to_stripe_object(resp.data, opts)
    end

    def mark_uncollectible(params = {}, opts = {})
      resp, opts = request(:post, resource_url + "/mark_uncollectible", params, opts)
      Util.convert_to_stripe_object(resp.data, opts)
    end

    def pay(params = {}, opts = {})
      resp, opts = request(:post, resource_url + "/pay", params, opts)
      Util.convert_to_stripe_object(resp.data, opts)
    end

    def send_invoice(params = {}, opts = {})
      resp, opts = request(:post, resource_url + "/send", params, opts)
      Util.convert_to_stripe_object(resp.data, opts)
    end

    def void_invoice(params = {}, opts = {})
      resp, opts = request(:post, resource_url + "/void", params, opts)
      Util.convert_to_stripe_object(resp.data, opts)
    end

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
stripe-4.21.1 lib/stripe/resources/invoice.rb
stripe-4.21.0 lib/stripe/resources/invoice.rb
stripe-4.20.1 lib/stripe/resources/invoice.rb
stripe-4.20.0 lib/stripe/resources/invoice.rb
stripe-4.19.0 lib/stripe/resources/invoice.rb