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.1.8.tar.gz (9.6 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.1.8-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: python_killbill_client-0.1.8.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for python_killbill_client-0.1.8.tar.gz
Algorithm Hash digest
SHA256 312d3f52669463a6828fdcb15dcb865e3e153c37f422b0c1753f80bd645c4730
MD5 a954c6126de18cc73b54b88c281eef35
BLAKE2b-256 e2f0f5fb7b2f227257e4c3f3f6489587f16e4b53b075bb8673977a1b47cc3bf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_killbill_client-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 c1d9dd7c9b3ea3b62a0f1c9e8ae8a4eba3bc1fb6abead9476d150321c2b9a112
MD5 659fd7aaa381f09e7f7b4018c6b9f3c9
BLAKE2b-256 5bbdf4b68e5c98a73bdb73b615087ebc049de206e16bd5d3081e1ed6398b3d9c

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