Skip to main content

An unofficial SDK for Paddle's billing API and webhooks.

Project description

Unofficial Paddle Billing Python SDK

A small Paddle Billing SDK. It uses pydantic for schemas derived from the Paddle Billing OpenAPI file.

Installation

To install the package, install it from pypi:

uv add python-paddle
# or
pip install python-paddle

Or your favorite package manager.

Usage

Currently, the SDK does not provide functions to call the API. It does provide two things:

  1. API schemas as Pydantic models
  2. Webhook validation

The schemas can be found under paddle.schemas, like paddle.schemas.Transaction.

Webhooks can be validated using paddle.webhooks.verify. For example:

from paddle import webhooks

webhooks.verify(
    secret="YOUR_WEBHOOK_SECRET",
    signature="YOUR_WEBHOOK_SIGNATURE",  # Extract this value from the `Paddle-Signature` in the webhook request
    body="THE_REQUEST_BODY",
)

It'll raise a paddle.webhooks.exceptions.ValidationError if the webhook could not be verified, otherwise it'll return True.

To instead get a bool returned from the function, without an error raised on failure, pass the error=False argument.

from paddle import webhooks

is_valid = webhooks.verify(
    secret="YOUR_WEBHOOK_SECRET",
    signature="YOUR_WEBHOOK_SIGNATURE",  # Extract this value from the `Paddle-Signature` in the webhook request
    body="THE_REQUEST_BODY",
    error=False,
)

if is_valid:
    print("Great!")

else:
    print("Damn")

Exceptions

All exceptions raised by this library inherit from paddle.exceptions.PaddleException.

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_paddle-0.1.1.tar.gz (46.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_paddle-0.1.1-py3-none-any.whl (55.9 kB view details)

Uploaded Python 3

File details

Details for the file python_paddle-0.1.1.tar.gz.

File metadata

  • Download URL: python_paddle-0.1.1.tar.gz
  • Upload date:
  • Size: 46.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch 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

Hashes for python_paddle-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8288a6124e5b732afffdcb64dbb31d67a51a0b4f5672a97fab903c27e76a2733
MD5 53a604d1aaab3cf3eeac692bc5b0aa92
BLAKE2b-256 3573c4bb8e9ebbaa4863107a81251ef9994180bcfbc2209010e45335ab43499c

See more details on using hashes here.

File details

Details for the file python_paddle-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: python_paddle-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 55.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch 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

Hashes for python_paddle-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a5e89544c6f1e5e8f3580d6e601d9aa4a51c58b957bb7af8f92b11446daf29b
MD5 45422e01a4fb8ba3e1b9b81698e5a17a
BLAKE2b-256 ed28b0158b2d9ae99368832a375bc54482ade8fd0ca24b9d142666c803eb3b02

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