# Dodo Payments Integration via LowCodeAPI

## Overview

Payment processing

## Base Endpoint

```
https://api.lowcodeapi.com/dodopayments/
```

## Authentication

LowCodeAPI handles authentication automatically. You only need to:

1. **Sign up** at [https://dodopayments.com](https://dodopayments.com)
2. **Get your credentials** from [https://dodopayments.com](https://dodopayments.com)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests

The `api_token` is your LowCodeAPI authentication token. LowCodeAPI will automatically:
- Fetch your Dodo Payments API key
- Apply it to each request with `Authorization` header

**Auth Type**: API Key (Authorization header)

## API Categories

- Payment Processing

## Common Endpoints

### Category: Payments

#### List Payments

**Method**: `GET` | **LowCodeAPI Path**: `/payments`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/payments?...&api_token={api_token}
```


**Query Parameters**:

| `page_size` | number | No | Page size default is 10 max is 100 |
| `page_number` | number | No | Page number default is 0 |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/payments?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/payments/get-payments](https://docs.dodopayments.com/api-reference/payments/get-payments)

---

#### Get Payment Detail

**Method**: `GET` | **LowCodeAPI Path**: `/payments/payment_id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/payments/payment_id?payment_id={payment_id}&api_token={api_token}
```


**Path Parameters**:

| `payment_id` | string | Payment Id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/payments/payment_id?payment_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/payments/get-payments-1](https://docs.dodopayments.com/api-reference/payments/get-payments-1)

---

### Category: Licenses

#### Activate License

**Method**: `POST` | **LowCodeAPI Path**: `/licenses/activate`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/licenses/activate&api_token={api_token}
```


**Body Parameters**:

| `name` | string | Yes | Name |
| `license_key` | string | Yes | License Key |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/dodopayments/licenses/activate?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"value","license_key":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/licenses/activate-license](https://docs.dodopayments.com/api-reference/licenses/activate-license)

---

#### Deactivate License

**Method**: `POST` | **LowCodeAPI Path**: `/licenses/deactivate`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/licenses/deactivate&api_token={api_token}
```


**Body Parameters**:

| `license_key` | string | Yes | License Key |
| `license_key_instance_id` | string | Yes | License Key Instance Id |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/dodopayments/licenses/deactivate?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"license_key":"value","license_key_instance_id":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/licenses/deactivate-license](https://docs.dodopayments.com/api-reference/licenses/deactivate-license)

---

#### Validate License

**Method**: `POST` | **LowCodeAPI Path**: `/licenses/validate`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/licenses/validate&api_token={api_token}
```


**Body Parameters**:

| `license_key` | string | Yes | License Key |
| `license_key_instance_id` | string | No | License Key Instance Id |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/dodopayments/licenses/validate?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"license_key":"value","license_key_instance_id":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/licenses/validate-license](https://docs.dodopayments.com/api-reference/licenses/validate-license)

---

#### Get License Keys

**Method**: `GET` | **LowCodeAPI Path**: `/license_keys`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/license_keys?...&api_token={api_token}
```


**Query Parameters**:

| `status` | string | No | Filter by license key status |
| `page_size` | number | No | Page size default is 10 max is 100 |
| `product_id` | object | No | Filter by product ID |
| `customer_id` | string | No | Filter by customer ID |
| `page_number` | number | No | Page number default is 0 |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/license_keys?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/licenses/get-license-keys](https://docs.dodopayments.com/api-reference/licenses/get-license-keys)

---

#### Get License Key

**Method**: `GET` | **LowCodeAPI Path**: `/license_keys/id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/license_keys/id?id={id}&api_token={api_token}
```


**Path Parameters**:

| `id` | string | License key ID |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/license_keys/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/licenses/get-license-key](https://docs.dodopayments.com/api-reference/licenses/get-license-key)

---

#### Update License Key

**Method**: `PATCH` | **LowCodeAPI Path**: `/license_keys/id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/license_keys/id?id={id}&api_token={api_token}
```


**Path Parameters**:

| `id` | string | License key ID |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Body Parameters**:

| `disabled` | boolean | No | Disabled |
| `expires_at` | string | No | Expires At |
| `activations_limit` | number | No | Activations Limit |


**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/dodopayments/license_keys/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"disabled":"value","expires_at":"value","activations_limit":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/licenses/update-license-key](https://docs.dodopayments.com/api-reference/licenses/update-license-key)

---

#### Get License Key Instances

**Method**: `GET` | **LowCodeAPI Path**: `/license_key_instances`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/license_key_instances?...&api_token={api_token}
```


**Query Parameters**:

| `page_size` | number | No | Page size default is 10 max is 100 |
| `page_number` | number | No | Page number default is 0 |
| `license_key_id` | string | No | Filter by license key ID |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/license_key_instances?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/licenses/get-license-key-instances](https://docs.dodopayments.com/api-reference/licenses/get-license-key-instances)

---

#### Update License Key Instance

**Method**: `PATCH` | **LowCodeAPI Path**: `/license_key_instances/id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/license_key_instances/id?id={id}&api_token={api_token}
```


**Path Parameters**:

| `id` | string | License key instance ID |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Body Parameters**:

| `name` | string | Yes | Name |


**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/dodopayments/license_key_instances/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/licenses/update-license-key-instance](https://docs.dodopayments.com/api-reference/licenses/update-license-key-instance)

---

#### Get License Key Instance

**Method**: `GET` | **LowCodeAPI Path**: `/license_key_instances/id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/license_key_instances/id?id={id}&api_token={api_token}
```


**Path Parameters**:

| `id` | string | License key instance ID |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/license_key_instances/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/licenses/get-license-key-instance](https://docs.dodopayments.com/api-reference/licenses/get-license-key-instance)

---

### Category: Subscriptions

#### Get Subscription Detail

**Method**: `GET` | **LowCodeAPI Path**: `/subscriptions/subscription_id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/subscriptions/subscription_id?subscription_id={subscription_id}&api_token={api_token}
```


**Path Parameters**:

| `subscription_id` | string | Subscription Id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/subscriptions/subscription_id?subscription_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/subscriptions/get-subscriptions](https://docs.dodopayments.com/api-reference/subscriptions/get-subscriptions)

---

#### Update Subscription

**Method**: `PATCH` | **LowCodeAPI Path**: `/subscriptions/subscription_id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/subscriptions/subscription_id?subscription_id={subscription_id}&api_token={api_token}
```


**Path Parameters**:

| `subscription_id` | string | Subscription Id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Body Parameters**:

| `status` | string | No | Status |
| `metadata` | string | No | Metadata |


**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/dodopayments/subscriptions/subscription_id?subscription_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status":"value","metadata":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/subscriptions/patch-subscriptions](https://docs.dodopayments.com/api-reference/subscriptions/patch-subscriptions)

---

#### List subscriptions

**Method**: `GET` | **LowCodeAPI Path**: `/subscriptions`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/subscriptions?...&api_token={api_token}
```


**Query Parameters**:

| `page_size` | number | No | Page size default is 10 max is 100 |
| `page_number` | number | No | Page number default is 0 |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/subscriptions?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/subscriptions/get-subscriptions-1](https://docs.dodopayments.com/api-reference/subscriptions/get-subscriptions-1)

---

#### Create Subscription

**Method**: `POST` | **LowCodeAPI Path**: `/subscriptions`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/subscriptions&api_token={api_token}
```


**Body Parameters**:

| `billing` | object | Yes | Billing |
| `customer` | object | Yes | Customer |
| `metadata` | object | No | Metadata |
| `quantity` | number | Yes | Quantity |
| `product_id` | string | Yes | Product Id |
| `return_url` | string | No | Return Url |
| `payment_link` | boolean | No | Payment Link |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/dodopayments/subscriptions?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"billing":"value","customer":"value","metadata":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/subscriptions/post-subscriptions](https://docs.dodopayments.com/api-reference/subscriptions/post-subscriptions)

---

### Category: Customers

#### Create Customer

**Method**: `POST` | **LowCodeAPI Path**: `/customers`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/customers&api_token={api_token}
```


**Body Parameters**:

| `name` | string | Yes | Name |
| `email` | string | Yes | Email |
| `phone_number` | string | No | Phone Number |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/dodopayments/customers?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"value","email":"value","phone_number":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/customers/create-customer](https://docs.dodopayments.com/api-reference/customers/create-customer)

---

#### List Customers

**Method**: `GET` | **LowCodeAPI Path**: `/customers`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/customers?...&api_token={api_token}
```


**Query Parameters**:

| `page_size` | number | No | Page size default is 10 max is 100 |
| `page_number` | number | No | Page number default is 0 |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/customers?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/customers/get-customers](https://docs.dodopayments.com/api-reference/customers/get-customers)

---

#### Get Customer Detail

**Method**: `GET` | **LowCodeAPI Path**: `/customers/customer_id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/customers/customer_id?customer_id={customer_id}&api_token={api_token}
```


**Path Parameters**:

| `customer_id` | string | Customer Id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/customers/customer_id?customer_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/customers/get-customers-1](https://docs.dodopayments.com/api-reference/customers/get-customers-1)

---

#### Patch Customer

**Method**: `PATCH` | **LowCodeAPI Path**: `/customers/customer_id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/customers/customer_id?customer_id={customer_id}&api_token={api_token}
```


**Path Parameters**:

| `customer_id` | string | Customer Id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Body Parameters**:

| `name` | string | No | Name |
| `phone_number` | string | No | Phone Number |


**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/dodopayments/customers/customer_id?customer_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"value","phone_number":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/customers/patch-customer](https://docs.dodopayments.com/api-reference/customers/patch-customer)

---

### Category: Webhooks

#### List Webhook Events

**Method**: `GET` | **LowCodeAPI Path**: `/webhook_events`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/webhook_events?...&api_token={api_token}
```


**Query Parameters**:

| `limit` | number | No | Min : 1, Max : 100, default 10 |
| `object_id` | string | No | Get events history of a specific object like payment/subscription/refund/dispute |
| `page_size` | number | No | Page size default is 10 max is 100 |
| `page_number` | number | No | Page number default is 0 |
| `created_at_gte` | string | No | Get events after this created time |
| `created_at_lte` | string | No | Get events created before this time |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/webhook_events?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/webhooks/get-webhook_events](https://docs.dodopayments.com/api-reference/webhooks/get-webhook_events)

---

#### Get Webhook Event Detail

**Method**: `GET` | **LowCodeAPI Path**: `/webhook_events/webhook_event_id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/webhook_events/webhook_event_id?webhook_event_id={webhook_event_id}&api_token={api_token}
```


**Path Parameters**:

| `webhook_event_id` | string | Webhook Event Id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/webhook_events/webhook_event_id?webhook_event_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/webhooks/get-webhook_event-detail](https://docs.dodopayments.com/api-reference/webhooks/get-webhook_event-detail)

---

#### Outgoing Webhooks

**Method**: `POST` | **LowCodeAPI Path**: `/your-webhook-url`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/your-webhook-url&api_token={api_token}
```


**Body Parameters**:

| `data` | object | Yes | Data |
| `type` | string | Yes | Event types for Dodo events |
| `timestamp` | object | Yes | The timestamp of when the event occurred (not necessarily the same of when it was delivered) |
| `business_id` | string | Yes | Business Id |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/dodopayments/your-webhook-url?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"data":"value","type":"value","timestamp":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/webhooks/outgoing-webhooks](https://docs.dodopayments.com/api-reference/webhooks/outgoing-webhooks)

---

### Category: Products

#### Update Product Images

**Method**: `PUT` | **LowCodeAPI Path**: `/products/id/images`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/products/id/images?id={id}&api_token={api_token}
```


**Path Parameters**:

| `id` | string | Product Id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X PUT "https://api.lowcodeapi.com/dodopayments/products/id/images?id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/products/put-products-images](https://docs.dodopayments.com/api-reference/products/put-products-images)

---

#### List Products

**Method**: `GET` | **LowCodeAPI Path**: `/products`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/products?...&api_token={api_token}
```


**Query Parameters**:

| `page_size` | number | No | Page size default is 10 max is 100 |
| `page_number` | number | No | Page number default is 0 |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/products?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/products/get-products](https://docs.dodopayments.com/api-reference/products/get-products)

---

#### Create Product

**Method**: `POST` | **LowCodeAPI Path**: `/products`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/products&api_token={api_token}
```


**Body Parameters**:

| `name` | string | No | Name |
| `price` | string | Yes | Price |
| `description` | string | No | Description |
| `tax_category` | string | Yes | Represents the different categories of taxation applicable to various products and services |
| `license_key_enabled` | boolean | No | Put true to generate and send license key to your customer. Default is false |
| `license_key_duration` | object | No | License key Duration |
| `license_key_activations_limit` | number | No | The number of times the license key can be activated |
| `license_key_activation_message` | string | No | License Key Activation Message |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/dodopayments/products?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"value","price":"value","description":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/products/post-products](https://docs.dodopayments.com/api-reference/products/post-products)

---

#### Get Product Detail

**Method**: `GET` | **LowCodeAPI Path**: `/products/id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/products/id?id={id}&api_token={api_token}
```


**Path Parameters**:

| `id` | string | Product Id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/products/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/products/get-products-1](https://docs.dodopayments.com/api-reference/products/get-products-1)

---

#### Update Product

**Method**: `PATCH` | **LowCodeAPI Path**: `/products/id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/products/id?id={id}&api_token={api_token}
```


**Path Parameters**:

| `id` | string | ID |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Body Parameters**:

| `name` | string | No | Name |
| `price` | object | No | Price |
| `description` | string | No | Description |
| `tax_category` | string | No | Represents the different categories of taxation applicable to various products and services |
| `license_key_duration` | object | No | License key Duration |
| `license_key_activations_limit` | number | No | License Key Activations Limit |
| `license_key_activation_message` | string | No | License Key Activation Message |


**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/dodopayments/products/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"value","price":"value","description":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/products/patch-products](https://docs.dodopayments.com/api-reference/products/patch-products)

---

### Category: Refunds

#### List Refunds

**Method**: `GET` | **LowCodeAPI Path**: `/refunds`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/refunds?...&api_token={api_token}
```


**Query Parameters**:

| `page_size` | number | No | Page size default is 10 max is 100 |
| `page_number` | number | No | Page number default is 0 |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/refunds?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/refunds/get-refunds](https://docs.dodopayments.com/api-reference/refunds/get-refunds)

---

#### Create Refund

**Method**: `POST` | **LowCodeAPI Path**: `/refunds`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/refunds&api_token={api_token}
```


**Body Parameters**:

| `amount` | number | No | Amount |
| `reason` | string | No | Reason |
| `payment_id` | string | Yes | Payment Id |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/dodopayments/refunds?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"amount":"value","reason":"value","payment_id":"value"}'
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/refunds/post-refunds](https://docs.dodopayments.com/api-reference/refunds/post-refunds)

---

#### Get Refund Detail

**Method**: `GET` | **LowCodeAPI Path**: `/refunds/refund_id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/refunds/refund_id?refund_id={refund_id}&api_token={api_token}
```


**Path Parameters**:

| `refund_id` | string | Refund Id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/refunds/refund_id?refund_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/refunds/get-refunds-1](https://docs.dodopayments.com/api-reference/refunds/get-refunds-1)

---

### Category: Disputes

#### List Disputes

**Method**: `GET` | **LowCodeAPI Path**: `/disputes`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/disputes?...&api_token={api_token}
```


**Query Parameters**:

| `page_size` | number | No | Page size default is 10 max is 100 |
| `page_number` | number | No | Page number default is 0 |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/disputes?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/disputes/get-disputes](https://docs.dodopayments.com/api-reference/disputes/get-disputes)

---

#### Get Dispute Detail

**Method**: `GET` | **LowCodeAPI Path**: `/disputes/dispute_id`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/disputes/dispute_id?dispute_id={dispute_id}&api_token={api_token}
```


**Path Parameters**:

| `dispute_id` | string | Dispute Id |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/disputes/dispute_id?dispute_id=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/disputes/get-disputes-1](https://docs.dodopayments.com/api-reference/disputes/get-disputes-1)

---

### Category: Payouts

#### List Payouts

**Method**: `GET` | **LowCodeAPI Path**: `/payouts`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/payouts?...&api_token={api_token}
```


**Query Parameters**:

| `page_size` | number | No | Page size default is 10 max is 100 |
| `page_number` | number | No | Page number default is 0 |


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/payouts?...&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/payouts/get-payouts](https://docs.dodopayments.com/api-reference/payouts/get-payouts)

---

### Category: Miscellaneous

#### Supported Countries

**Method**: `GET` | **LowCodeAPI Path**: `/checkout/supported_countries`

**Full URL**:
```
https://api.lowcodeapi.com/dodopayments/checkout/supported_countries&api_token={api_token}
```


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/dodopayments/checkout/supported_countries&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.dodopayments.com/api-reference/misc/supported-countries](https://docs.dodopayments.com/api-reference/misc/supported-countries)

---

## Usage Examples

### Example 1: Basic Usage

Get started with Dodo Payments API by making your first request.

```bash
# Your example code here
# This demonstrates basic usage
curl -X GET "https://api.lowcodeapi.com/dodopayments/?api_token=YOUR_API_TOKEN"
```

### Example 2: Advanced Usage

Explore more advanced features and parameters.

```bash
# Your example code here
# This demonstrates advanced usage
curl -X GET "https://api.lowcodeapi.com/dodopayments/?api_token=YOUR_API_TOKEN"
```

## Complete Endpoint Reference

For a complete list of all endpoints and their parameters, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/dodopayments/definition`
- **Official Provider Documentation**: [https://docs.dodopayments.com/api-reference](https://docs.dodopayments.com/api-reference)

## Rate Limits & Best Practices

- Check your Dodo Payments account for specific rate limits
- Use appropriate error handling and retry logic
- Cache responses when appropriate to reduce API calls

## Error Handling

Standard HTTP status codes apply:
- `400` - Invalid request parameters
- `401` - Unauthorized (check your API key)
- `429` - Rate limit exceeded
- `500` - Internal server error