Refunds
April 10, 2026 ยท View on GitHub
(refunds)
Overview
Available Operations
list
List refunds.
Scopes: refunds:read refunds:write
Example Usage
from polar_sdk import Polar
with Polar(
access_token="<YOUR_BEARER_TOKEN_HERE>",
) as polar:
res = polar.refunds.list(organization_id="1dbfc517-0bbf-4301-9ba8-555ca42b9737", page=1, limit=10)
while res is not None:
# Handle items
res = res.next()
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | OptionalNullable[models.RefundIDFilter] | :heavy_minus_sign: | Filter by refund ID. |
organization_id | OptionalNullable[models.RefundsListQueryParamOrganizationIDFilter] | :heavy_minus_sign: | Filter by organization ID. |
order_id | OptionalNullable[models.OrderIDFilter] | :heavy_minus_sign: | Filter by order ID. |
subscription_id | OptionalNullable[models.QueryParamSubscriptionIDFilter] | :heavy_minus_sign: | Filter by subscription ID. |
customer_id | OptionalNullable[models.RefundsListQueryParamCustomerIDFilter] | :heavy_minus_sign: | Filter by customer ID. |
external_customer_id | OptionalNullable[models.RefundsListQueryParamExternalCustomerIDFilter] | :heavy_minus_sign: | Filter by customer external ID. |
succeeded | OptionalNullable[bool] | :heavy_minus_sign: | Filter by succeeded. |
page | Optional[int] | :heavy_minus_sign: | Page number, defaults to 1. |
limit | Optional[int] | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. |
sorting | List[models.RefundSortProperty] | :heavy_minus_sign: | 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. |
retries | Optional[utils.RetryConfig] | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
Response
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| models.HTTPValidationError | 422 | application/json |
| models.SDKError | 4XX, 5XX | */* |
create
Create a refund.
Scopes: refunds:write
Example Usage
import polar_sdk
from polar_sdk import Polar
with Polar(
access_token="<YOUR_BEARER_TOKEN_HERE>",
) as polar:
res = polar.refunds.create(request={
"order_id": "<value>",
"reason": polar_sdk.RefundReason.CUSTOMER_REQUEST,
"amount": 90,
})
# Handle response
print(res)
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
request | models.RefundCreate | :heavy_check_mark: | The request object to use for the request. |
retries | Optional[utils.RetryConfig] | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
Response
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| models.RefundedAlready | 403 | application/json |
| models.HTTPValidationError | 422 | application/json |
| models.SDKError | 4XX, 5XX | */* |