Multi-broker payment processor for Django.
Project description
django-getpaid
Multi-broker payment processing framework for Django, built on getpaid-core.
v3.0.0a1 (Alpha) — This is a pre-release. The API may change before the stable v3.0 release.
Features
- Multiple payment brokers at the same time
- Flexible plugin architecture via getpaid-core
- Asynchronous status updates -- both push and pull
- REST-based broker API support
- Multiple currencies (one per payment)
- Global and per-plugin validators
- Swappable Payment and Order models (like Django's User model)
- Runtime FSM for payment status transitions (no django-fsm dependency)
Installation
pip install django-getpaid
Or with uv:
uv add django-getpaid
Then install a payment backend plugin (check that the plugin supports v3 before installing — v2 plugins are not compatible):
Quick Start
Define an Order model:
from getpaid.abstracts import AbstractOrder
class Order(AbstractOrder):
amount = models.DecimalField(decimal_places=2, max_digits=8)
description = models.CharField(max_length=128)
buyer = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
def get_total_amount(self):
return self.amount
def get_buyer_info(self):
return {"email": self.buyer.email}
def get_description(self):
return self.description
Configure settings:
INSTALLED_APPS = [
# ...
"getpaid",
"getpaid_payu",
]
GETPAID_ORDER_MODEL = "yourapp.Order"
GETPAID_BACKEND_SETTINGS = {
"getpaid_payu": {
"pos_id": 12345,
"second_key": "91ae651578c5b5aa93f2d38a9be8ce11",
"oauth_id": 12345,
"oauth_secret": "12f071174cb7eb79d4aac5bc2f07563f",
},
}
Add URL configuration:
urlpatterns = [
# ...
path("payments/", include("getpaid.urls")),
]
See the full documentation for details on configuration, customization, plugin development, and migration from v2.
Supported Versions
- Python: 3.12+
- Django: 5.2+
Running Tests
uv sync
uv run pytest
Or with ruff for linting:
uv run ruff check getpaid/ tests/
Alternatives
Credits
Created by Krzysztof Dorosz. Redesigned and rewritten by Dominik Kozaczko.
Development of version 2.0 sponsored by SUNSCRAPERS.
Disclaimer
This project has nothing in common with the getpaid plone project.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_getpaid-3.0.0a1.tar.gz.
File metadata
- Download URL: django_getpaid-3.0.0a1.tar.gz
- Upload date:
- Size: 127.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Manjaro Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ff7407859cec7590d035535be99553b91f1dbacedfe906352d2b9f8499714a7
|
|
| MD5 |
3428e62571bbd2af9d5a2b0e958611f1
|
|
| BLAKE2b-256 |
4011afa731df1d44b5b98856b3f77aa02f3b3082ec245c22b355c895c19c31ea
|
File details
Details for the file django_getpaid-3.0.0a1-py3-none-any.whl.
File metadata
- Download URL: django_getpaid-3.0.0a1-py3-none-any.whl
- Upload date:
- Size: 25.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Manjaro Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2547ea2eb76f399d3a8d68bf4b1797dc7c8421017fe02a1aedce345b906c470
|
|
| MD5 |
e311b88704e682b631af90f991f3cd01
|
|
| BLAKE2b-256 |
bd7491b440257d2f02d5e45c2e23961936ca5cfc04dce6b1d06119e39554ed19
|