defmodule <%= @module_name %>.Bling do @behaviour Bling @impl Bling def can_manage_billing?(_conn, _customer) do false end @impl Bling def to_stripe_params(customer) do # pass any valid Stripe.Customer.create/2 params here # e.g. %{name: user.name, email: user.email} case customer do # %<%= @module_name %>.Accounts.User{} -> %{email: customer.email} _ -> %{} end end @impl Bling def tax_rate_ids(_customer), do: [] @impl Bling def handle_stripe_webhook_event(%Stripe.Event{} = event) do case event.type do "invoice.payment_action_required" -> # todo: send email nil "invoice.payment.failed" -> # todo: send email nil _ -> nil end :ok end end