PATCH
/
v1
/
customer-portal
/
orders
/
{id}
Typescript (SDK)
import { Polar } from "@polar-sh/sdk";

const polar = new Polar();

async function run() {
  const result = await polar.customerPortal.orders.update({
    customerSession: process.env["POLAR_CUSTOMER_SESSION"] ?? "",
  }, {
    id: "<value>",
    customerOrderUpdate: {
      billingName: "<value>",
      billingAddress: {
        country: "US",
      },
    },
  });

  console.log(result);
}

run();
{
  "id": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "modified_at": "2023-11-07T05:31:56Z",
  "status": "paid",
  "paid": true,
  "subtotal_amount": 123,
  "discount_amount": 123,
  "net_amount": 123,
  "tax_amount": 123,
  "total_amount": 123,
  "refunded_amount": 123,
  "refunded_tax_amount": 123,
  "currency": "<string>",
  "billing_reason": "purchase",
  "billing_name": "<string>",
  "billing_address": {
    "line1": "<string>",
    "line2": "<string>",
    "postal_code": "<string>",
    "city": "<string>",
    "state": "<string>",
    "country": "US"
  },
  "is_invoice_generated": true,
  "customer_id": "<string>",
  "product_id": "<string>",
  "discount_id": "<string>",
  "subscription_id": "<string>",
  "checkout_id": "<string>",
  "user_id": "<string>",
  "product": {
    "created_at": "2023-11-07T05:31:56Z",
    "modified_at": "2023-11-07T05:31:56Z",
    "id": "<string>",
    "name": "<string>",
    "description": "<string>",
    "recurring_interval": "day",
    "is_recurring": true,
    "is_archived": true,
    "organization_id": "<string>",
    "prices": [
      {
        "created_at": "2023-11-07T05:31:56Z",
        "modified_at": "2023-11-07T05:31:56Z",
        "id": "<string>",
        "amount_type": "<string>",
        "is_archived": true,
        "product_id": "<string>",
        "type": "<string>",
        "recurring_interval": "day",
        "price_currency": "<string>",
        "price_amount": 123,
        "legacy": true
      }
    ],
    "benefits": [
      {
        "id": "<string>",
        "created_at": "2023-11-07T05:31:56Z",
        "modified_at": "2023-11-07T05:31:56Z",
        "type": "custom",
        "description": "<string>",
        "selectable": true,
        "deletable": true,
        "organization_id": "<string>"
      }
    ],
    "medias": [
      {
        "id": "<string>",
        "organization_id": "<string>",
        "name": "<string>",
        "path": "<string>",
        "mime_type": "<string>",
        "size": 123,
        "storage_version": "<string>",
        "checksum_etag": "<string>",
        "checksum_sha256_base64": "<string>",
        "checksum_sha256_hex": "<string>",
        "last_modified_at": "2023-11-07T05:31:56Z",
        "version": "<string>",
        "service": "<string>",
        "is_uploaded": true,
        "created_at": "2023-11-07T05:31:56Z",
        "size_readable": "<string>",
        "public_url": "<string>"
      }
    ],
    "organization": {
      "created_at": "2023-11-07T05:31:56Z",
      "modified_at": "2023-11-07T05:31:56Z",
      "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
      "name": "<string>",
      "slug": "<string>",
      "avatar_url": "<string>",
      "email": "<string>",
      "website": "<string>",
      "socials": [
        {
          "platform": "x",
          "url": "<string>"
        }
      ],
      "status": "created",
      "details_submitted_at": "2023-11-07T05:31:56Z",
      "feature_settings": {
        "issue_funding_enabled": false
      },
      "subscription_settings": {
        "allow_multiple_subscriptions": true,
        "allow_customer_updates": true,
        "proration_behavior": "invoice"
      },
      "notification_settings": {
        "new_order": true,
        "new_subscription": true
      }
    }
  },
  "subscription": {
    "created_at": "2023-11-07T05:31:56Z",
    "modified_at": "2023-11-07T05:31:56Z",
    "id": "<string>",
    "amount": 123,
    "currency": "<string>",
    "recurring_interval": "day",
    "status": "incomplete",
    "current_period_start": "2023-11-07T05:31:56Z",
    "current_period_end": "2023-11-07T05:31:56Z",
    "cancel_at_period_end": true,
    "canceled_at": "2023-11-07T05:31:56Z",
    "started_at": "2023-11-07T05:31:56Z",
    "ends_at": "2023-11-07T05:31:56Z",
    "ended_at": "2023-11-07T05:31:56Z",
    "customer_id": "<string>",
    "product_id": "<string>",
    "discount_id": "<string>",
    "checkout_id": "<string>",
    "customer_cancellation_reason": "customer_service",
    "customer_cancellation_comment": "<string>"
  },
  "items": [
    {
      "created_at": "2023-11-07T05:31:56Z",
      "modified_at": "2023-11-07T05:31:56Z",
      "id": "<string>",
      "label": "<string>",
      "amount": 123,
      "tax_amount": 123,
      "proration": true,
      "product_price_id": "<string>"
    }
  ],
  "next_payment_attempt_at": "2023-11-07T05:31:56Z"
}

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<uuid4>
required

The order ID.

Body

application/json

Schema to update an order.

billing_name
string | null
required

The name of the customer that should appear on the invoice. Can't be updated after the invoice is generated.

billing_address
object | null
required

The address of the customer that should appear on the invoice. Can't be updated after the invoice is generated.

Response

Successful Response

id
string<uuid4>
required

The ID of the object.

created_at
string<date-time>
required

Creation timestamp of the object.

modified_at
string<date-time> | null
required

Last modification timestamp of the object.

status
enum<string>
required
Available options:
pending,
paid,
refunded,
partially_refunded
paid
boolean
required

Whether the order has been paid for.

Examples:

true

subtotal_amount
integer
required

Amount in cents, before discounts and taxes.

discount_amount
integer
required

Discount amount in cents.

net_amount
integer
required

Amount in cents, after discounts but before taxes.

tax_amount
integer
required

Sales tax amount in cents.

total_amount
integer
required

Amount in cents, after discounts and taxes.

refunded_amount
integer
required

Amount refunded in cents.

refunded_tax_amount
integer
required

Sales tax refunded in cents.

currency
string
required
billing_reason
enum<string>
required
Available options:
purchase,
subscription_create,
subscription_cycle,
subscription_update
billing_name
string | null
required

The name of the customer that should appear on the invoice.

billing_address
object | null
required
is_invoice_generated
boolean
required

Whether an invoice has been generated for this order.

customer_id
string<uuid4>
required
product_id
string<uuid4>
required
discount_id
string<uuid4> | null
required
subscription_id
string<uuid4> | null
required
checkout_id
string<uuid4> | null
required
user_id
string<uuid4>
required
deprecated
product
object
required
subscription
object | null
required
items
OrderItemSchema · object[]
required

Line items composing the order.

next_payment_attempt_at
string<date-time> | null

When the next payment retry is scheduled