pypresscart.models.orders¶
Order models.
Classes
|
A line item in a checkout request. |
|
Body for |
|
A line item on a returned order. |
|
Order returned by |
|
Minimal outlet reference embedded in line items. |
|
- class pypresscart.models.orders.CheckoutLineItem(*, product_id, quantity=1, is_add_on=False, linked_order_line_item_id=None, **extra_data)[source]¶
Bases:
PresscartModelA line item in a checkout request.
- Parameters:
- class pypresscart.models.orders.CheckoutRequest(*, profile_id, line_items, discount=0, **extra_data)[source]¶
Bases:
PresscartModelBody for
POST /orders/checkout.- Parameters:
profile_id (str)
line_items (list[CheckoutLineItem])
discount (float | None)
extra_data (Any)
- line_items: list[CheckoutLineItem]¶
- class pypresscart.models.orders.LineItem(*, id=None, order_id=None, product_id, quantity, price=None, is_add_on=None, linked_order_line_item_id=None, name=None, product_type_name=None, type_id=None, product_type_prefix=None, outlet=None, includes=None, created_at=None, updated_at=None, deleted_at=None, **extra_data)[source]¶
Bases:
PresscartModelA line item on a returned order.
The Presscart API does not populate
idon the line items returned byPOST /orders/checkout(the order has been created but the line items haven’t been persisted asOrderItemrecords yet — those are surfaced byGET /order-itemsafter payment). Bothidandorder_idare therefore optional so unpaid checkout responses parse cleanly.- Parameters:
id (str | None)
order_id (str | None)
product_id (str)
quantity (int)
price (float | None)
is_add_on (bool | None)
linked_order_line_item_id (str | None)
name (str | None)
product_type_name (str | None)
type_id (str | None)
product_type_prefix (str | None)
outlet (OutletRef | None)
includes (list[IncludeItem] | None)
created_at (datetime | None)
updated_at (datetime | None)
deleted_at (datetime | None)
extra_data (Any)
- includes: list[IncludeItem] | None¶
- class pypresscart.models.orders.Order(*, id, profile_id=None, client_id=None, checkout_by_id=None, team_id=None, total=None, subtotal=None, processing_fee=None, discount=None, credits_applied=None, coupon=None, client_secret=None, date_paid=None, status=None, reference_number=None, external_reference_number=None, customer_invoice_id=None, customer_invoice_source=None, customer_invoice_date=None, customer_invoice_url=None, is_guest_order=None, guest_email=None, account_owner_email=None, guest_stripe_customer_id=None, metadata=None, created_at=None, updated_at=None, deleted_at=None, team=None, name=None, email=None, checkout_link=None, line_items=[], **extra_data)[source]¶
Bases:
PresscartModelOrder returned by
GET /orders//orders/{id}andPOST /orders/checkout.Team info is encoded differently per endpoint:
GET /orders(list) returns a nestedteam: { name, contact_email }block, whileGET /orders/{id}flattens it to top-levelnameandemail. Both shapes are modeled; whichever the endpoint emits will be populated and the other will beNone.- Parameters:
id (str)
profile_id (str | None)
client_id (str | None)
checkout_by_id (str | None)
team_id (str | None)
total (float | None)
subtotal (float | None)
processing_fee (float | None)
discount (float | None)
credits_applied (float | None)
coupon (str | None)
client_secret (str | None)
date_paid (datetime | None)
status (str | None)
reference_number (str | None)
external_reference_number (str | None)
customer_invoice_id (str | None)
customer_invoice_source (str | None)
customer_invoice_date (datetime | None)
customer_invoice_url (str | None)
is_guest_order (bool | None)
guest_email (str | None)
account_owner_email (str | None)
guest_stripe_customer_id (str | None)
created_at (datetime | None)
updated_at (datetime | None)
deleted_at (datetime | None)
team (TeamRef | None)
name (str | None)
email (str | None)
checkout_link (str | None)
extra_data (Any)
- class pypresscart.models.orders.OutletRef(*, id=None, name=None, logo=None, website_url=None, **extra_data)[source]¶
Bases:
PresscartModelMinimal outlet reference embedded in line items.
- Parameters: