Packages
paddle_billing
0.1.0
Elixir client for Paddle Billing API v2 - CRUD, dual-write sync, drift detection, webhooks, and admin panel.
Current section
Files
Jump to
Current section
Files
lib/paddle_billing.ex
defmodule PaddleBilling do
@moduledoc """
Public facade for the PaddleBilling library.
Delegates to resource-specific modules for Products, Prices, and Discounts.
This library is fully portable - zero imports from RawrPhoenix.*.
"""
# ── Products ──────────────────────────────────────────────────────
defdelegate list_products(opts \\ []), to: PaddleBilling.Products, as: :list
defdelegate list_all_products(opts \\ []), to: PaddleBilling.Products, as: :list_all
defdelegate get_product(paddle_id), to: PaddleBilling.Products, as: :get
defdelegate create_product(attrs), to: PaddleBilling.Products, as: :create
defdelegate update_product(paddle_id, attrs), to: PaddleBilling.Products, as: :update
# ── Prices ────────────────────────────────────────────────────────
defdelegate list_prices(opts \\ []), to: PaddleBilling.Prices, as: :list
defdelegate list_all_prices(opts \\ []), to: PaddleBilling.Prices, as: :list_all
defdelegate get_price(paddle_id), to: PaddleBilling.Prices, as: :get
defdelegate create_price(attrs), to: PaddleBilling.Prices, as: :create
defdelegate update_price(paddle_id, attrs), to: PaddleBilling.Prices, as: :update
# ── Discounts ─────────────────────────────────────────────────────
defdelegate list_discounts(opts \\ []), to: PaddleBilling.Discounts, as: :list
defdelegate list_all_discounts(opts \\ []), to: PaddleBilling.Discounts, as: :list_all
defdelegate get_discount(paddle_id), to: PaddleBilling.Discounts, as: :get
defdelegate create_discount(attrs), to: PaddleBilling.Discounts, as: :create
defdelegate update_discount(paddle_id, attrs), to: PaddleBilling.Discounts, as: :update
# ── Transactions ─────────────────────────────────────────────────
defdelegate list_transactions(opts \\ []), to: PaddleBilling.Transactions, as: :list
defdelegate list_all_transactions(opts \\ []), to: PaddleBilling.Transactions, as: :list_all
defdelegate get_transaction(paddle_id), to: PaddleBilling.Transactions, as: :get
defdelegate create_transaction(attrs), to: PaddleBilling.Transactions, as: :create
defdelegate update_transaction(paddle_id, attrs), to: PaddleBilling.Transactions, as: :update
defdelegate preview_transaction(attrs), to: PaddleBilling.Transactions, as: :preview
# ── Config ────────────────────────────────────────────────────────
defdelegate client_token(), to: PaddleBilling.Config
defdelegate environment(), to: PaddleBilling.Config
end