Core API
- Checkout
- Checkout Links
- Custom Checkout Fields
- Customers
- Subscriptions
- Orders
- Discounts
- Refunds
- Products
- Benefits
- License Keys
- Files
- Organizations
- Metrics
Customer Portal API
- GETGet Customer
- GETGet Organization
- Sessions
- Subscriptions
- Orders
- License Keys
- File Downloads
Webhook Events
- Customer Events
- Billing Events
- Organization Events
OAuth 2.0 API
- Connect
- Clients
List Orders
List orders of the authenticated customer.
Scopes: customer_portal:read
customer_portal:write
package main
import(
"context"
polargo "github.com/polarsource/polar-go"
"github.com/polarsource/polar-go/models/operations"
"os"
"log"
)
func main() {
ctx := context.Background()
s := polargo.New()
res, err := s.CustomerPortal.Orders.List(ctx, operations.CustomerPortalOrdersListRequest{
OrganizationID: polargo.Pointer(operations.CreateCustomerPortalOrdersListQueryParamOrganizationIDFilterArrayOfStr(
[]string{
"1dbfc517-0bbf-4301-9ba8-555ca42b9737",
},
)),
}, operations.CustomerPortalOrdersListSecurity{
CustomerSession: os.Getenv("POLAR_CUSTOMER_SESSION"),
})
if err != nil {
log.Fatal(err)
}
if res.ListResourceCustomerOrder != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}
{
"items": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": "paid",
"paid": true,
"subtotal_amount": 123,
"discount_amount": 123,
"net_amount": 123,
"amount": 123,
"tax_amount": 123,
"total_amount": 123,
"refunded_amount": 123,
"refunded_tax_amount": 123,
"currency": "<string>",
"customer_id": "<string>",
"product_id": "<string>",
"product_price_id": "<string>",
"subscription_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": "month",
"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": "month",
"price_currency": "<string>",
"price_amount": 123,
"legacy": true
}
],
"benefits": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"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>"
}
],
"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"
},
"bio": "<string>",
"company": "<string>",
"blog": "<string>",
"location": "<string>",
"twitter_username": "<string>",
"pledge_minimum_amount": 123,
"pledge_badge_show_amount": true,
"default_upfront_split_to_contributors": 123,
"profile_settings": {
"enabled": true,
"description": "<string>",
"featured_projects": [
"<string>"
],
"featured_organizations": [
"<string>"
],
"links": [
"<string>"
],
"subscribe": {
"promote": true,
"show_count": true,
"count_free": true
},
"accent_color": "<string>"
}
}
},
"product_price": {
"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": "month",
"price_currency": "<string>",
"price_amount": 123,
"legacy": true
},
"subscription": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"amount": 123,
"currency": "<string>",
"recurring_interval": "month",
"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>",
"price_id": "<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>"
}
]
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}
Authorizations
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.
Query Parameters
Filter by organization ID.
"1dbfc517-0bbf-4301-9ba8-555ca42b9737"
Filter by product ID.
Filter by product billing type. recurring
will filter data corresponding to subscriptions creations or renewals. one_time
will filter data corresponding to one-time purchases.
one_time
, recurring
one_time
, recurring
Filter by subscription ID.
Search by product or organization name.
Page number, defaults to 1.
x > 0
Size of a page, defaults to 10. Maximum is 100.
x > 0
Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign -
before the criteria name to sort by descending order.
created_at
, -created_at
, amount
, -amount
, net_amount
, -net_amount
, product
, -product
, subscription
, -subscription
Response
Creation timestamp of the object.
Last modification timestamp of the object.
pending
, paid
, refunded
, partially_refunded
Whether the order has been paid for.
true
Amount in cents, before discounts and taxes.
Discount amount in cents.
Amount in cents, after discounts but before taxes.
Amount in cents, after discounts but before taxes.
Sales tax amount in cents.
Amount in cents, after discounts and taxes.
Amount refunded in cents.
Sales tax refunded in cents.
Creation timestamp of the object.
Last modification timestamp of the object.
The ID of the product.
The name of the product.
The description of the product.
The recurring interval of the product. If None
, the product is a one-time purchase.
month
, year
Whether the product is a subscription.
Whether the product is archived and no longer available.
The ID of the organization owning the product.
List of prices for this product.
A recurring price for a product, i.e. a subscription.
Deprecated: The recurring interval should be set on the product itself.
Creation timestamp of the object.
Last modification timestamp of the object.
The ID of the price.
"fixed"
Whether the price is archived and no longer available.
The ID of the product owning the price.
The type of the price.
"recurring"
The recurring interval of the price.
month
, year
The currency.
The price in cents.
List of benefits granted by the product.
Creation timestamp of the object.
Last modification timestamp of the object.
The ID of the benefit.
The type of the benefit.
custom
, discord
, github_repository
, downloadables
, license_keys
The description of the benefit.
Whether the benefit is selectable when creating a product.
Whether the benefit is deletable.
The ID of the organization owning the benefit.
List of medias associated to the product.
File to be used as a product media file.
The ID of the object.
"product_media"
Creation timestamp of the object.
Last modification timestamp of the object.
The organization ID.
"1dbfc517-0bbf-4301-9ba8-555ca42b9737"
Organization name shown in checkout, customer portal, emails etc.
Unique organization slug in checkout, customer portal and credit card statements.
Avatar URL shown in checkout, customer portal, emails etc.
Public support email.
Official website of the organization.
Links to social profiles.
The social platform of the URL
x
, github
, facebook
, instagram
, youtube
, tiktok
, linkedin
, other
The URL to the organization profile
1 - 2083
When the business details were submitted.
Organization feature settings
If this organization has issue funding enabled
Settings related to subscriptions management
invoice
, prorate
Settings for the organization profile
If this organization has a profile enabled
A description of the organization
160
A list of featured projects
A list of featured organizations
A list of links associated with the organization
Subscription promotion settings
Accent color for the organization
A recurring price for a product, i.e. a subscription.
Deprecated: The recurring interval should be set on the product itself.
Creation timestamp of the object.
Last modification timestamp of the object.
The ID of the price.
"fixed"
Whether the price is archived and no longer available.
The ID of the product owning the price.
The type of the price.
"recurring"
The recurring interval of the price.
month
, year
The currency.
The price in cents.
Creation timestamp of the object.
Last modification timestamp of the object.
The ID of the object.
The amount of the subscription.
The currency of the subscription.
The interval at which the subscription recurs.
month
, year
The status of the subscription.
incomplete
, incomplete_expired
, trialing
, active
, past_due
, canceled
, unpaid
The start timestamp of the current billing period.
The end timestamp of the current billing period.
Whether the subscription will be canceled at the end of the current period.
The timestamp when the subscription was canceled. The subscription might still be active if cancel_at_period_end
is true
.
The timestamp when the subscription started.
The timestamp when the subscription will end.
The timestamp when the subscription ended.
The ID of the subscribed customer.
The ID of the subscribed product.
The ID of the applied discount, if any.
customer_service
, low_quality
, missing_features
, switched_service
, too_complex
, too_expensive
, unused
, other
Line items composing the order.
An order line item.
Creation timestamp of the object.
Last modification timestamp of the object.
The ID of the object.
Description of the line item charge.
Amount in cents, before discounts and taxes.
Sales tax amount in cents.
Whether this charge is due to a proration.
Associated price ID, if any.
Was this page helpful?
package main
import(
"context"
polargo "github.com/polarsource/polar-go"
"github.com/polarsource/polar-go/models/operations"
"os"
"log"
)
func main() {
ctx := context.Background()
s := polargo.New()
res, err := s.CustomerPortal.Orders.List(ctx, operations.CustomerPortalOrdersListRequest{
OrganizationID: polargo.Pointer(operations.CreateCustomerPortalOrdersListQueryParamOrganizationIDFilterArrayOfStr(
[]string{
"1dbfc517-0bbf-4301-9ba8-555ca42b9737",
},
)),
}, operations.CustomerPortalOrdersListSecurity{
CustomerSession: os.Getenv("POLAR_CUSTOMER_SESSION"),
})
if err != nil {
log.Fatal(err)
}
if res.ListResourceCustomerOrder != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}
{
"items": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"status": "paid",
"paid": true,
"subtotal_amount": 123,
"discount_amount": 123,
"net_amount": 123,
"amount": 123,
"tax_amount": 123,
"total_amount": 123,
"refunded_amount": 123,
"refunded_tax_amount": 123,
"currency": "<string>",
"customer_id": "<string>",
"product_id": "<string>",
"product_price_id": "<string>",
"subscription_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": "month",
"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": "month",
"price_currency": "<string>",
"price_amount": 123,
"legacy": true
}
],
"benefits": [
{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"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>"
}
],
"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"
},
"bio": "<string>",
"company": "<string>",
"blog": "<string>",
"location": "<string>",
"twitter_username": "<string>",
"pledge_minimum_amount": 123,
"pledge_badge_show_amount": true,
"default_upfront_split_to_contributors": 123,
"profile_settings": {
"enabled": true,
"description": "<string>",
"featured_projects": [
"<string>"
],
"featured_organizations": [
"<string>"
],
"links": [
"<string>"
],
"subscribe": {
"promote": true,
"show_count": true,
"count_free": true
},
"accent_color": "<string>"
}
}
},
"product_price": {
"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": "month",
"price_currency": "<string>",
"price_amount": 123,
"legacy": true
},
"subscription": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"amount": 123,
"currency": "<string>",
"recurring_interval": "month",
"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>",
"price_id": "<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>"
}
]
}
],
"pagination": {
"total_count": 123,
"max_page": 123
}
}