Skip to content

Billing

v0.27.0

Orders, invoices, subscriptions and payments via Stripe, PayPal, Razorpay, EveryPay

Install Billing

Orders, invoices, receipts, subscriptions and payments for a PhoenixKit app, with Stripe, PayPal, Razorpay and EveryPay behind one provider behaviour using hosted checkout. Subscriptions are kept in your own database and renewed by the module rather than the provider. It stores billing profiles, currencies, orders, invoices, transactions, subscriptions, saved payment methods and webhook events.

Use it when

  • You sell plans or one-off orders and need invoices and receipts generated from them
  • You want recurring billing controlled in your database instead of in Stripe or PayPal

What it gives you

  • Order to invoice to receipt workflow with status tracking and print views
  • Stripe, PayPal, Razorpay and EveryPay hosted checkout
  • Subscription plans with automatic renewals, trials and dunning
  • Currencies with exchange rates; billing profiles with tax ID and IBAN validation
  • Transaction ledger with credit notes and partial refunds
  • Admin pages under /admin/billing; user pages My Orders and Billing Profiles

Example

From the README
{:ok, type} = Billing.create_subscription_type(%{
  name: "Pro Monthly",
  slug: "pro-monthly",
  interval: "month",
  price: Decimal.new("19.99"),
  currency: "EUR"
})

Billing news

Nothing posted about Billing yet. Read its changelog or see all PhoenixKit news.

Install

1 Add to mix.exs

deps
{:phoenix_kit_billing, "~> 0.27"}

2 Fetch it and run its migrations

Terminal
$ mix deps.get && mix phoenix_kit.update

3 Switch it on in /admin/modules

Releases
  1. 0.27.0
  2. 0.26.0
  3. 0.25.0
Admin
/admin/billing

Related modules

What it needs, what builds on it, and its neighbours in Commerce.