Metadata-Version: 2.4
Name: stapel-billing
Version: 0.4.0
Summary: Billing and payments Django app for the Stapel framework
License: MIT
Keywords: django,stapel,billing,payments,stripe
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: stapel-core<0.4,>=0.3.0
Provides-Extra: stripe
Requires-Dist: stripe<12,>=8.0; extra == "stripe"
Provides-Extra: all
Requires-Dist: stapel-billing[stripe]; extra == "all"
Dynamic: license-file

# stapel-billing

[![CI](https://github.com/usestapel/stapel-billing/actions/workflows/ci.yml/badge.svg)](https://github.com/usestapel/stapel-billing/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/usestapel/stapel-billing/graph/badge.svg)](https://codecov.io/gh/usestapel/stapel-billing)

> Billing — Stripe subscriptions, credit wallets, transaction history

Part of the [Stapel framework](https://github.com/usestapel) — composable Django apps for building production-grade platforms.

## Installation

```bash
pip install stapel-billing
```

## Quick start

```python
# settings.py
INSTALLED_APPS = [
    ...
    'stapel_billing',
]
```

## Bus events

### Emits
| `payment.completed` | [schema](schemas/emits/payment.completed.json) | A payment transaction completed successfully. |
| `subscription.changed` | [schema](schemas/emits/subscription.changed.json) | User subscription plan or status changed. |

### Consumes
| `user.deleted` | [schema](schemas/consumes/user.deleted.json) |
| `user.deletion_initiated` | [schema](schemas/consumes/user.deletion_initiated.json) |

## License

MIT — see [LICENSE](LICENSE)
