POST
/
v1
/
customer-portal
/
orders
/
{id}
/
invoice
import polar_sdk
from polar_sdk import Polar


with Polar() as polar:

    res = polar.customer_portal.orders.generate_invoice(security=polar_sdk.CustomerPortalOrdersGenerateInvoiceSecurity(
        customer_session="<YOUR_BEARER_TOKEN_HERE>",
    ), id="<value>")

    # Handle response
    print(res)
"<any>"

Once the invoice is generated, it’s permanent and cannot be modified.

Make sure the billing details (name and address) are correct before generating the invoice. You can update them before generating the invoice by calling the PATCH /v1/customer-portal/orders/{id} endpoint.

After successfully calling this endpoint, you get a 202 response, meaning the generation of the invoice has been scheduled. It usually only takes a few seconds before you can retrieve the invoice using the GET /v1/customer-portal/orders/{id}/invoice endpoint.

If you want a reliable notification when the invoice is ready, you can listen to the order.updated webhook and check the is_invoice_generated field.

Authorizations

Authorization
string
header
required

Customer session tokens are specific tokens that are used to authenticate customers on your organization. You can create those sessions programmatically using the Create Customer Session endpoint.

Path Parameters

id
string
required

The order ID.

Response

202
application/json

Successful Response

The response is of type any.