Zazu.Invoices (zazu v0.2.1)

Copy Markdown View Source

Invoices and their lifecycle actions.

Summary

Functions

Calls POST /api/invoices/:id/cancel.

Calls POST /api/invoices.

Calls POST /api/invoices/:invoice_id/payment_link.

Calls POST /api/invoices/:id/credit_note.

Calls DELETE /api/invoices/:id.

Calls GET /api/invoices/:id.

Calls GET /api/invoices.

Calls POST /api/invoices/:id/mark_as_paid.

Calls POST /api/invoices/:id/send.

Calls PATCH /api/invoices/:id.

Functions

cancel(client, id)

@spec cancel(Zazu.Client.t(), String.t()) ::
  {:ok, Zazu.Response.t()} | {:error, Exception.t()}

Calls POST /api/invoices/:id/cancel.

create(client, attributes)

@spec create(Zazu.Client.t(), map()) ::
  {:ok, Zazu.Response.t()} | {:error, Exception.t()}

Calls POST /api/invoices.

create_payment_link(client, invoice_id, account_id)

@spec create_payment_link(Zazu.Client.t(), String.t(), String.t()) ::
  {:ok, Zazu.Response.t()} | {:error, Exception.t()}

Calls POST /api/invoices/:invoice_id/payment_link.

credit_note(client, id)

@spec credit_note(Zazu.Client.t(), String.t()) ::
  {:ok, Zazu.Response.t()} | {:error, Exception.t()}

Calls POST /api/invoices/:id/credit_note.

delete(client, id)

@spec delete(Zazu.Client.t(), String.t()) ::
  {:ok, Zazu.Response.t()} | {:error, Exception.t()}

Calls DELETE /api/invoices/:id.

get(client, id)

@spec get(Zazu.Client.t(), String.t()) ::
  {:ok, Zazu.Response.t()} | {:error, Exception.t()}

Calls GET /api/invoices/:id.

list(client, opts \\ [])

@spec list(
  Zazu.Client.t(),
  keyword()
) :: {:ok, Zazu.Page.t()} | {:error, Exception.t()}

Calls GET /api/invoices.

Options

  • :status — filter by invoice status.
  • :customer_id — filter by customer.
  • :limit — page size (1..100, default 100).
  • :cursor — pagination cursor.

mark_as_paid(client, id)

@spec mark_as_paid(Zazu.Client.t(), String.t()) ::
  {:ok, Zazu.Response.t()} | {:error, Exception.t()}

Calls POST /api/invoices/:id/mark_as_paid.

send(client, id)

@spec send(Zazu.Client.t(), String.t()) ::
  {:ok, Zazu.Response.t()} | {:error, Exception.t()}

Calls POST /api/invoices/:id/send.

update(client, id, attributes)

@spec update(Zazu.Client.t(), String.t(), map()) ::
  {:ok, Zazu.Response.t()} | {:error, Exception.t()}

Calls PATCH /api/invoices/:id.