Contributing¶
Contributions — bug fixes, new gateways, docs, and translations — are all welcome!
Development setup¶
git clone https://github.com/javlondevv/unipay-uz.git
cd unipay-uz
python -m venv .venv && source .venv/bin/activate
pip install -e ".[django,fastapi,flask]"
Code style¶
CI runs an install + import smoke test across Python 3.9–3.13.
Adding a new gateway¶
- Create
unipay_uz/gateways/<provider>/with aclient.pyexposing a class that subclassesBasePaymentGatewayand implementscreate_payment,check_payment, andcancel_payment. - Add constants/receipts modules as needed (follow the existing providers).
- Register the provider in
unipay_uz/factory.pyandunipay_uz/core/constants.py(PaymentGatewayenum). - Document it: add a page under
docs/gateways/, update both READMEs (README.mdandREADME.ru.md), and add aCHANGELOG.mdentry.
Conventions¶
- Update
CHANGELOG.mdunder[Unreleased]for any user-facing change. - For user-facing README changes, update
README.ru.mdtoo. - Never commit secrets — merchant keys,
.envfiles, or PyPI recovery codes.
Browse the good first issue label for friendly starting points, and read the Code of Conduct.