Async Payment Requests Module
This wrapper class facilitates asynchronous integration with Paystack Payment Requests API. The Payment Requests API allows you manage requests for payment of goods and services.
- class AsyncPaymentRequestClientAPI(secret_key: str = None)
Paystack Payment Request API Reference: Payment Requests
- async archive_payment_request(code: str)→ PayStackResponse
Archive a payment request
- Parameters:
code (str) – Payment request code
- Returns:
The response from the API.
- Return type:
PayStackResponse object
- async create_payment_request(customer: str, amount: int, draft: bool, has_invoice: bool, send_notification: bool, due_date: date | None = None, description: str | None = None, line_items: List[Dict[str, Any]] | None = None, tax: List[Dict[str, Any]] | None = None, currency: str | None = None, invoice_number: int | None = None, split_code: str | None = None)→ PayStackResponse
Create a payment request for a transaction
- Parameters:
customer (str) – Customer’S ID
amount (int) – Amount of the payment request
draft (bool) – Whether the payment request is a draft
has_invoice (bool) – Whether the payment request has an invoice
send_notification (bool) – Whether the payment request should send a notification
due_date (date, optional) – Due date of the payment request
description (str, optional) – Description of the payment request
line_items (List[Dict[str, Any]], optional) – List of line items of the payment request
tax (List[Dict[str, Any]], optional) – List of taxes of the payment request
currency (str, optional) – Currency of the payment request
invoice_number (int, optional) – Invoice number of the payment request
split_code (str, optional) – Split code of the transaction split
- Returns:
The response from the API.
- Return type:
PayStackResponse object
- async fetch_payment_request(id_or_code: str)→ PayStackResponse
Fetch a payment request
- Parameters:
id_or_code (str) – Payment request ID or code
- Returns:
The response from the API.
- Return type:
PayStackResponse object
- async finalize_payment_request(code: str, send_notification: bool)→ PayStackResponse
Finalize a payment request
- Parameters:
code (str) – Payment request code
send_notification (bool) – Whether the notification should be sent
- Returns:
The response from the API.
- Return type:
PayStackResponse object
- async list_payment_requests(per_page: int | None = 50, page: int | None = 1, customer: str | None = None, status: str | None = None, currency: str | None = None, include_archive: bool | None = True, from_date: date | None = None, to_date: date | None = None)→ PayStackResponse
List payment requests
- Parameters:
per_page (int, optional) – Number of results per page. (default: 50)
page (int, optional) – Page number. (default: 1)
customer (str, optional) – Filter by Customer ID
status (str, optional) – Filter by payment request status
currency (str, optional) – Filter by currency
include_archive (bool, optional) – Whether to include archived payment requests. (default: True)
from_date (date, optional) – Filter by from date
to_date (date, optional) – Filter by to date
- Returns:
The response from the API
- Return type:
PayStackResponse object
- async payment_request_total()→ PayStackResponse
Get the total number of payment requests
- Returns:
The response from the API
- Return type:
PayStackResponse object
- async send_notification(code: str)→ PayStackResponse
Send a notification to a payment request to a customer
- Parameters:
code (str) – Payment request code
- Returns:
The response from the API.
- Return type:
PayStackResponse object
- async update_payment_request(id_or_code: str, customer: str | None = None, amount: int | None = None, description: str | None = None, line_items: List[Dict[str, Any]] | None = None, tax: List[Dict[str, Any]] | None = None, currency: str | None = None, due_date: date | None = None, send_notification: bool | None = True, draft: bool | None = True, invoice_number: int | None = None, split_code: str | None = None)→ PayStackResponse
Update a payment request
- Parameters:
id_or_code (str) – Payment request ID or code
customer (str, optional) – Customer ID
amount (int, optional) – Amount of the payment request
description (str, optional) – Description of the payment request
line_items (List[Dict[str, Any]], optional) – List of line items of the payment request
tax (List[Dict[str, Any]], optional) – List of taxes of the payment request
currency (str, optional) – Currency of the payment request
due_date (date, optional) – Due date of the payment request
send_notification (bool, optional) – Whether the notification should be sent. (default: True)
draft (bool, optional) – Whether the payment request is a draft. (default: True)
invoice_number (int, optional) – Invoice number of the payment request
split_code (str, optional) – Split code of the transaction split
- Returns:
The response from the API
- Return type:
PayStackResponse object
- async verify_payment_request(code: str)→ PayStackResponse
Verify a payment request
- Parameters:
code (str) – Payment request code
- Returns:
The response from the API.
- Return type:
PayStackResponse object
The line_items is a List type that contains a dictionary of key-value pairs as seen in the usage.
The keys are: name, amount and quantity.
Usage
[{“name”:”item 1”, “amount”:2000, “quantity”: 1}]
The tax is follows same as list_items parameter except with the keys are different.
The keys are: name and amount.
Usage
[{“name”:”VAT”, “amount”:200}]
See documentation on how to pass string values of enum classes Tool kit module in the status parameter.