Transfers API
Transfer Recipients
- class djpaystack.api.transfer_recipients.TransferRecipientAPI(client)[source]
Bases:
BaseAPITransfer Recipients API
- create(type: str, name: str, account_number: str, bank_code: str, description: str | None = None, currency: str | None = None, authorization_code: str | None = None, metadata: Dict | None = None) Dict[str, Any][source]
Create transfer recipient
- bulk_create(batch: List[Dict[str, Any]]) Dict[str, Any][source]
Create multiple transfer recipients
- list(per_page: int = 50, page: int | None = None, from_date: str | None = None, to_date: str | None = None) Dict[str, Any][source]
List transfer recipients
Transfers
- class djpaystack.api.transfers.TransferAPI(client)[source]
Bases:
BaseAPITransfers API
- initiate(source: str, amount: int, recipient: str, reason: str | None = None, currency: str | None = None, reference: str | None = None) Dict[str, Any][source]
Initiate transfer
- bulk_transfer(source: str, transfers: List[Dict[str, Any]]) Dict[str, Any][source]
Initiate bulk transfer
Transfer Control
Quick Reference
from djpaystack import PaystackClient
client = PaystackClient()
# Create recipient
client.transfer_recipients.create(
type='nuban', name='John Doe',
account_number='0123456789', bank_code='058',
)
# Initiate transfer
client.transfers.initiate(
source='balance', amount=100000,
recipient='RCP_xxxxx', reason='Payout',
)
# Finalize (if OTP required)
client.transfers.finalize(transfer_code='TRF_xxxxx', otp='123456')
# Bulk transfer
client.transfers.bulk(
source='balance',
transfers=[
{'amount': 50000, 'recipient': 'RCP_xxx', 'reference': 'ref-1'},
{'amount': 75000, 'recipient': 'RCP_yyy', 'reference': 'ref-2'},
],
)
# Transfer control
client.transfer_control.check_balance()
client.transfer_control.enable_otp()
client.transfer_control.disable_otp()
client.transfer_control.resend_otp(transfer_code=..., reason=...)