Billing
Billing APIs cover credit balances, packages, subscriptions, payment methods, invoices, and Stripe portal flows.
Credits
balance = client.billing.credits.balance()
print(balance.balance, balance.balance_in_usd)
overview = client.billing.credits.overview()
packages = client.billing.credits.packages()
pkg = client.billing.credits.package("pkg_1000")
costs = client.billing.credits.costs()
session = client.billing.credits.checkout(
"pkg_1000",
success_url="https://app.tou.ai/billing?success=1",
cancel_url="https://app.tou.ai/billing",
)
txns = client.billing.credits.transactions(limit=50, offset=0, type="consumption")Plans and Subscriptions
plans = client.billing.plans.list()
sub = client.billing.subscriptions.current()
preview = client.billing.subscriptions.upgrade_preview("plan_pro")
session = client.billing.subscriptions.upgrade(
"plan_pro",
success_url="https://app.tou.ai/billing?upgraded=1",
cancel_url="https://app.tou.ai/billing",
)
pending = client.billing.subscriptions.downgrade("plan_free")
change = client.billing.subscriptions.pending_change()
client.billing.subscriptions.cancel_downgrade()
client.billing.subscriptions.cancel("sub_id", immediately=False)Payment Methods and Invoices
methods = client.billing.payment_methods.list()
intent = client.billing.payment_methods.setup_intent(
payment_method_types=["card", "alipay"],
)
client.billing.payment_methods.attach(
"pm_stripe_id",
set_as_default=True,
)
client.billing.payment_methods.delete("pm_id")
overview = client.billing.overview()
invoices = client.billing.invoices(limit=20)
portal_url = client.billing.portal("https://app.tou.ai/billing")For upgrade and top-up flows, the SDK returns checkout URLs rather than performing payment inline. Redirect your user or operator to the returned Stripe URL.