Payment Management API
Overview
The Payment module provides methods to retrieve payment information and transaction details.
Methods
list()
List all payments.
Signature:
def list() -> PaymentList
Returns:
PaymentList: List of Payment objects
Raises:
APIError: If API returns an errorNetworkError: If network error occurs
Example:
from steadfast import SteadfastClient
client = SteadfastClient(api_key="key", secret_key="secret")
payments = client.payments.list()
for payment in payments.data:
print(f"Payment {payment.id}: {payment.amount}")
get()
Get payment details with associated consignments.
Signature:
def get(payment_id: int) -> PaymentDetails
Parameters:
payment_id(int): Payment ID
Returns:
PaymentDetails: Payment object with consignments list
Raises:
ValidationError: If payment_id is invalidNotFoundError: If payment not foundAPIError: If API returns an errorNetworkError: If network error occurs
Example:
payment = client.payments.get(1)
print(f"Payment amount: {payment.amount}")
print(f"Consignments: {len(payment.consignments)}")
for consignment in payment.consignments:
print(f" - Consignment {consignment['consignment_id']}: {consignment['amount']}")
Payment Objects
Payment
Field |
Type |
Description |
|---|---|---|
id |
int |
Payment ID |
amount |
float |
Payment amount |
created_at |
str |
Creation timestamp |
updated_at |
str |
Last update timestamp |
PaymentDetails
Field |
Type |
Description |
|---|---|---|
id |
int |
Payment ID |
amount |
float |
Payment amount |
consignments |
list |
List of consignment objects |
created_at |
str |
Creation timestamp |
updated_at |
str |
Last update timestamp |
Error Handling
from steadfast import SteadfastClient, ValidationError, NotFoundError, APIError
client = SteadfastClient(api_key="key", secret_key="secret")
try:
payment = client.payments.get(1)
print(f"Amount: {payment.amount}")
except ValidationError as e:
print(f"Invalid input: {e}")
except NotFoundError as e:
print(f"Payment not found: {e}")
except APIError as e:
print(f"API error: {e}")
Usage Examples
Get total payments
from steadfast import SteadfastClient
client = SteadfastClient(api_key="key", secret_key="secret")
payments = client.payments.list()
total = sum(p.amount for p in payments.data)
print(f"Total payments: {total}")
Find payments by amount range
payments = client.payments.list()
large_payments = [p for p in payments.data if p.amount >= 5000]
print(f"Large payments (>= 5000): {len(large_payments)}")
for payment in large_payments:
print(f"Payment {payment.id}: {payment.amount}")
Analyze payment details
payment = client.payments.get(1)
print(f"Payment ID: {payment.id}")
print(f"Total Amount: {payment.amount}")
print(f"Number of Consignments: {len(payment.consignments)}")
total_consignment_amount = sum(c['amount'] for c in payment.consignments)
print(f"Total Consignment Amount: {total_consignment_amount}")
if total_consignment_amount == payment.amount:
print("Payment amount matches consignments")
else:
print("Payment amount mismatch!")