Skip to main content
A Payment Quote prices a purchase exactly as a payment for it will be charged: the same line pricing, promo code, and tax, for a buyer located by the address, country, or IP address you send. A quote is priced once, can be consumed by one payment, and expires. Use the Payment Quotes API to show a buyer the total, tax, and currency before they pay, then pass the quote’s id as quote_id when you create the payment to charge exactly that quote. Quote again whenever the cart, promo code, or address changes.

Endpoints

Attributes

string
required
Payment quote ID, prefixed pq_.
string
required
The account the purchase is priced for, prefixed biz_.
object | null
required
The billing address the purchase was priced with, or null. Where tax was calculated when no shipping address was given, and the address the registration belongs to.

Properties

string | null
required
The city.
string | null
required
The ISO 3166-1 alpha-2 country code.
string | null
required
The first street address line.
string | null
required
The second street address line.
string | null
required
The name on the address.
string | null
required
The postal or ZIP code.
string | null
required
The state, province or region.
string
required
Three-letter ISO 4217 code of the variants’ own currency, lowercase. Equal to currency when nothing was converted.
object
required
total in base_currency at exchange_rate: the variants’ own prices after the promo code, plus tax_amount converted at exchange_rate when tax is added on top. Equal to total when nothing was converted. The payment charges total, in currency.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string
required
When the quote was priced, as an ISO 8601 timestamp.
string
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.
object
required
What the promo code takes off. Zero without a code.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
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.
string
required
When the quote stops being chargeable, as an ISO 8601 timestamp. Quote again after it.
object[]
required
One entry per variant, in the order given, each carrying its own tax.

Properties

object
required
The promo code’s share on this line. Zero without a code.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
required
The variant this line prices, prefixed plan_. Null when the purchase describes the variant by plan and no variant with those attributes exists yet: the payment that consumes the quote creates it, and the line names it from then on.
integer
required
How many units of the variant the line covers.
object
required
The line’s price before the promo code’s share and tax; subtotal minus discount is what the line comes to after the discount. The lines’ subtotals sum to the quote’s subtotal.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
object
required
The tax on this line. Zero when tax_status is not calculated.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
object
required
subtotal minus discount, plus tax_amount when tax is added on top, or without it when the price already includes it.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
required
Which location tax was calculated for: shipping_address when it carries a country, else the billing address when it does, else the presentment_country sent, else the buyer’s ip_address. A quote located by presentment_country or ip_address is a preview that estimates tax: 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.Available options: shipping_address, address, presentment_country, ip_address
string | null
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.
string | null
required
The promo code the quote applied, prefixed promo_, or null.
Lowercase ISO 4217 codes to offer the buyer in a currency picker, most relevant first: the currency of the presentment_country sent, else of the country the buyer’s ip_address is in, when this purchase can be converted into it and a payment method can collect it, then base_currency. Quote again with one as presentment_currency to price in it. Only base_currency when the quote was priced without presentment_currency or presentment_country.
object | null
required
The shipping address the purchase was priced with, or null. When present it is where tax was calculated.

Properties

string | null
required
The city.
string | null
required
The ISO 3166-1 alpha-2 country code.
string | null
required
The first street address line.
string | null
required
The second street address line.
string | null
required
The name on the address.
string | null
required
The postal or ZIP code.
string | null
required
The state, province or region.
object
required
The price of every line before the promo code, tax and fees.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
object
required
The tax a payment consuming this quote charges. Zero unless tax_status is calculated.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
required
Whether tax is added on top of the price (exclusive) or already inside it (inclusive). Null when no tax was calculated.Available options: inclusive, exclusive
object[]
required
The buyer’s tax registration the quote priced as a business purchase. Empty for a consumer purchase.

Properties

string
required
The registration’s type, such as eu_vat.Available options: ad_nrt, ao_tin, ar_cuit, al_tin, am_tin, aw_tin, au_abn, au_arn, eu_vat, az_tin, bs_tin, bh_vat, bd_bin, bb_tin, by_tin, bj_ifu, bo_tin, ba_tin, br_cnpj, br_cpf, bg_uic, bf_ifu, kh_tin, cm_niu, ca_bn, ca_gst_hst, ca_pst_bc, ca_pst_mb, ca_pst_sk, ca_qst, cv_nif, cl_tin, cn_tin, co_nit, cd_nif, cr_tin, hr_oib, do_rcn, ec_ruc, eg_tin, sv_nit, et_tin, eu_oss_vat, ge_vat, gh_tin, de_stn, gb_vat, gn_nif, hk_br, hu_tin, is_vat, in_gst, id_npwp, il_vat, jp_cn, jp_rn, jp_trn, kz_bin, ke_pin, kg_tin, la_tin, li_uid, li_vat, my_frp, my_itn, my_sst, mr_nif, mx_rfc, md_vat, me_pib, ma_vat, np_pan, nz_gst, ng_tin, mk_vat, no_vat, no_voec, om_vat, pe_ruc, ph_tin, pl_nip, ro_tin, ru_inn, ru_kpp, sa_vat, sn_ninea, rs_pib, sg_gst, sg_uen, si_tin, za_vat, kr_brn, es_cif, ch_uid, ch_vat, tw_vat, tj_tin, tz_vat, th_vat, tr_tin, ug_tin, ua_vat, ae_trn, us_ein, uy_ruc, uz_tin, uz_vat, ve_rif, vn_tin, zm_tin, zw_tin, sr_fin, xi_vat
string
required
The registration number as the buyer entered it, whitespace removed (eu_vat values also drop dots and dashes).
string
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.Available options: calculated, not_applicable, unavailable
object
required
What the buyer pays: the subtotal less the discount, plus tax_amount when tax is added on top.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
PaymentQuote