Skip to main content

killbill client

Project description

python-killbill-client

Installation

pip install python-killbill-client

Guide

Frist step create client

from killbill import KillBillClient

killbill = KillBillClient("admin", "password")

Table of contents :

Tenant

Create a tenant

killbill.tenant.create(api_key="bob", api_secret="lazar", created_by="demo")

And use api_key and api_secret to create header

from killbill import Header

header = Header(api_key="bob", api_secret="lazar", created_by="demo")

Catalog

Create a simple catalog

from killbill.enums import ProductCategory, BillingPeriod, TrialTimeUnit

killbill.catalog.add_simple_plan(
    header=header, # pass header
    plan_id="standard-monthly",
    product_name="Standard",
    product_category=ProductCategory.BASE,
    currency="USD",
    amount=24.95,
    billing_period=BillingPeriod.MONTHLY,
    trial_length=0,
    trial_time_unit=TrialTimeUnit.UNLIMITED,
)

Create a catalog from file

# first get text content
xml_file = open("SpyCarBasic.xml", "r", encoding="utf-8").read()

killbill.catalog.create(header=header, catalog_xml=xml_file)

Account

Create account

# return account id
account_id = killbill.account.create(
    header=header,
    name="Customer 1",
    first_name_length=10,
)

List accounts

import json

accounts = killbill.account.list(header=header)

print(json.dumps(accounts, indent=4))

Add a payment method to the account

Note: Replace 3d52ce98-104e-4cfe-af7d-732f9a264a9a below with the ID of your account.

killbill.account.add_payment_method(
    header=header,
    account_id="3d52ce98-104e-4cfe-af7d-732f9a264a9a",
    plugin_name="__EXTERNAL_PAYMENT__",
    is_default=True,
)

Subscription

Set Up a Subscription for the Account

Note: Replace 3d52ce98-104e-4cfe-af7d-732f9a264a9a below with the ID of your account.

subscription_id = killbill.subscription.create(
    header=header,
    account_id="3d52ce98-104e-4cfe-af7d-732f9a264a9a",
    plan_name="standard-monthly",
)

Create suscription with add-ons

Note: Replace 3d52ce98-104e-4cfe-af7d-732f9a264a9a below with the ID of your account.

bundle_id = killbill.subscription.create_with_add_ons(
    header=header,
    account_id="3d52ce98-104e-4cfe-af7d-732f9a264a9a",
    plan_name="standard-monthly",
    add_ons_name=["standard-monthly-add-on"],
)

Create multiple suscriptions with add-ons

Note: Replace 3d52ce98-104e-4cfe-af7d-732f9a264a9a below with the ID of your account.

killbill.subscription.create_multiple_with_add_ons(
    header,
    account_id="3d52ce98-104e-4cfe-af7d-732f9a264a9a",
    bundles=[
        ["standard-monthly", "standard-monthly-add-on"],
        ["sport-monthly", "sport-monthly-add-on-1", "sport-monthly-add-on-2"],
    ],
)

Invoices

Retrieve account invoices

Note: Replace 3d52ce98-104e-4cfe-af7d-732f9a264a9a below with the ID of your account.

invoices = killbill.account.invoices(
    header=header, account_id="3d52ce98-104e-4cfe-af7d-732f9a264a9a"
)

print(json.dumps(invoices, indent=4))

Overdue

Retrieve overdue config

overdue_config = killbill.overdue.retrieve(header=header)

print(overdue_config)

Upload overdue config

# first get text content
overdue_config_xml = open("Overdue.xml", "r", encoding="utf-8").read()

killbill.overdue.upload(header=header, overdue_config_xml=overdue_config_xml)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_killbill_client-0.3.1.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_killbill_client-0.3.1-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file python_killbill_client-0.3.1.tar.gz.

File metadata

  • Download URL: python_killbill_client-0.3.1.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for python_killbill_client-0.3.1.tar.gz
Algorithm Hash digest
SHA256 d2419547c0bb4514c37fb67010127968fd08001241e85c5050cb116d1a064b41
MD5 c0b756b907d9490b85e3f321d9cbf846
BLAKE2b-256 5496df6e1ae97c60923cdccb39ef1d3b1f85213db3b3f63319a5a878049f8349

See more details on using hashes here.

File details

Details for the file python_killbill_client-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for python_killbill_client-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b8fc85ea66f4cf4ea0d39e416fa518df6f782eeeac4fe61181c6ffb7dd570de3
MD5 78bd75b850597fad4a116fe8d525b04b
BLAKE2b-256 72a0fa7393a7cda5f60b05a20b12c7684f2d584c9e6eb75dc948e267dd147278

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page