Skip to content

Modern, test-driven Python client for the Paystack API — built to save you time integrating into Python projects.

License

Notifications You must be signed in to change notification settings

theolujay/paystack-api-wrapper

Repository files navigation

Paystack API Wrapper

PyPI Version Python Versions Build Coverage License

A clean, intuitive, and reliable Python wrapper for the Paystack API.

This library was built to eliminate repetitive boilerplate when integrating Paystack into your Python projects, while emphasizing modern design, robust error handling, and a test-driven foundation. Covers the full API with clean abstractions, so you can focus on building features—not handling payments.

See the Paystack API docs for reference, and explore the Usage Guide for practical examples.


Installation

pip install paystack-api-wrapper

Quick Start

  1. Initialize the client with your secret key

    (Best practice: store your secret key as an environment variable PAYSTACK_SECRET_KEY.)

    import os
    from paystack import PaystackClient, APIError
    
    secret_key = os.getenv("PAYSTACK_SECRET_KEY")
    client = PaystackClient(secret_key=secret_key)
  2. Make an API call (e.g., initialize a transaction):

    try:
        data, meta = client.transactions.initialize(
            email="customer@example.com",
            amount=50000,  # amount in kobo
            currency="NGN"
        )
        print("Transaction initialized:", data)
        # {'authorization_url': '...', 'access_code': '...', 'reference': '...'}
    
    except APIError as e:
        print(f"API error: {e.message}")

See the Full Usage Guide for details on handling responses, pagination, and advanced error management.


Available APIs

The client exposes all major Paystack API resources as properties:

  • apple_pay
  • bulk_charges
  • charge
  • customers
  • dedicated_virtual_accounts
  • direct_debit
  • disputes
  • integration
  • miscellaneous
  • payment_pages
  • payment_requests
  • plans
  • products
  • refunds
  • settlements
  • subaccounts
  • subscriptions
  • terminal
  • transactions
  • transaction_splits
  • transfers
  • transfers_control
  • transfer_recipients
  • verification
  • virtual_terminal

Contributing

Contributions are welcome! Check out the contributing guide to get started.


License

MIT © Joseph Ezekiel – see LICENSE for details.

About

Modern, test-driven Python client for the Paystack API — built to save you time integrating into Python projects.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages