Payment Quotes

Retrieve Payment Quote

Changed on

Retrieves a payment quote, including the payment holding it (payment_id, whose status says whether it collected) and when it expires.

get/payment_quotes/{id}

Request

  • Base URL: https://api.whop.com/api/v1
  • URL: https://api.whop.com/api/v1/payment_quotes/{id}
  • Auth: HTTP bearer

Response

payment quote retrieved

account_idstring required

The account the purchase is priced for, prefixed biz_.

base_currencystring required

Three-letter ISO 4217 code of the variants' own currency, lowercase. Equal to currency when nothing was converted.

created_atstring required

When the quote was priced, as an ISO 8601 timestamp.

currencystring required

Three-letter ISO 4217 currency code the purchase is priced and charged in, lowercase: the variants' own currency, or the presentment_currency it was converted into.

exchange_ratestring nullable required

How many units of currency one unit of base_currency buys, as a decimal string such as "5.4321": the rate the variants' prices were converted at, fixed until expires_at, and the rate a payment consuming the quote is charged at. A string, like money amounts, so no float rounds it in transit. Null when nothing was converted.

expires_atstring required

When the quote stops being chargeable, as an ISO 8601 timestamp. Quote again after it.

idstring required

Payment quote ID, prefixed pq_.

located_by'shipping_address' | 'address' | 'ip_address' | 'null' nullable required

Which location tax was calculated for: shipping_address when it carries a country, else the billing address when it does, else the buyer's ip_address. A quote located by ip_address is a preview: a payment cannot use it, so quote again with the buyer's address to pay. Null when nothing in the request located the buyer, which only a seller that collects no tax on this purchase is quoted without; tax_status is then not_applicable.

payment_idstring nullable required

The payment holding this quote, prefixed pay_, or null while it is unspent. A declined payment keeps its quote and can be retried; check that payment's status.

promo_code_idstring nullable required

The promo code the quote applied, prefixed promo_, or null.

recommended_currenciesstring[] required
tax_behavior'inclusive' | 'exclusive' | 'null' nullable required

Whether tax is added on top of the price (exclusive) or already inside it (inclusive). Null when no tax was calculated.

tax_status'calculated' | 'not_applicable' | 'unavailable' required

calculated: every line was priced and a payment may consume the quote. not_applicable: this seller collects no tax on this purchase, so the quote owes none and may still be consumed. unavailable: tax could not be priced — the provider did not answer, or this seller's tax setup cannot price a purchase here — so a payment refuses the quote; quote again, or charge without quote_id to have tax calculated at charge time.

Example response

{
  "account_id": "biz_xxxxxxxxxxxxxx",
  "address": {
    "city": "Austin",
    "country": "US",
    "line1": "1114 Bouldin Ave",
    "line2": "Unit B",
    "name": "Dana Whitfield",
    "postal_code": "78704",
    "state": "TX"
  },
  "base_currency": "usd",
  "base_total": {
    "amount": "-1234.56",
    "currency": "usd",
    "decimals": 2,
    "display_decimals": 2
  },
  "created_at": "2026-01-01T12:00:00.000Z",
  "currency": "usd",
  "discount": {
    "amount": "-1234.56",
    "currency": "usd",
    "decimals": 2,
    "display_decimals": 2
  },
  "exchange_rate": "0.918",
  "expires_at": "2026-01-01T12:00:00.000Z",
  "id": "pq_xxxxxxxxxxxxxx",
  "line_items": [
    {
      "discount": {
        "amount": "-1234.56",
        "currency": "usd",
        "decimals": 2,
        "display_decimals": 2
      },
      "plan_id": "plan_xxxxxxxxxxxxxx",
      "quantity": 1,
      "subtotal": {
        "amount": "-1234.56",
        "currency": "usd",
        "decimals": 2,
        "display_decimals": 2
      },
      "tax_amount": {
        "amount": "-1234.56",
        "currency": "usd",
        "decimals": 2,
        "display_decimals": 2
      },
      "total": {
        "amount": "-1234.56",
        "currency": "usd",
        "decimals": 2,
        "display_decimals": 2
      }
    }
  ],
  "located_by": "address",
  "payment_id": "pay_xxxxxxxxxxxxxx",
  "recommended_currencies": [
    "usd"
  ],
  "shipping_address": {
    "city": "Austin",
    "country": "US",
    "line1": "1114 Bouldin Ave",
    "line2": "Unit B",
    "name": "Dana Whitfield",
    "postal_code": "78704",
    "state": "TX"
  },
  "subtotal": {
    "amount": "-1234.56",
    "currency": "usd",
    "decimals": 2,
    "display_decimals": 2
  },
  "tax_amount": {
    "amount": "-1234.56",
    "currency": "usd",
    "decimals": 2,
    "display_decimals": 2
  },
  "tax_behavior": "exclusive",
  "tax_ids": [
    {
      "type": "us_ein",
      "value": "12-3456789"
    }
  ],
  "tax_status": "calculated",
  "total": {
    "amount": "-1234.56",
    "currency": "usd",
    "decimals": 2,
    "display_decimals": 2
  }
}

Changes

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      endpoint added