Miscellaneous API

Utility endpoints: bank lists, countries, and more.

class djpaystack.api.miscellaneous.MiscellaneousAPI(client)[source]

Bases: BaseAPI

Miscellaneous API

list_banks(country: str = 'nigeria', use_cursor: bool = False, per_page: int = 50, page: int | None = None, pay_with_bank_transfer: bool | None = None, pay_with_bank: bool | None = None, enabled_for_verification: bool | None = None, type: str | None = None, currency: str | None = None) Dict[str, Any][source]

List banks

list_providers(pay_with_bank_transfer: bool | None = None) Dict[str, Any][source]

List providers

list_countries() Dict[str, Any][source]

List countries

list_states(country: int | None = None) Dict[str, Any][source]

List states

Integration API

class djpaystack.api.integration.IntegrationAPI(client)[source]

Bases: BaseAPI

Integration API

fetch_timeout() Dict[str, Any][source]

Fetch payment session timeout

update_timeout(timeout: int) Dict[str, Any][source]

Update payment session timeout

Bulk Charges API

class djpaystack.api.bulk_charges.BulkChargeAPI(client)[source]

Bases: BaseAPI

Bulk Charges API

initiate(body: List[Dict[str, Any]]) Dict[str, Any][source]

Initiate bulk charge

list(per_page: int = 50, page: int | None = None, from_date: str | None = None, to_date: str | None = None) Dict[str, Any][source]

List bulk charges

fetch(id_or_code: str) Dict[str, Any][source]

Fetch bulk charge

fetch_charges(id_or_code: str, status: str | None = None, per_page: int = 50, page: int | None = None, from_date: str | None = None, to_date: str | None = None) Dict[str, Any][source]

Fetch charges in a batch

pause(batch_code: str) Dict[str, Any][source]

Pause bulk charge

resume(batch_code: str) Dict[str, Any][source]

Resume bulk charge

Products API

class djpaystack.api.products.ProductAPI(client)[source]

Bases: BaseAPI

Products API

create(name: str, description: str, price: int, currency: str, unlimited: bool | None = None, quantity: int | None = None) Dict[str, Any][source]

Create product

list(per_page: int = 50, page: int | None = None, from_date: str | None = None, to_date: str | None = None) Dict[str, Any][source]

List products

fetch(id: str) Dict[str, Any][source]

Fetch product

update(id: str, name: str | None = None, description: str | None = None, price: int | None = None, currency: str | None = None, unlimited: bool | None = None, quantity: int | None = None) Dict[str, Any][source]

Update product

Settlements API

class djpaystack.api.settlements.SettlementAPI(client)[source]

Bases: BaseAPI

Settlements API

list(per_page: int = 50, page: int | None = None, from_date: str | None = None, to_date: str | None = None, subaccount: str | None = None) Dict[str, Any][source]

List settlements

fetch_transactions(id: str, per_page: int = 50, page: int | None = None, from_date: str | None = None, to_date: str | None = None) Dict[str, Any][source]

Fetch settlement transactions

Quick Reference

from djpaystack import PaystackClient
client = PaystackClient()

# Miscellaneous
client.miscellaneous.list_banks(country='nigeria', currency='NGN')
client.miscellaneous.list_countries()
client.miscellaneous.list_states(country='NG')

# Integration
client.integration.fetch_payment_session_timeout()
client.integration.update_payment_session_timeout(timeout=30)

# Bulk charges
client.bulk_charges.initiate(charges=[...])
client.bulk_charges.list()
client.bulk_charges.fetch(id_or_code=...)
client.bulk_charges.fetch_charges_in_batch(id_or_code=...)
client.bulk_charges.pause(batch_code=...)
client.bulk_charges.resume(batch_code=...)

# Products
client.products.create(name=..., description=..., price=..., currency=...)
client.products.list()
client.products.fetch(id=...)
client.products.update(id=..., name=...)

# Settlements
client.settlements.list()
client.settlements.fetch_transactions(id=...)