> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# POST /pricing-preview

**Preview prices**

Previews calculations for one or more prices. Typically used for building pricing pages.

You can provide location information when previewing prices. You must provide this if you want Paddle to calculate tax or [automatically localize prices](https://developer.paddle.com/build/products/offer-localized-pricing). You can provide one of:

* `customer_ip_address`: Paddle fetches location using the IP address to calculate totals.
* `address`: Paddle uses the country and ZIP code (where supplied) to calculate totals.
* `customer_id`, `address_id`, `business_id`: Paddle uses existing customer data to calculate totals. Typically used for logged-in customers.

If successful, your response includes the data you sent with a `details` object that includes totals for the supplied prices.

Each line item includes `formatted_unit_totals` and `formatted_totals` objects that return totals formatted for the country or region you're working with, including the currency symbol.

You can work with the preview prices operation using the [`Paddle.PricePreview()`](https://developer.paddle.com/paddlejs/methods/paddle-pricepreview) method in Paddle.js. When working with `Paddle.PricePreview()`, request and response fields are `camelCase` rather than `snake_case`.

**Required permissions:** `transaction.read`

## Request body

- `customer_id`: string | null — Paddle ID of the customer that this preview is for, prefixed with `ctm_`. (pattern: `^ctm_[a-z\d]{26}$`)
- `address_id`: string | null — Paddle ID of the address that this preview is for, prefixed with `add_`. Send one of `address_id`, `customer_ip_address`, or the `address` object when previewing. (pattern: `^add_[a-z\d]{26}$`)
- `business_id`: string | null — Paddle ID of the business that this preview is for, prefixed with `biz_`. (pattern: `^biz_[a-z\d]{26}$`)
- `currency_code`: string | null — Supported three-letter ISO 4217 currency code.
  - `USD` — United States Dollar
  - `EUR` — Euro
  - `GBP` — Pound Sterling
  - `JPY` — Japanese Yen
  - `AUD` — Australian Dollar
  - `CAD` — Canadian Dollar
  - `CHF` — Swiss Franc
  - `HKD` — Hong Kong Dollar
  - `SGD` — Singapore Dollar
  - `SEK` — Swedish Krona
  - `ARS` — Argentine Peso
  - `BRL` — Brazilian Real
  - `CLP` — Chilean Peso
  - `CNY` — Chinese Yuan
  - `COP` — Colombian Peso
  - `CZK` — Czech Koruna
  - `DKK` — Danish Krone
  - `HUF` — Hungarian Forint
  - `ILS` — Israeli Shekel
  - `INR` — Indian Rupee
  - `KRW` — South Korean Won
  - `MXN` — Mexican Peso
  - `NOK` — Norwegian Krone
  - `NZD` — New Zealand Dollar
  - `PEN` — Peruvian Sol
  - `PLN` — Polish Zloty
  - `RUB` — Russian Ruble
  - `THB` — Thai Baht
  - `TRY` — Turkish Lira
  - `TWD` — New Taiwan Dollar
  - `UAH` — Ukrainian Hryvnia
  - `VND` — Vietnamese Dong
  - `ZAR` — South African Rand
- `discount_id`: string | null — Paddle ID of the discount applied to this preview, prefixed with `dsc_`. (pattern: `^dsc_[a-z\d]{26}$`)
- `address`: object | null — Address for this preview. Send one of `address_id`, `customer_ip_address`, or the `address` object when previewing.
  - `postal_code`: string | null — ZIP or postal code of this address. Include for more accurate tax calculations. (Max length: 200)
  - `country_code` (required) — Supported two-letter ISO 3166-1 alpha-2 country code for this address.
    - Country code (supported) — Two-letter code for a country that Paddle supports sales to. Typically an ISO 3166-1 alpha-2 code, though Paddle uses a small number of codes that ISO doesn't currently assign.
      - `AD` — Andorra
      - `AE` — United Arab Emirates
      - `AG` — Antigua and Barbuda
      - `AI` — Anguilla
      - `AL` — Albania
      - `AM` — Armenia
      - `AO` — Angola
      - `AR` — Argentina
      - `AS` — American Samoa
      - `AT` — Austria
      - `AU` — Australia
      - `AW` — Aruba
      - `AX` — Åland Islands
      - `AZ` — Azerbaijan
      - `BA` — Bosnia and Herzegovina
      - `BB` — Barbados
      - `BD` — Bangladesh
      - `BE` — Belgium
      - `BF` — Burkina Faso
      - `BG` — Bulgaria
      - `BH` — Bahrain
      - `BI` — Burundi
      - `BJ` — Benin
      - `BL` — Saint Barthélemy
      - `BM` — Bermuda
      - `BN` — Brunei
      - `BO` — Bolivia
      - `BQ` — Caribbean Netherlands (Bonaire, Sint Eustatius, and Saba)
      - `BR` — Brazil
      - `BS` — Bahamas
      - `BT` — Bhutan
      - `BV` — Bouvet Island
      - `BW` — Botswana
      - `BZ` — Belize
      - `CA` — Canada
      - `CC` — Cocos Islands
      - `CG` — Republic of Congo
      - `CH` — Switzerland
      - `CI` — Côte d'Ivoire (Ivory Coast)
      - `CK` — Cook Islands
      - `CL` — Chile
      - `CM` — Cameroon
      - `CN` — China
      - `CO` — Colombia
      - `CR` — Costa Rica
      - `CV` — Cape Verde
      - `CW` — Curaçao
      - `CX` — Christmas Island
      - `CY` — Cyprus
      - `CZ` — Czechia (Czech Republic)
      - `DE` — Germany
      - `DJ` — Djibouti
      - `DK` — Denmark
      - `DM` — Dominica
      - `DO` — Dominican Republic
      - `DZ` — Algeria
      - `EC` — Ecuador
      - `EE` — Estonia
      - `EG` — Egypt
      - `EH` — Western Sahara
      - `ER` — Eritrea
      - `ES` — Spain
      - `ET` — Ethiopia
      - `FI` — Finland
      - `FJ` — Fiji
      - `FK` — Falkland Islands
      - `FM` — Micronesia
      - `FO` — Faroe Islands
      - `FR` — France
      - `GA` — Gabon
      - `GB` — United Kingdom
      - `GD` — Grenada
      - `GE` — Georgia
      - `GF` — French Guiana
      - `GG` — Guernsey
      - `GH` — Ghana
      - `GI` — Gibraltar
      - `GL` — Greenland
      - `GM` — Gambia
      - `GN` — Guinea
      - `GP` — Guadeloupe
      - `GQ` — Equatorial Guinea
      - `GR` — Greece
      - `GS` — South Georgia and the South Sandwich Islands
      - `GT` — Guatemala
      - `GU` — Guam
      - `GW` — Guinea-Bissau
      - `GY` — Guyana
      - `HK` — Hong Kong
      - `HM` — Heard Island and McDonald Islands
      - `HN` — Honduras
      - `HR` — Croatia
      - `HU` — Hungary
      - `ID` — Indonesia
      - `IE` — Ireland
      - `IL` — Israel
      - `IM` — Isle of Man
      - `IN` — India
      - `IO` — British Indian Ocean Territory
      - `IQ` — Iraq
      - `IS` — Iceland
      - `IT` — Italy
      - `JE` — Jersey
      - `JM` — Jamaica
      - `JO` — Jordan
      - `JP` — Japan
      - `KE` — Kenya
      - `KG` — Kyrgyzstan
      - `KH` — Cambodia
      - `KI` — Kiribati
      - `KM` — Comoros
      - `KN` — Saint Kitts and Nevis
      - `KR` — South Korea
      - `KW` — Kuwait
      - `KY` — Cayman Islands
      - `KZ` — Kazakhstan
      - `LA` — Lao People's Democratic Republic (Laos)
      - `LB` — Lebanon
      - `LC` — Saint Lucia
      - `LI` — Liechtenstein
      - `LK` — Sri Lanka
      - `LR` — Liberia
      - `LS` — Lesotho
      - `LT` — Lithuania
      - `LU` — Luxembourg
      - `LV` — Latvia
      - `MA` — Morocco
      - `MC` — Monaco
      - `MD` — Moldova
      - `ME` — Montenegro
      - `MF` — Saint Martin
      - `MG` — Madagascar
      - `MH` — Marshall Islands
      - `MK` — Macedonia
      - `MN` — Mongolia
      - `MO` — Macao
      - `MP` — Northern Mariana Islands
      - `MQ` — Martinique
      - `MR` — Mauritania
      - `MS` — Montserrat
      - `MT` — Malta
      - `MU` — Mauritius
      - `MV` — Maldives
      - `MW` — Malawi
      - `MX` — Mexico
      - `MY` — Malaysia
      - `MZ` — Mozambique
      - `NA` — Namibia
      - `NC` — New Caledonia
      - `NE` — Niger
      - `NF` — Norfolk Island
      - `NG` — Nigeria
      - `NL` — Netherlands
      - `NO` — Norway
      - `NP` — Nepal
      - `NR` — Nauru
      - `NU` — Niue
      - `NZ` — New Zealand
      - `OM` — Oman
      - `PA` — Panama
      - `PE` — Peru
      - `PF` — French Polynesia
      - `PG` — Papua New Guinea
      - `PH` — Philippines
      - `PK` — Pakistan
      - `PL` — Poland
      - `PM` — Saint Pierre and Miquelon
      - `PN` — Pitcairn
      - `PR` — Puerto Rico
      - `PS` — Palestinian territories
      - `PT` — Portugal
      - `PW` — Palau
      - `PY` — Paraguay
      - `QA` — Qatar
      - `RE` — Reunion
      - `RO` — Romania
      - `RS` — Republic of Serbia
      - `RW` — Rwanda
      - `SA` — Saudi Arabia
      - `SB` — Solomon Islands
      - `SC` — Seychelles
      - `SE` — Sweden
      - `SG` — Singapore
      - `SH` — Saint Helena
      - `SI` — Slovenia
      - `SJ` — Svalbard and Jan Mayen
      - `SK` — Slovakia
      - `SL` — Sierra Leone
      - `SM` — San Marino
      - `SN` — Senegal
      - `SR` — Suriname
      - `ST` — São Tomé and Príncipe
      - `SV` — El Salvador
      - `SX` — Sint Maarten
      - `SZ` — Swaziland
      - `TC` — Turks and Caicos Islands
      - `TD` — Chad
      - `TF` — French Southern and Antarctic Lands
      - `TG` — Togo
      - `TH` — Thailand
      - `TJ` — Tajikistan
      - `TK` — Tokelau
      - `TL` — Timor-Leste
      - `TM` — Turkmenistan
      - `TN` — Tunisia
      - `TO` — Tonga
      - `TR` — Turkey
      - `TT` — Trinidad and Tobago
      - `TV` — Tuvalu
      - `TW` — Taiwan
      - `TZ` — Tanzania
      - `UA` — Ukraine
      - `UG` — Uganda
      - `UM` — United States Minor Outlying Islands
      - `US` — United States
      - `UY` — Uruguay
      - `UZ` — Uzbekistan
      - `VA` — Holy See (Vatican City)
      - `VC` — Saint Vincent and the Grenadines
      - `VG` — British Virgin Islands
      - `VI` — U.S. Virgin Islands
      - `VN` — Vietnam
      - `VU` — Vanuatu
      - `WF` — Wallis and Futuna
      - `WS` — Samoa
      - `XK` — Kosovo
      - `YT` — Mayotte
      - `ZA` — South Africa
      - `ZM` — Zambia
    - Country code (unsupported) — Two-letter code for a country that Paddle doesn't support sales to. Typically an ISO 3166-1 alpha-2 code, though Paddle uses a small number of codes that ISO doesn't currently assign.
      - `AF` — Afghanistan
      - `AQ` — Antarctica
      - `AN` — Netherlands Antilles. Withdrawn ISO 3166-1 code, succeeded by BQ, CW and SX.
      - `BY` — Belarus
      - `CD` — Democratic Republic of Congo
      - `CF` — Central African Republic
      - `CU` — Cuba
      - `CS` — Serbia and Montenegro. Withdrawn ISO 3166-1 code, succeeded by RS and ME.
      - `HT` — Haiti
      - `IR` — Iran
      - `KP` — North Korea
      - `LY` — Libya
      - `ML` — Mali
      - `MM` — Myanmar (Burma)
      - `NI` — Nicaragua
      - `RU` — Russia
      - `SO` — Somalia
      - `SS` — South Sudan
      - `SD` — Sudan
      - `SY` — Syria
      - `VE` — Venezuela
      - `YE` — Yemen
      - `ZW` — Zimbabwe
- `customer_ip_address`: string | null — IP address for this transaction preview. Send one of `address_id`, `customer_ip_address`, or the `address` object when previewing.
- `items`: array (required) — List of items to preview price calculations for. (Items: 1–100)
  - `price_id`: string — Paddle ID for the price to add to this transaction, prefixed with `pri_`. (pattern: `^pri_[a-z\d]{26}$`)
  - `quantity`: integer (required) — Quantity of the item to preview. (Min: 1)

### Request example

```json
{
  "items": [
    {
      "quantity": 20,
      "price_id": "pri_01gsz8z1q1n00f12qt82y31smh"
    },
    {
      "quantity": 1,
      "price_id": "pri_01h1vjfevh5etwq3rb416a23h2"
    }
  ],
  "currency_code": "USD",
  "discount_id": "dsc_01gtgztp8fpchantd5g1wrksa3",
  "customer_ip_address": "34.232.58.13"
}
```

## Response (200)

- `data`: object (required)
  - `customer_id`: string | null (required) — Paddle ID of the customer that this preview is for, prefixed with `ctm_`. (pattern: `^ctm_[a-z\d]{26}$`)
  - `address_id`: string | null (required) — Paddle ID of the address that this preview is for, prefixed with `add_`. Send one of `address_id`, `customer_ip_address`, or the `address` object when previewing. (pattern: `^add_[a-z\d]{26}$`)
  - `business_id`: string | null (required) — Paddle ID of the business that this preview is for, prefixed with `biz_`. (pattern: `^biz_[a-z\d]{26}$`)
  - `currency_code`: string | null (required) — Supported three-letter ISO 4217 currency code.
    - `USD` — United States Dollar
    - `EUR` — Euro
    - `GBP` — Pound Sterling
    - `JPY` — Japanese Yen
    - `AUD` — Australian Dollar
    - `CAD` — Canadian Dollar
    - `CHF` — Swiss Franc
    - `HKD` — Hong Kong Dollar
    - `SGD` — Singapore Dollar
    - `SEK` — Swedish Krona
    - `ARS` — Argentine Peso
    - `BRL` — Brazilian Real
    - `CLP` — Chilean Peso
    - `CNY` — Chinese Yuan
    - `COP` — Colombian Peso
    - `CZK` — Czech Koruna
    - `DKK` — Danish Krone
    - `HUF` — Hungarian Forint
    - `ILS` — Israeli Shekel
    - `INR` — Indian Rupee
    - `KRW` — South Korean Won
    - `MXN` — Mexican Peso
    - `NOK` — Norwegian Krone
    - `NZD` — New Zealand Dollar
    - `PEN` — Peruvian Sol
    - `PLN` — Polish Zloty
    - `RUB` — Russian Ruble
    - `THB` — Thai Baht
    - `TRY` — Turkish Lira
    - `TWD` — New Taiwan Dollar
    - `UAH` — Ukrainian Hryvnia
    - `VND` — Vietnamese Dong
    - `ZAR` — South African Rand
  - `discount_id`: string | null (required) — Paddle ID of the discount applied to this preview, prefixed with `dsc_`. (pattern: `^dsc_[a-z\d]{26}$`)
  - `address`: object | null (required) — Address for this preview. Send one of `address_id`, `customer_ip_address`, or the `address` object when previewing.
    - `postal_code`: string | null (required) — ZIP or postal code of this address. Include for more accurate tax calculations. (Max length: 200)
    - `country_code` (required) — Supported two-letter ISO 3166-1 alpha-2 country code for this address.
      - Country code (supported) — Two-letter code for a country that Paddle supports sales to. Typically an ISO 3166-1 alpha-2 code, though Paddle uses a small number of codes that ISO doesn't currently assign.
        - `AD` — Andorra
        - `AE` — United Arab Emirates
        - `AG` — Antigua and Barbuda
        - `AI` — Anguilla
        - `AL` — Albania
        - `AM` — Armenia
        - `AO` — Angola
        - `AR` — Argentina
        - `AS` — American Samoa
        - `AT` — Austria
        - `AU` — Australia
        - `AW` — Aruba
        - `AX` — Åland Islands
        - `AZ` — Azerbaijan
        - `BA` — Bosnia and Herzegovina
        - `BB` — Barbados
        - `BD` — Bangladesh
        - `BE` — Belgium
        - `BF` — Burkina Faso
        - `BG` — Bulgaria
        - `BH` — Bahrain
        - `BI` — Burundi
        - `BJ` — Benin
        - `BL` — Saint Barthélemy
        - `BM` — Bermuda
        - `BN` — Brunei
        - `BO` — Bolivia
        - `BQ` — Caribbean Netherlands (Bonaire, Sint Eustatius, and Saba)
        - `BR` — Brazil
        - `BS` — Bahamas
        - `BT` — Bhutan
        - `BV` — Bouvet Island
        - `BW` — Botswana
        - `BZ` — Belize
        - `CA` — Canada
        - `CC` — Cocos Islands
        - `CG` — Republic of Congo
        - `CH` — Switzerland
        - `CI` — Côte d'Ivoire (Ivory Coast)
        - `CK` — Cook Islands
        - `CL` — Chile
        - `CM` — Cameroon
        - `CN` — China
        - `CO` — Colombia
        - `CR` — Costa Rica
        - `CV` — Cape Verde
        - `CW` — Curaçao
        - `CX` — Christmas Island
        - `CY` — Cyprus
        - `CZ` — Czechia (Czech Republic)
        - `DE` — Germany
        - `DJ` — Djibouti
        - `DK` — Denmark
        - `DM` — Dominica
        - `DO` — Dominican Republic
        - `DZ` — Algeria
        - `EC` — Ecuador
        - `EE` — Estonia
        - `EG` — Egypt
        - `EH` — Western Sahara
        - `ER` — Eritrea
        - `ES` — Spain
        - `ET` — Ethiopia
        - `FI` — Finland
        - `FJ` — Fiji
        - `FK` — Falkland Islands
        - `FM` — Micronesia
        - `FO` — Faroe Islands
        - `FR` — France
        - `GA` — Gabon
        - `GB` — United Kingdom
        - `GD` — Grenada
        - `GE` — Georgia
        - `GF` — French Guiana
        - `GG` — Guernsey
        - `GH` — Ghana
        - `GI` — Gibraltar
        - `GL` — Greenland
        - `GM` — Gambia
        - `GN` — Guinea
        - `GP` — Guadeloupe
        - `GQ` — Equatorial Guinea
        - `GR` — Greece
        - `GS` — South Georgia and the South Sandwich Islands
        - `GT` — Guatemala
        - `GU` — Guam
        - `GW` — Guinea-Bissau
        - `GY` — Guyana
        - `HK` — Hong Kong
        - `HM` — Heard Island and McDonald Islands
        - `HN` — Honduras
        - `HR` — Croatia
        - `HU` — Hungary
        - `ID` — Indonesia
        - `IE` — Ireland
        - `IL` — Israel
        - `IM` — Isle of Man
        - `IN` — India
        - `IO` — British Indian Ocean Territory
        - `IQ` — Iraq
        - `IS` — Iceland
        - `IT` — Italy
        - `JE` — Jersey
        - `JM` — Jamaica
        - `JO` — Jordan
        - `JP` — Japan
        - `KE` — Kenya
        - `KG` — Kyrgyzstan
        - `KH` — Cambodia
        - `KI` — Kiribati
        - `KM` — Comoros
        - `KN` — Saint Kitts and Nevis
        - `KR` — South Korea
        - `KW` — Kuwait
        - `KY` — Cayman Islands
        - `KZ` — Kazakhstan
        - `LA` — Lao People's Democratic Republic (Laos)
        - `LB` — Lebanon
        - `LC` — Saint Lucia
        - `LI` — Liechtenstein
        - `LK` — Sri Lanka
        - `LR` — Liberia
        - `LS` — Lesotho
        - `LT` — Lithuania
        - `LU` — Luxembourg
        - `LV` — Latvia
        - `MA` — Morocco
        - `MC` — Monaco
        - `MD` — Moldova
        - `ME` — Montenegro
        - `MF` — Saint Martin
        - `MG` — Madagascar
        - `MH` — Marshall Islands
        - `MK` — Macedonia
        - `MN` — Mongolia
        - `MO` — Macao
        - `MP` — Northern Mariana Islands
        - `MQ` — Martinique
        - `MR` — Mauritania
        - `MS` — Montserrat
        - `MT` — Malta
        - `MU` — Mauritius
        - `MV` — Maldives
        - `MW` — Malawi
        - `MX` — Mexico
        - `MY` — Malaysia
        - `MZ` — Mozambique
        - `NA` — Namibia
        - `NC` — New Caledonia
        - `NE` — Niger
        - `NF` — Norfolk Island
        - `NG` — Nigeria
        - `NL` — Netherlands
        - `NO` — Norway
        - `NP` — Nepal
        - `NR` — Nauru
        - `NU` — Niue
        - `NZ` — New Zealand
        - `OM` — Oman
        - `PA` — Panama
        - `PE` — Peru
        - `PF` — French Polynesia
        - `PG` — Papua New Guinea
        - `PH` — Philippines
        - `PK` — Pakistan
        - `PL` — Poland
        - `PM` — Saint Pierre and Miquelon
        - `PN` — Pitcairn
        - `PR` — Puerto Rico
        - `PS` — Palestinian territories
        - `PT` — Portugal
        - `PW` — Palau
        - `PY` — Paraguay
        - `QA` — Qatar
        - `RE` — Reunion
        - `RO` — Romania
        - `RS` — Republic of Serbia
        - `RW` — Rwanda
        - `SA` — Saudi Arabia
        - `SB` — Solomon Islands
        - `SC` — Seychelles
        - `SE` — Sweden
        - `SG` — Singapore
        - `SH` — Saint Helena
        - `SI` — Slovenia
        - `SJ` — Svalbard and Jan Mayen
        - `SK` — Slovakia
        - `SL` — Sierra Leone
        - `SM` — San Marino
        - `SN` — Senegal
        - `SR` — Suriname
        - `ST` — São Tomé and Príncipe
        - `SV` — El Salvador
        - `SX` — Sint Maarten
        - `SZ` — Swaziland
        - `TC` — Turks and Caicos Islands
        - `TD` — Chad
        - `TF` — French Southern and Antarctic Lands
        - `TG` — Togo
        - `TH` — Thailand
        - `TJ` — Tajikistan
        - `TK` — Tokelau
        - `TL` — Timor-Leste
        - `TM` — Turkmenistan
        - `TN` — Tunisia
        - `TO` — Tonga
        - `TR` — Turkey
        - `TT` — Trinidad and Tobago
        - `TV` — Tuvalu
        - `TW` — Taiwan
        - `TZ` — Tanzania
        - `UA` — Ukraine
        - `UG` — Uganda
        - `UM` — United States Minor Outlying Islands
        - `US` — United States
        - `UY` — Uruguay
        - `UZ` — Uzbekistan
        - `VA` — Holy See (Vatican City)
        - `VC` — Saint Vincent and the Grenadines
        - `VG` — British Virgin Islands
        - `VI` — U.S. Virgin Islands
        - `VN` — Vietnam
        - `VU` — Vanuatu
        - `WF` — Wallis and Futuna
        - `WS` — Samoa
        - `XK` — Kosovo
        - `YT` — Mayotte
        - `ZA` — South Africa
        - `ZM` — Zambia
      - Country code (unsupported) — Two-letter code for a country that Paddle doesn't support sales to. Typically an ISO 3166-1 alpha-2 code, though Paddle uses a small number of codes that ISO doesn't currently assign.
        - `AF` — Afghanistan
        - `AQ` — Antarctica
        - `AN` — Netherlands Antilles. Withdrawn ISO 3166-1 code, succeeded by BQ, CW and SX.
        - `BY` — Belarus
        - `CD` — Democratic Republic of Congo
        - `CF` — Central African Republic
        - `CU` — Cuba
        - `CS` — Serbia and Montenegro. Withdrawn ISO 3166-1 code, succeeded by RS and ME.
        - `HT` — Haiti
        - `IR` — Iran
        - `KP` — North Korea
        - `LY` — Libya
        - `ML` — Mali
        - `MM` — Myanmar (Burma)
        - `NI` — Nicaragua
        - `RU` — Russia
        - `SO` — Somalia
        - `SS` — South Sudan
        - `SD` — Sudan
        - `SY` — Syria
        - `VE` — Venezuela
        - `YE` — Yemen
        - `ZW` — Zimbabwe
  - `customer_ip_address`: string | null (required) — IP address for this transaction preview. Send one of `address_id`, `customer_ip_address`, or the `address` object when previewing.
  - `details`: object (required) — Calculated totals for a price preview, including discounts, tax, and currency conversion.
    - `line_items`: array (required)
      - `price`: object (required) — Related price entity for this preview line item.
        - `id`: string (required) — Unique Paddle ID for this price, prefixed with `pri_`. (pattern: `^pri_[a-z\d]{26}$`)
        - `product_id`: string (required) — Paddle ID for the product that this price is for, prefixed with `pro_`. (pattern: `^pro_[a-z\d]{26}$`)
        - `description`: string (required) — Internal description for this price, not shown to customers. Typically notes for your team. (Length: 2–500)
        - `type`: string (required) — Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
          - `custom` — Non-catalog item. Typically created for a specific transaction or subscription. Not returned when listing or shown in the Paddle dashboard.
          - `standard` — Standard item. Can be considered part of your catalog and reused across transactions and subscriptions easily.
        - `name`: string | null (required) — Name of this price, shown to customers at checkout and on invoices. Typically describes how often the related product bills. (Length: 1–150)
        - `billing_cycle`: object | null (required) — How often this price should be charged. `null` if price is non-recurring (one-time).
          - `interval`: string (required) — Unit of time.
            - `day`
            - `week`
            - `month`
            - `year`
          - `frequency`: integer (required) — Amount of time. (Min: 1)
        - `trial_period`: object | null (required) — Trial period for the product related to this price. The billing cycle begins once the trial period is over. `null` for no trial period. Requires `billing_cycle`.
          - `interval`: string (required) — Unit of time.
            - `day`
            - `week`
            - `month`
            - `year`
          - `frequency`: integer (required) — Amount of time. (Min: 1)
          - `requires_payment_method`: boolean (required) — Whether this price requires a payment method (`true`) or not (`false`) when trialing. If `false`, customers can sign up for subscription without entering their payment details, often referred to as a "cardless trial." (default: `true`)
          - `unit_price`: object | null — Trial price. Customers are billed this amount for the duration of the trial period. Applies to all customers except those in countries with `unit_price_overrides`. If `null`, customers are not charged during the trial.
            - `amount`: string (required) — Amount in the lowest denomination for the currency, e.g. 10 USD = 1000 (cents). Although represented as a string, this value must be a valid integer.
            - `currency_code`: string — Supported three-letter ISO 4217 currency code.
              - `USD` — United States Dollar
              - `EUR` — Euro
              - `GBP` — Pound Sterling
              - `JPY` — Japanese Yen
              - `AUD` — Australian Dollar
              - `CAD` — Canadian Dollar
              - `CHF` — Swiss Franc
              - `HKD` — Hong Kong Dollar
              - `SGD` — Singapore Dollar
              - `SEK` — Swedish Krona
              - `ARS` — Argentine Peso
              - `BRL` — Brazilian Real
              - `CLP` — Chilean Peso
              - `CNY` — Chinese Yuan
              - `COP` — Colombian Peso
              - `CZK` — Czech Koruna
              - `DKK` — Danish Krone
              - `HUF` — Hungarian Forint
              - `ILS` — Israeli Shekel
              - `INR` — Indian Rupee
              - `KRW` — South Korean Won
              - `MXN` — Mexican Peso
              - `NOK` — Norwegian Krone
              - `NZD` — New Zealand Dollar
              - `PEN` — Peruvian Sol
              - `PLN` — Polish Zloty
              - `RUB` — Russian Ruble
              - `THB` — Thai Baht
              - `TRY` — Turkish Lira
              - `TWD` — New Taiwan Dollar
              - `UAH` — Ukrainian Hryvnia
              - `VND` — Vietnamese Dong
              - `ZAR` — South African Rand
          - `unit_price_overrides`: array — List of unit price overrides for trial pricing. Use to override base trial price with a custom trial price and currency for a country or group of countries. (Items: max 250)
            - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
              - Country code (supported) — Two-letter code for a country that Paddle supports sales to. Typically an ISO 3166-1 alpha-2 code, though Paddle uses a small number of codes that ISO doesn't currently assign.
                - `AD` — Andorra
                - `AE` — United Arab Emirates
                - `AG` — Antigua and Barbuda
                - `AI` — Anguilla
                - `AL` — Albania
                - `AM` — Armenia
                - `AO` — Angola
                - `AR` — Argentina
                - `AS` — American Samoa
                - `AT` — Austria
                - `AU` — Australia
                - `AW` — Aruba
                - `AX` — Åland Islands
                - `AZ` — Azerbaijan
                - `BA` — Bosnia and Herzegovina
                - `BB` — Barbados
                - `BD` — Bangladesh
                - `BE` — Belgium
                - `BF` — Burkina Faso
                - `BG` — Bulgaria
                - `BH` — Bahrain
                - `BI` — Burundi
                - `BJ` — Benin
                - `BL` — Saint Barthélemy
                - `BM` — Bermuda
                - `BN` — Brunei
                - `BO` — Bolivia
                - `BQ` — Caribbean Netherlands (Bonaire, Sint Eustatius, and Saba)
                - `BR` — Brazil
                - `BS` — Bahamas
                - `BT` — Bhutan
                - `BV` — Bouvet Island
                - `BW` — Botswana
                - `BZ` — Belize
                - `CA` — Canada
                - `CC` — Cocos Islands
                - `CG` — Republic of Congo
                - `CH` — Switzerland
                - `CI` — Côte d'Ivoire (Ivory Coast)
                - `CK` — Cook Islands
                - `CL` — Chile
                - `CM` — Cameroon
                - `CN` — China
                - `CO` — Colombia
                - `CR` — Costa Rica
                - `CV` — Cape Verde
                - `CW` — Curaçao
                - `CX` — Christmas Island
                - `CY` — Cyprus
                - `CZ` — Czechia (Czech Republic)
                - `DE` — Germany
                - `DJ` — Djibouti
                - `DK` — Denmark
                - `DM` — Dominica
                - `DO` — Dominican Republic
                - `DZ` — Algeria
                - `EC` — Ecuador
                - `EE` — Estonia
                - `EG` — Egypt
                - `EH` — Western Sahara
                - `ER` — Eritrea
                - `ES` — Spain
                - `ET` — Ethiopia
                - `FI` — Finland
                - `FJ` — Fiji
                - `FK` — Falkland Islands
                - `FM` — Micronesia
                - `FO` — Faroe Islands
                - `FR` — France
                - `GA` — Gabon
                - `GB` — United Kingdom
                - `GD` — Grenada
                - `GE` — Georgia
                - `GF` — French Guiana
                - `GG` — Guernsey
                - `GH` — Ghana
                - `GI` — Gibraltar
                - `GL` — Greenland
                - `GM` — Gambia
                - `GN` — Guinea
                - `GP` — Guadeloupe
                - `GQ` — Equatorial Guinea
                - `GR` — Greece
                - `GS` — South Georgia and the South Sandwich Islands
                - `GT` — Guatemala
                - `GU` — Guam
                - `GW` — Guinea-Bissau
                - `GY` — Guyana
                - `HK` — Hong Kong
                - `HM` — Heard Island and McDonald Islands
                - `HN` — Honduras
                - `HR` — Croatia
                - `HU` — Hungary
                - `ID` — Indonesia
                - `IE` — Ireland
                - `IL` — Israel
                - `IM` — Isle of Man
                - `IN` — India
                - `IO` — British Indian Ocean Territory
                - `IQ` — Iraq
                - `IS` — Iceland
                - `IT` — Italy
                - `JE` — Jersey
                - `JM` — Jamaica
                - `JO` — Jordan
                - `JP` — Japan
                - `KE` — Kenya
                - `KG` — Kyrgyzstan
                - `KH` — Cambodia
                - `KI` — Kiribati
                - `KM` — Comoros
                - `KN` — Saint Kitts and Nevis
                - `KR` — South Korea
                - `KW` — Kuwait
                - `KY` — Cayman Islands
                - `KZ` — Kazakhstan
                - `LA` — Lao People's Democratic Republic (Laos)
                - `LB` — Lebanon
                - `LC` — Saint Lucia
                - `LI` — Liechtenstein
                - `LK` — Sri Lanka
                - `LR` — Liberia
                - `LS` — Lesotho
                - `LT` — Lithuania
                - `LU` — Luxembourg
                - `LV` — Latvia
                - `MA` — Morocco
                - `MC` — Monaco
                - `MD` — Moldova
                - `ME` — Montenegro
                - `MF` — Saint Martin
                - `MG` — Madagascar
                - `MH` — Marshall Islands
                - `MK` — Macedonia
                - `MN` — Mongolia
                - `MO` — Macao
                - `MP` — Northern Mariana Islands
                - `MQ` — Martinique
                - `MR` — Mauritania
                - `MS` — Montserrat
                - `MT` — Malta
                - `MU` — Mauritius
                - `MV` — Maldives
                - `MW` — Malawi
                - `MX` — Mexico
                - `MY` — Malaysia
                - `MZ` — Mozambique
                - `NA` — Namibia
                - `NC` — New Caledonia
                - `NE` — Niger
                - `NF` — Norfolk Island
                - `NG` — Nigeria
                - `NL` — Netherlands
                - `NO` — Norway
                - `NP` — Nepal
                - `NR` — Nauru
                - `NU` — Niue
                - `NZ` — New Zealand
                - `OM` — Oman
                - `PA` — Panama
                - `PE` — Peru
                - `PF` — French Polynesia
                - `PG` — Papua New Guinea
                - `PH` — Philippines
                - `PK` — Pakistan
                - `PL` — Poland
                - `PM` — Saint Pierre and Miquelon
                - `PN` — Pitcairn
                - `PR` — Puerto Rico
                - `PS` — Palestinian territories
                - `PT` — Portugal
                - `PW` — Palau
                - `PY` — Paraguay
                - `QA` — Qatar
                - `RE` — Reunion
                - `RO` — Romania
                - `RS` — Republic of Serbia
                - `RW` — Rwanda
                - `SA` — Saudi Arabia
                - `SB` — Solomon Islands
                - `SC` — Seychelles
                - `SE` — Sweden
                - `SG` — Singapore
                - `SH` — Saint Helena
                - `SI` — Slovenia
                - `SJ` — Svalbard and Jan Mayen
                - `SK` — Slovakia
                - `SL` — Sierra Leone
                - `SM` — San Marino
                - `SN` — Senegal
                - `SR` — Suriname
                - `ST` — São Tomé and Príncipe
                - `SV` — El Salvador
                - `SX` — Sint Maarten
                - `SZ` — Swaziland
                - `TC` — Turks and Caicos Islands
                - `TD` — Chad
                - `TF` — French Southern and Antarctic Lands
                - `TG` — Togo
                - `TH` — Thailand
                - `TJ` — Tajikistan
                - `TK` — Tokelau
                - `TL` — Timor-Leste
                - `TM` — Turkmenistan
                - `TN` — Tunisia
                - `TO` — Tonga
                - `TR` — Turkey
                - `TT` — Trinidad and Tobago
                - `TV` — Tuvalu
                - `TW` — Taiwan
                - `TZ` — Tanzania
                - `UA` — Ukraine
                - `UG` — Uganda
                - `UM` — United States Minor Outlying Islands
                - `US` — United States
                - `UY` — Uruguay
                - `UZ` — Uzbekistan
                - `VA` — Holy See (Vatican City)
                - `VC` — Saint Vincent and the Grenadines
                - `VG` — British Virgin Islands
                - `VI` — U.S. Virgin Islands
                - `VN` — Vietnam
                - `VU` — Vanuatu
                - `WF` — Wallis and Futuna
                - `WS` — Samoa
                - `XK` — Kosovo
                - `YT` — Mayotte
                - `ZA` — South Africa
                - `ZM` — Zambia
              - Country code (unsupported) — Two-letter code for a country that Paddle doesn't support sales to. Typically an ISO 3166-1 alpha-2 code, though Paddle uses a small number of codes that ISO doesn't currently assign.
                - `AF` — Afghanistan
                - `AQ` — Antarctica
                - `AN` — Netherlands Antilles. Withdrawn ISO 3166-1 code, succeeded by BQ, CW and SX.
                - `BY` — Belarus
                - `CD` — Democratic Republic of Congo
                - `CF` — Central African Republic
                - `CU` — Cuba
                - `CS` — Serbia and Montenegro. Withdrawn ISO 3166-1 code, succeeded by RS and ME.
                - `HT` — Haiti
                - `IR` — Iran
                - `KP` — North Korea
                - `LY` — Libya
                - `ML` — Mali
                - `MM` — Myanmar (Burma)
                - `NI` — Nicaragua
                - `RU` — Russia
                - `SO` — Somalia
                - `SS` — South Sudan
                - `SD` — Sudan
                - `SY` — Syria
                - `VE` — Venezuela
                - `YE` — Yemen
                - `ZW` — Zimbabwe
            - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
              - `amount`: string (required) — Amount in the lowest denomination for the currency, e.g. 10 USD = 1000 (cents). Although represented as a string, this value must be a valid integer.
              - `currency_code`: string — Supported three-letter ISO 4217 currency code.
                - `USD` — United States Dollar
                - `EUR` — Euro
                - `GBP` — Pound Sterling
                - `JPY` — Japanese Yen
                - `AUD` — Australian Dollar
                - `CAD` — Canadian Dollar
                - `CHF` — Swiss Franc
                - `HKD` — Hong Kong Dollar
                - `SGD` — Singapore Dollar
                - `SEK` — Swedish Krona
                - `ARS` — Argentine Peso
                - `BRL` — Brazilian Real
                - `CLP` — Chilean Peso
                - `CNY` — Chinese Yuan
                - `COP` — Colombian Peso
                - `CZK` — Czech Koruna
                - `DKK` — Danish Krone
                - `HUF` — Hungarian Forint
                - `ILS` — Israeli Shekel
                - `INR` — Indian Rupee
                - `KRW` — South Korean Won
                - `MXN` — Mexican Peso
                - `NOK` — Norwegian Krone
                - `NZD` — New Zealand Dollar
                - `PEN` — Peruvian Sol
                - `PLN` — Polish Zloty
                - `RUB` — Russian Ruble
                - `THB` — Thai Baht
                - `TRY` — Turkish Lira
                - `TWD` — New Taiwan Dollar
                - `UAH` — Ukrainian Hryvnia
                - `VND` — Vietnamese Dong
                - `ZAR` — South African Rand
        - `tax_mode`: string (required) — How tax is calculated for this price. (default: `"account_setting"`)
          - `account_setting` — Prices use the setting from your account.
          - `external` — Prices are exclusive of tax.
          - `internal` — Prices are inclusive of tax.
          - `location` — Prices are inclusive or exclusive of tax, depending on the country of the transaction.
        - `unit_price`: object (required) — Base price. This price applies to all customers, except for customers located in countries where you have `unit_price_overrides`.
          - `amount`: string (required) — Amount in the lowest denomination for the currency, e.g. 10 USD = 1000 (cents). Although represented as a string, this value must be a valid integer.
          - `currency_code`: string (required) — Supported three-letter ISO 4217 currency code.
            - `USD` — United States Dollar
            - `EUR` — Euro
            - `GBP` — Pound Sterling
            - `JPY` — Japanese Yen
            - `AUD` — Australian Dollar
            - `CAD` — Canadian Dollar
            - `CHF` — Swiss Franc
            - `HKD` — Hong Kong Dollar
            - `SGD` — Singapore Dollar
            - `SEK` — Swedish Krona
            - `ARS` — Argentine Peso
            - `BRL` — Brazilian Real
            - `CLP` — Chilean Peso
            - `CNY` — Chinese Yuan
            - `COP` — Colombian Peso
            - `CZK` — Czech Koruna
            - `DKK` — Danish Krone
            - `HUF` — Hungarian Forint
            - `ILS` — Israeli Shekel
            - `INR` — Indian Rupee
            - `KRW` — South Korean Won
            - `MXN` — Mexican Peso
            - `NOK` — Norwegian Krone
            - `NZD` — New Zealand Dollar
            - `PEN` — Peruvian Sol
            - `PLN` — Polish Zloty
            - `RUB` — Russian Ruble
            - `THB` — Thai Baht
            - `TRY` — Turkish Lira
            - `TWD` — New Taiwan Dollar
            - `UAH` — Ukrainian Hryvnia
            - `VND` — Vietnamese Dong
            - `ZAR` — South African Rand
        - `unit_price_overrides`: array (required) — List of unit price overrides. Use to override the base price with a custom price and currency for a country or group of countries. (Items: max 250)
          - `country_codes`: array (required) — Supported two-letter ISO 3166-1 alpha-2 country code. Customers located in the listed countries are charged the override price. (Items: min 1, unique)
            - Country code (supported) — Two-letter code for a country that Paddle supports sales to. Typically an ISO 3166-1 alpha-2 code, though Paddle uses a small number of codes that ISO doesn't currently assign.
              - `AD` — Andorra
              - `AE` — United Arab Emirates
              - `AG` — Antigua and Barbuda
              - `AI` — Anguilla
              - `AL` — Albania
              - `AM` — Armenia
              - `AO` — Angola
              - `AR` — Argentina
              - `AS` — American Samoa
              - `AT` — Austria
              - `AU` — Australia
              - `AW` — Aruba
              - `AX` — Åland Islands
              - `AZ` — Azerbaijan
              - `BA` — Bosnia and Herzegovina
              - `BB` — Barbados
              - `BD` — Bangladesh
              - `BE` — Belgium
              - `BF` — Burkina Faso
              - `BG` — Bulgaria
              - `BH` — Bahrain
              - `BI` — Burundi
              - `BJ` — Benin
              - `BL` — Saint Barthélemy
              - `BM` — Bermuda
              - `BN` — Brunei
              - `BO` — Bolivia
              - `BQ` — Caribbean Netherlands (Bonaire, Sint Eustatius, and Saba)
              - `BR` — Brazil
              - `BS` — Bahamas
              - `BT` — Bhutan
              - `BV` — Bouvet Island
              - `BW` — Botswana
              - `BZ` — Belize
              - `CA` — Canada
              - `CC` — Cocos Islands
              - `CG` — Republic of Congo
              - `CH` — Switzerland
              - `CI` — Côte d'Ivoire (Ivory Coast)
              - `CK` — Cook Islands
              - `CL` — Chile
              - `CM` — Cameroon
              - `CN` — China
              - `CO` — Colombia
              - `CR` — Costa Rica
              - `CV` — Cape Verde
              - `CW` — Curaçao
              - `CX` — Christmas Island
              - `CY` — Cyprus
              - `CZ` — Czechia (Czech Republic)
              - `DE` — Germany
              - `DJ` — Djibouti
              - `DK` — Denmark
              - `DM` — Dominica
              - `DO` — Dominican Republic
              - `DZ` — Algeria
              - `EC` — Ecuador
              - `EE` — Estonia
              - `EG` — Egypt
              - `EH` — Western Sahara
              - `ER` — Eritrea
              - `ES` — Spain
              - `ET` — Ethiopia
              - `FI` — Finland
              - `FJ` — Fiji
              - `FK` — Falkland Islands
              - `FM` — Micronesia
              - `FO` — Faroe Islands
              - `FR` — France
              - `GA` — Gabon
              - `GB` — United Kingdom
              - `GD` — Grenada
              - `GE` — Georgia
              - `GF` — French Guiana
              - `GG` — Guernsey
              - `GH` — Ghana
              - `GI` — Gibraltar
              - `GL` — Greenland
              - `GM` — Gambia
              - `GN` — Guinea
              - `GP` — Guadeloupe
              - `GQ` — Equatorial Guinea
              - `GR` — Greece
              - `GS` — South Georgia and the South Sandwich Islands
              - `GT` — Guatemala
              - `GU` — Guam
              - `GW` — Guinea-Bissau
              - `GY` — Guyana
              - `HK` — Hong Kong
              - `HM` — Heard Island and McDonald Islands
              - `HN` — Honduras
              - `HR` — Croatia
              - `HU` — Hungary
              - `ID` — Indonesia
              - `IE` — Ireland
              - `IL` — Israel
              - `IM` — Isle of Man
              - `IN` — India
              - `IO` — British Indian Ocean Territory
              - `IQ` — Iraq
              - `IS` — Iceland
              - `IT` — Italy
              - `JE` — Jersey
              - `JM` — Jamaica
              - `JO` — Jordan
              - `JP` — Japan
              - `KE` — Kenya
              - `KG` — Kyrgyzstan
              - `KH` — Cambodia
              - `KI` — Kiribati
              - `KM` — Comoros
              - `KN` — Saint Kitts and Nevis
              - `KR` — South Korea
              - `KW` — Kuwait
              - `KY` — Cayman Islands
              - `KZ` — Kazakhstan
              - `LA` — Lao People's Democratic Republic (Laos)
              - `LB` — Lebanon
              - `LC` — Saint Lucia
              - `LI` — Liechtenstein
              - `LK` — Sri Lanka
              - `LR` — Liberia
              - `LS` — Lesotho
              - `LT` — Lithuania
              - `LU` — Luxembourg
              - `LV` — Latvia
              - `MA` — Morocco
              - `MC` — Monaco
              - `MD` — Moldova
              - `ME` — Montenegro
              - `MF` — Saint Martin
              - `MG` — Madagascar
              - `MH` — Marshall Islands
              - `MK` — Macedonia
              - `MN` — Mongolia
              - `MO` — Macao
              - `MP` — Northern Mariana Islands
              - `MQ` — Martinique
              - `MR` — Mauritania
              - `MS` — Montserrat
              - `MT` — Malta
              - `MU` — Mauritius
              - `MV` — Maldives
              - `MW` — Malawi
              - `MX` — Mexico
              - `MY` — Malaysia
              - `MZ` — Mozambique
              - `NA` — Namibia
              - `NC` — New Caledonia
              - `NE` — Niger
              - `NF` — Norfolk Island
              - `NG` — Nigeria
              - `NL` — Netherlands
              - `NO` — Norway
              - `NP` — Nepal
              - `NR` — Nauru
              - `NU` — Niue
              - `NZ` — New Zealand
              - `OM` — Oman
              - `PA` — Panama
              - `PE` — Peru
              - `PF` — French Polynesia
              - `PG` — Papua New Guinea
              - `PH` — Philippines
              - `PK` — Pakistan
              - `PL` — Poland
              - `PM` — Saint Pierre and Miquelon
              - `PN` — Pitcairn
              - `PR` — Puerto Rico
              - `PS` — Palestinian territories
              - `PT` — Portugal
              - `PW` — Palau
              - `PY` — Paraguay
              - `QA` — Qatar
              - `RE` — Reunion
              - `RO` — Romania
              - `RS` — Republic of Serbia
              - `RW` — Rwanda
              - `SA` — Saudi Arabia
              - `SB` — Solomon Islands
              - `SC` — Seychelles
              - `SE` — Sweden
              - `SG` — Singapore
              - `SH` — Saint Helena
              - `SI` — Slovenia
              - `SJ` — Svalbard and Jan Mayen
              - `SK` — Slovakia
              - `SL` — Sierra Leone
              - `SM` — San Marino
              - `SN` — Senegal
              - `SR` — Suriname
              - `ST` — São Tomé and Príncipe
              - `SV` — El Salvador
              - `SX` — Sint Maarten
              - `SZ` — Swaziland
              - `TC` — Turks and Caicos Islands
              - `TD` — Chad
              - `TF` — French Southern and Antarctic Lands
              - `TG` — Togo
              - `TH` — Thailand
              - `TJ` — Tajikistan
              - `TK` — Tokelau
              - `TL` — Timor-Leste
              - `TM` — Turkmenistan
              - `TN` — Tunisia
              - `TO` — Tonga
              - `TR` — Turkey
              - `TT` — Trinidad and Tobago
              - `TV` — Tuvalu
              - `TW` — Taiwan
              - `TZ` — Tanzania
              - `UA` — Ukraine
              - `UG` — Uganda
              - `UM` — United States Minor Outlying Islands
              - `US` — United States
              - `UY` — Uruguay
              - `UZ` — Uzbekistan
              - `VA` — Holy See (Vatican City)
              - `VC` — Saint Vincent and the Grenadines
              - `VG` — British Virgin Islands
              - `VI` — U.S. Virgin Islands
              - `VN` — Vietnam
              - `VU` — Vanuatu
              - `WF` — Wallis and Futuna
              - `WS` — Samoa
              - `XK` — Kosovo
              - `YT` — Mayotte
              - `ZA` — South Africa
              - `ZM` — Zambia
            - Country code (unsupported) — Two-letter code for a country that Paddle doesn't support sales to. Typically an ISO 3166-1 alpha-2 code, though Paddle uses a small number of codes that ISO doesn't currently assign.
              - `AF` — Afghanistan
              - `AQ` — Antarctica
              - `AN` — Netherlands Antilles. Withdrawn ISO 3166-1 code, succeeded by BQ, CW and SX.
              - `BY` — Belarus
              - `CD` — Democratic Republic of Congo
              - `CF` — Central African Republic
              - `CU` — Cuba
              - `CS` — Serbia and Montenegro. Withdrawn ISO 3166-1 code, succeeded by RS and ME.
              - `HT` — Haiti
              - `IR` — Iran
              - `KP` — North Korea
              - `LY` — Libya
              - `ML` — Mali
              - `MM` — Myanmar (Burma)
              - `NI` — Nicaragua
              - `RU` — Russia
              - `SO` — Somalia
              - `SS` — South Sudan
              - `SD` — Sudan
              - `SY` — Syria
              - `VE` — Venezuela
              - `YE` — Yemen
              - `ZW` — Zimbabwe
          - `unit_price`: object (required) — Override price. This price applies to customers located in the countries for this unit price override.
            - `amount`: string (required) — Amount in the lowest denomination for the currency, e.g. 10 USD = 1000 (cents). Although represented as a string, this value must be a valid integer.
            - `currency_code`: string (required) — Supported three-letter ISO 4217 currency code.
              - `USD` — United States Dollar
              - `EUR` — Euro
              - `GBP` — Pound Sterling
              - `JPY` — Japanese Yen
              - `AUD` — Australian Dollar
              - `CAD` — Canadian Dollar
              - `CHF` — Swiss Franc
              - `HKD` — Hong Kong Dollar
              - `SGD` — Singapore Dollar
              - `SEK` — Swedish Krona
              - `ARS` — Argentine Peso
              - `BRL` — Brazilian Real
              - `CLP` — Chilean Peso
              - `CNY` — Chinese Yuan
              - `COP` — Colombian Peso
              - `CZK` — Czech Koruna
              - `DKK` — Danish Krone
              - `HUF` — Hungarian Forint
              - `ILS` — Israeli Shekel
              - `INR` — Indian Rupee
              - `KRW` — South Korean Won
              - `MXN` — Mexican Peso
              - `NOK` — Norwegian Krone
              - `NZD` — New Zealand Dollar
              - `PEN` — Peruvian Sol
              - `PLN` — Polish Zloty
              - `RUB` — Russian Ruble
              - `THB` — Thai Baht
              - `TRY` — Turkish Lira
              - `TWD` — New Taiwan Dollar
              - `UAH` — Ukrainian Hryvnia
              - `VND` — Vietnamese Dong
              - `ZAR` — South African Rand
        - `quantity`: object (required) — Limits on how many times the related product can be purchased at this price. Useful for discount campaigns.
          - `minimum`: integer (required) — Minimum quantity of the product related to this price that can be bought. Required if `maximum` set. (Range: 1–999999999; default: `1`)
          - `maximum`: integer (required) — Maximum quantity of the product related to this price that can be bought. Required if `minimum` set. Must be greater than or equal to the `minimum` value. (Range: 1–999999999; default: `100`)
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `custom_data`: object | null (required) — Your own structured key-value data.
        - `import_meta`: object | null (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`: string | null — Reference or identifier for this entity from the provider where it was imported from. (Length: 1–200)
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
        - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
        - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
      - `quantity`: integer (required) — Quantity of this preview line item.
      - `tax_rate`: string (required) — Rate used to calculate tax for this preview line item.
      - `unit_totals`: object (required) — Breakdown of the charge for one unit in the lowest denomination of a currency (e.g. cents for USD).
        - `subtotal`: string (required) — Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
        - `discount`: string (required) — Total discount as a result of any discounts applied.

Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
        - `tax`: string (required) — Total tax on the subtotal.
        - `total`: string (required) — Total after discount and tax.
      - `formatted_unit_totals`: object (required) — Breakdown of the charge for one unit in the format of a given currency.
        - `subtotal`: string (required) — Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
        - `discount`: string (required) — Total discount as a result of any discounts applied.

Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
        - `tax`: string (required) — Total tax on the subtotal.
        - `total`: string (required) — Total after discount and tax.
      - `totals`: object (required) — Breakdown of a charge in the lowest denomination of a currency (e.g. cents for USD).
        - `subtotal`: string (required) — Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
        - `discount`: string (required) — Total discount as a result of any discounts applied.

Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
        - `tax`: string (required) — Total tax on the subtotal.
        - `total`: string (required) — Total after discount and tax.
      - `formatted_totals`: object (required) — The financial breakdown of a charge in the format of a given currency.
        - `subtotal`: string (required) — Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
        - `discount`: string (required) — Total discount as a result of any discounts applied.

Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
        - `tax`: string (required) — Total tax on the subtotal.
        - `total`: string (required) — Total after discount and tax.
      - `product`: object (required) — Related product entity for this preview line item price.
        - `id`: string (required) — Unique Paddle ID for this product, prefixed with `pro_`. (pattern: `^pro_[a-z\d]{26}$`)
        - `name`: string (required) — Name of this product. (Length: 1–200)
        - `description`: string | null (required) — Short description for this product. (Max length: 2048)
        - `type`: string (required) — Type of item. Standard items are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
          - `custom` — Non-catalog item. Typically created for a specific transaction or subscription. Not returned when listing or shown in the Paddle dashboard.
          - `standard` — Standard item. Can be considered part of your catalog and reused across transactions and subscriptions easily.
        - `tax_category`: string (required) — Tax category for this product. Used for charging the correct rate of tax. Selected tax category must be enabled on your Paddle account.
          - `digital-goods` — Non-customizable digital files or media (not software) acquired with an up front payment that can be accessed without any physical product being delivered.
          - `ebooks` — Digital books and educational material which is sold with permanent rights for use by the customer.
          - `implementation-services` — Remote configuration, set-up, and integrating software on behalf of a customer.
          - `professional-services` — Services that involve the application of your expertise and specialized knowledge of a software product.
          - `saas` — Products that allow users to connect to and use online or cloud-based applications over the Internet.
          - `software-programming-services` — Services that can be used to customize and white label software products.
          - `standard` — Software products that are pre-written and can be downloaded and installed onto a local device.
          - `training-services` — Training and education services related to software products.
          - `website-hosting` — Cloud storage service for personal or corporate information, assets, or intellectual property.
        - `image_url` (required) — Image for this product. Included in the checkout and on some customer documents.
          - Image Url — A URL to an image.
          - Empty String
        - `custom_data`: object | null (required) — Your own structured key-value data.
        - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
          - `active` — Entity is active and can be used.
          - `archived` — Entity is archived, so can't be used.
        - `import_meta`: object | null (required) — Import information for this entity. `null` if this entity is not imported.
          - `external_id`: string | null — Reference or identifier for this entity from the provider where it was imported from. (Length: 1–200)
          - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
        - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
        - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
      - `discounts`: array (required)
        - `discount`: object (required) — Related discount entity for this preview line item.
          - `id`: string (required) — Unique Paddle ID for this discount, prefixed with `dsc_`. (pattern: `^dsc_[a-z\d]{26}$`)
          - `status`: string (required) — Whether this entity can be used in Paddle. (default: `"active"`)
            - `active` — Entity is active and can be used.
            - `archived` — Entity is archived, so can't be used.
          - `description`: string (required) — Short description for this discount for your reference. Not shown to customers. (Length: 1–500)
          - `enabled_for_checkout`: boolean (required) — Whether this discount can be redeemed by customers at checkout (`true`) or not (`false`). (default: `true`)
          - `code`: string | null (required) — Unique code that customers can use to redeem this discount at checkout. Not case-sensitive. (Length: 1–32; pattern: `^[a-zA-Z0-9]{1,32}$`)
          - `type`: string (required) — Type of discount. Determines how this discount impacts the checkout or transaction total.
            - `flat` — Discounts a checkout or transaction by a flat amount, for example -$100. Requires `currency_code`.
            - `flat_per_seat` — Discounts a checkout or transaction by a flat amount per unit, for example -$100 per user. Requires `currency_code`.
            - `percentage` — Discounts a checkout or transaction by a percentage of the total, for example -10%. Maximum 100%.
          - `mode`: string (required) — Discount mode. Standard discounts are considered part of your catalog and are shown in the Paddle dashboard. (default: `"standard"`)
            - `standard` — Standard discount. Can be considered part of your catalog and reused across transactions and subscriptions easily.
            - `custom` — Non-catalog discount. Can be created via the API, or by Paddle for checkout recovery discounts. Not returned when listing or shown in the Paddle dashboard.
          - `amount`: string (required) — Amount to discount by. For `percentage` discounts, must be an amount between `0.01` and `100`. For `flat` and `flat_per_seat` discounts, amount in the lowest denomination for a currency.
          - `currency_code`: string | null (required) — Supported three-letter ISO 4217 currency code. Required where discount type is `flat` or `flat_per_seat`.
            - `USD` — United States Dollar
            - `EUR` — Euro
            - `GBP` — Pound Sterling
            - `JPY` — Japanese Yen
            - `AUD` — Australian Dollar
            - `CAD` — Canadian Dollar
            - `CHF` — Swiss Franc
            - `HKD` — Hong Kong Dollar
            - `SGD` — Singapore Dollar
            - `SEK` — Swedish Krona
            - `ARS` — Argentine Peso
            - `BRL` — Brazilian Real
            - `CLP` — Chilean Peso
            - `CNY` — Chinese Yuan
            - `COP` — Colombian Peso
            - `CZK` — Czech Koruna
            - `DKK` — Danish Krone
            - `HUF` — Hungarian Forint
            - `ILS` — Israeli Shekel
            - `INR` — Indian Rupee
            - `KRW` — South Korean Won
            - `MXN` — Mexican Peso
            - `NOK` — Norwegian Krone
            - `NZD` — New Zealand Dollar
            - `PEN` — Peruvian Sol
            - `PLN` — Polish Zloty
            - `RUB` — Russian Ruble
            - `THB` — Thai Baht
            - `TRY` — Turkish Lira
            - `TWD` — New Taiwan Dollar
            - `UAH` — Ukrainian Hryvnia
            - `VND` — Vietnamese Dong
            - `ZAR` — South African Rand
          - `recur`: boolean (required) — Whether this discount applies for multiple subscription billing periods (`true`) or not (`false`). (default: `false`)
          - `maximum_recurring_intervals`: integer | null (required) — Number of subscription billing periods that this discount recurs for. Requires `recur`. `null` if this discount recurs forever.

Subscription renewals, midcycle changes, and one-time charges billed to a subscription aren't considered a redemption. `times_used` is not incremented in these cases. (Min: 1)
          - `usage_limit`: integer | null (required) — Maximum number of times this discount can be redeemed. This is an overall limit for this discount, rather than a per-customer limit. `null` if this discount can be redeemed an unlimited amount of times.

Paddle counts a usage as a redemption on a checkout, transaction, or the initial application against a subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption.

Paddle checks this limit when a discount is applied to a checkout or transaction, comparing it against `times_used` at that moment. As `times_used` only increments when a transaction completes, checkouts that are open at the same time can each pass this check, so in some cases a discount may be redeemed more times than this limit allows. (Min: 1)
          - `restrict_to`: array | null (required) — Product or price IDs that this discount is for. When including a product ID, all prices for that product can be discounted. `null` if this discount applies to all products and prices. (Items: unique)
          - `expires_at`: string (date-time) | null (required) — RFC 3339 datetime string of when this discount expires. Discount can no longer be redeemed after this date has elapsed. `null` if this discount can be redeemed forever.

Expired discounts can't be redeemed against transactions or checkouts, but can be applied when updating subscriptions.
          - `custom_data`: object | null (required) — Your own structured key-value data.
          - `times_used`: integer (required) — How many times this discount has been redeemed. Automatically incremented by Paddle.

Paddle counts a usage as a redemption on a checkout, transaction, or subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption.

Incremented when a transaction completes, rather than when a discount is applied to a checkout. See `usage_limit` for how this affects enforcement of the limit.
          - `discount_group_id`: string | null (required) — Paddle ID for the discount group related to this discount, prefixed with `dsg_`. `null` if not in a discount group. (pattern: `^dsg_[a-z\d]{26}$`)
          - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
          - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
          - `import_meta`: object | null (required) — Import information for this entity. `null` if this entity is not imported.
            - `external_id`: string | null — Reference or identifier for this entity from the provider where it was imported from. (Length: 1–200)
            - `imported_from`: string (required) — Name of the platform or provider where this entity was imported from. (Length: 1–200)
        - `total`: string (required) — Total amount discounted as a result of this discount.
        - `formatted_total`: string (required) — Total amount discounted as a result of this discount in the format of a given currency. '
  - `available_payment_methods`: array (required)
    - `alipay` — Alipay, popular in China.
    - `apple_pay` — Apple Pay on a supported Apple device.
    - `bancontact` — Bancontact, popular in Belgium.
    - `blik` — BLIK, a popular payment method in Poland.
    - `card` — Credit or debit card.
    - `google_pay` — Google Pay on a supported Android device, Chromebook, or Google Chrome browser.
    - `ideal` — iDEAL, popular in the Netherlands.
    - `kakao_pay` — Kakao Pay, a popular payment method in South Korea.
    - `korea_local` — Korean payment methods, which includes over 20 payment options for the Korean market.
    - `naver_pay` — Naver Pay, a popular payment method in South Korea.
    - `payco` — Payco, a popular payment method in South Korea.
    - `samsung_pay` — Samsung Pay, a popular payment method in South Korea.
    - `south_korea_local_card` — Korean local credit or debit card.
    - `mb_way` — MB WAY, a popular payment method in Portugal.
    - `paypal` — PayPal.
    - `pix` — Pix, popular in Brazil.
    - `upi` — Unified Payments Interface (UPI), popular in India.
    - `wechat_pay` — WeChat Pay, a popular payment method in China.
- `meta`: object (required) — Information about this response.
  - `request_id`: string (required) — Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.

### Response example

```json
{
  "data": {
    "customer_id": null,
    "address_id": null,
    "business_id": null,
    "currency_code": "USD",
    "address": {
      "postal_code": "20149",
      "country_code": "US"
    },
    "customer_ip_address": "34.232.58.13",
    "discount_id": "dsc_01gtgztp8fpchantd5g1wrksa3",
    "details": {
      "line_items": [
        {
          "price": {
            "id": "pri_01gsz8z1q1n00f12qt82y31smh",
            "description": "Annual",
            "type": "standard",
            "name": "Annual (per seat)",
            "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
            "billing_cycle": {
              "interval": "year",
              "frequency": 1
            },
            "trial_period": null,
            "tax_mode": "account_setting",
            "unit_price": {
              "amount": "30000",
              "currency_code": "USD"
            },
            "unit_price_overrides": [],
            "custom_data": null,
            "quantity": {
              "minimum": 1,
              "maximum": 999
            },
            "status": "active",
            "created_at": "2023-02-23T13:56:20.833019Z",
            "updated_at": "2024-04-11T13:47:49.566301Z",
            "import_meta": null
          },
          "quantity": 20,
          "tax_rate": "0",
          "unit_totals": {
            "subtotal": "30000",
            "discount": "3000",
            "tax": "0",
            "total": "27000"
          },
          "formatted_unit_totals": {
            "subtotal": "$300.00",
            "discount": "$30.00",
            "tax": "$0.00",
            "total": "$270.00"
          },
          "totals": {
            "subtotal": "600000",
            "discount": "60000",
            "tax": "0",
            "total": "540000"
          },
          "formatted_totals": {
            "subtotal": "$6,000.00",
            "discount": "$600.00",
            "tax": "$0.00",
            "total": "$5,400.00"
          },
          "product": {
            "id": "pro_01gsz4t5hdjse780zja8vvr7jg",
            "name": "AeroEdit Pro",
            "description": "Designed for professional pilots, including all features plus in Basic plus compliance monitoring, route optimization, and third-party integrations.",
            "type": "standard",
            "tax_category": "standard",
            "image_url": "https://paddle.s3.amazonaws.com/user/165798/bT1XUOJAQhOUxGs83cbk_pro.png",
            "custom_data": {
              "features": {
                "aircraft_performance": true,
                "compliance_monitoring": true,
                "flight_log_management": true,
                "payment_by_invoice": false,
                "route_planning": true,
                "sso": false
              },
              "suggested_addons": [
                "pro_01h1vjes1y163xfj1rh1tkfb65",
                "pro_01gsz97mq9pa4fkyy0wqenepkz"
              ],
              "upgrade_description": "Move from Basic to Pro to take advantage of aircraft performance, advanced route planning, and compliance monitoring."
            },
            "status": "active",
            "created_at": "2023-02-23T12:43:46.605Z",
            "updated_at": "2024-04-05T15:53:44.687Z",
            "import_meta": null
          },
          "discounts": [
            {
              "discount": {
                "id": "dsc_01gtgztp8fpchantd5g1wrksa3",
                "status": "active",
                "description": "Black Friday 2024",
                "enabled_for_checkout": true,
                "mode": "standard",
                "code": "BF2024",
                "type": "percentage",
                "amount": "10",
                "currency_code": "USD",
                "recur": false,
                "maximum_recurring_intervals": null,
                "usage_limit": 1000,
                "restrict_to": null,
                "expires_at": "2024-12-03T00:00:00Z",
                "times_used": 0,
                "custom_data": null,
                "import_meta": null,
                "discount_group_id": null,
                "created_at": "2023-03-02T11:03:00.623Z",
                "updated_at": "2023-08-22T13:32:28.295Z"
              },
              "total": "60000",
              "formatted_total": "$600.00"
            }
          ]
        },
        {
          "price": {
            "id": "pri_01h1vjfevh5etwq3rb416a23h2",
            "description": "Monthly",
            "type": "standard",
            "name": "Monthly (recurring addon)",
            "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65",
            "billing_cycle": {
              "interval": "month",
              "frequency": 1
            },
            "trial_period": null,
            "tax_mode": "account_setting",
            "unit_price": {
              "amount": "10000",
              "currency_code": "USD"
            },
            "unit_price_overrides": [],
            "custom_data": null,
            "quantity": {
              "minimum": 1,
              "maximum": 100
            },
            "status": "active",
            "created_at": "2023-06-01T13:31:12.625056Z",
            "updated_at": "2024-04-09T07:23:00.907834Z",
            "import_meta": null
          },
          "quantity": 1,
          "tax_rate": "0",
          "unit_totals": {
            "subtotal": "10000",
            "discount": "1000",
            "tax": "0",
            "total": "9000"
          },
          "formatted_unit_totals": {
            "subtotal": "$100.00",
            "discount": "$10.00",
            "tax": "$0.00",
            "total": "$90.00"
          },
          "totals": {
            "subtotal": "10000",
            "discount": "1000",
            "tax": "0",
            "total": "9000"
          },
          "formatted_totals": {
            "subtotal": "$100.00",
            "discount": "$10.00",
            "tax": "$0.00",
            "total": "$90.00"
          },
          "product": {
            "id": "pro_01h1vjes1y163xfj1rh1tkfb65",
            "name": "Analytics addon",
            "description": "Unlock advanced insights into your flight data with enhanced analytics and reporting features. Includes customizable reporting templates and trend analysis across flights.",
            "type": "standard",
            "tax_category": "standard",
            "image_url": "https://paddle.s3.amazonaws.com/user/165798/97dRpA6SXzcE6ekK9CAr_analytics.png",
            "custom_data": null,
            "status": "active",
            "created_at": "2023-06-01T13:30:50.302Z",
            "updated_at": "2024-04-05T15:47:17.163Z",
            "import_meta": null
          },
          "discounts": [
            {
              "discount": {
                "id": "dsc_01gtgztp8fpchantd5g1wrksa3",
                "status": "active",
                "description": "Black Friday 2024",
                "enabled_for_checkout": true,
                "mode": "standard",
                "code": "BF2024",
                "type": "percentage",
                "amount": "10",
                "currency_code": "USD",
                "recur": false,
                "maximum_recurring_intervals": null,
                "usage_limit": 1000,
                "restrict_to": null,
                "expires_at": "2024-12-03T00:00:00Z",
                "times_used": 0,
                "custom_data": null,
                "import_meta": null,
                "discount_group_id": null,
                "created_at": "2023-03-02T11:03:00.623Z",
                "updated_at": "2023-08-22T13:32:28.295Z"
              },
              "total": "1000",
              "formatted_total": "$10.00"
            }
          ]
        }
      ]
    },
    "available_payment_methods": [
      "apple_pay",
      "card",
      "paypal",
      "google_pay"
    ]
  },
  "meta": {
    "request_id": "b8a54261-3aca-41bc-9432-26d3753ecf8b"
  }
}
```
