Customers API

Customers API https://paystack.com/docs/api/customer/

class djpaystack.api.customers.CustomerAPI(client)[source]

Bases: BaseAPI

Paystack Customers API

The Customers API allows you create and manage customers on your integration.

create(email: str, first_name: str | None = None, last_name: str | None = None, phone: str | None = None, metadata: Dict[str, Any] | None = None, **kwargs) Dict[str, Any][source]

Create a customer

Parameters:
  • email – Customer’s email address

  • first_name – Customer’s first name

  • last_name – Customer’s last name

  • phone – Customer’s phone number

  • metadata – Additional customer data

Returns:

Created customer data

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

List customers

Parameters:
  • per_page – Records per page

  • page – Page number

  • from_date – Start date (YYYY-MM-DD)

  • to_date – End date (YYYY-MM-DD)

Returns:

List of customers

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

Fetch a customer

Parameters:

email_or_code – Customer email or customer code

Returns:

Customer details

update(code: str, first_name: str | None = None, last_name: str | None = None, phone: str | None = None, metadata: Dict[str, Any] | None = None, **kwargs) Dict[str, Any][source]

Update a customer

Parameters:
  • code – Customer code

  • first_name – Customer’s first name

  • last_name – Customer’s last name

  • phone – Customer’s phone number

  • metadata – Additional customer data

Returns:

Updated customer data

validate(code: str, first_name: str, last_name: str, type: str, value: str, country: str, bvn: str | None = None, bank_code: str | None = None, account_number: str | None = None, middle_name: str | None = None) Dict[str, Any][source]

Validate a customer’s identity

Parameters:
  • code – Customer code

  • first_name – Customer’s first name

  • last_name – Customer’s last name

  • type – Identification type (bvn, bank_account)

  • value – Identification value

  • country – Country code (NG, GH)

  • bvn – Bank Verification Number

  • bank_code – Customer’s bank code

  • account_number – Customer’s account number

  • middle_name – Customer’s middle name

Returns:

Validation response

set_risk_action(customer: str, risk_action: str) Dict[str, Any][source]

Whitelist or blacklist a customer

Parameters:
  • customer – Customer code or email

  • risk_action – Action to take (default, allow, deny)

Returns:

Response data

deactivate_authorization(authorization_code: str) Dict[str, Any][source]

Deactivate an authorization

Parameters:

authorization_code – Authorization code to deactivate

Returns:

Response data

Quick Reference

from djpaystack import PaystackClient
client = PaystackClient()

client.customers.create(email=..., first_name=..., last_name=..., phone=...)
client.customers.list(page=1, per_page=50)
client.customers.fetch(email_or_code=...)
client.customers.update(code=..., first_name=...)
client.customers.validate(code=..., first_name=..., last_name=..., type=..., value=..., country=...)
client.customers.set_risk_action(customer=..., risk_action='allow')  # or 'deny'
client.customers.deactivate_authorization(authorization_code=...)