---
title: "Attach business tax details to a payment intent"
method: POST
path: "/v1/sdk/payment-intents/{processorPaymentId}/business-details"
tags: ["Payment Intents"]
---

# Attach business tax details to a payment intent

`POST /v1/sdk/payment-intents/{processorPaymentId}/business-details`

## Request

- Base URL: `https://api.solvapay.com`
- URL: `https://api.solvapay.com/v1/sdk/payment-intents/{processorPaymentId}/business-details`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/solvapay/apis/solvapay-rest-api/docs/v1/sdk/payment-intents/:processorPaymentId/business-details/post.ts> (a function with typed inputs; its response is checked against the schema)

Applies business or consumer tax location to a payment intent and returns the calculated tax breakdown.

## Path parameters

- `processorPaymentId` string, required

## Request body

- BusinessDetailsDto
  - `businessName` string: Legal business name
  - `country` string: ISO 3166-1 alpha-2 country code
  - `customerCity` string: Billing city
  - `customerCountry` string: ISO 3166-1 alpha-2 billing country (non-business consumers)
  - `customerLine1` string: Billing address line 1
  - `customerLine2` string: Billing address line 2
  - `customerName` string: Customer full name
  - `customerPostalCode` string: Billing postal code (required by Stripe Tax for US)
  - `customerRef` string: Customer reference to persist business tax details on the customer record. Only honored by the payment-intent business-details endpoint; ignored on the checkout-session endpoint.
  - `customerState` string: Billing state/region
  - `isBusiness` boolean, required: Whether the purchase is on behalf of a business
  - `taxId` string: Tax / VAT identification number
  - `taxIdType` 'ae_trn' | 'al_tin' | 'am_tin' | 'ao_tin' | 'au_abn' | 'aw_tin' | 'az_tin' | 'ba_tin' | 'bb_tin' | 'bd_bin' | 'bf_ifu' | 'bh_vat' | 'bj_ifu' | 'bs_tin' | 'by_tin' | 'ca_gst_hst' | 'cd_nif' | 'ch_vat' | 'cl_tin' | 'cm_niu' | 'co_nit' | 'cr_tin' | 'cv_nif' | 'ec_ruc' | 'eg_tin' | 'et_tin' | 'eu_vat' | 'gb_vat' | 'ge_vat' | 'gn_nif' | 'hk_br' | 'id_npwp' | 'in_gst' | 'is_vat' | 'jp_trn' | 'ke_pin' | 'kg_tin' | 'kh_tin' | 'kr_brn' | 'kz_bin' | 'la_tin' | 'li_vat' | 'lk_vat' | 'ma_vat' | 'md_vat' | 'me_pib' | 'mk_vat' | 'mr_nif' | 'mx_rfc' | 'my_sst' | 'ng_tin' | 'no_vat' | 'np_pan' | 'nz_gst' | 'om_vat' | 'pe_ruc' | 'ph_tin' | 'rs_pib' | 'ru_inn' | 'sa_vat' | 'sg_gst' | 'sn_ninea' | 'sr_fin' | 'th_vat' | 'tj_tin' | 'tr_tin' | 'tw_vat' | 'tz_vat' | 'ua_vat' | 'ug_tin' | 'us_ein' | 'uy_ruc' | 'uz_vat' | 'vn_tin' | 'za_vat' | 'zm_tin' | 'zw_tin': Tax ID type

## Response `200`

Business details applied and tax breakdown returned

- AttachBusinessDetailsResponse
  - `taxBreakdown` TaxBreakdownDto, required
    - `currency` string, required: ISO 4217 currency code
    - `inclusive` boolean, required: Whether tax is included in the listed price
    - `notRegistered` boolean: True when Stripe reports taxability_reason not_collecting (no registration)
    - `subtotal` number, required: Pre-tax amount in minor units
    - `taxAmount` number, required: Tax amount in minor units
    - `taxRate` number, required: Tax rate as a decimal (e.g. 0.25 for 25%)
    - `taxType` 'amusement_tax' | 'communications_tax' | 'gst' | 'hst' | 'igst' | 'jct' | 'lease_tax' | 'pst' | 'qst' | 'retail_delivery_fee' | 'rst' | 'sales_tax' | 'service_tax' | 'vat': Stripe tax type (e.g. vat, sales_tax, gst)
    - `total` number, required: Total amount in minor units
    - `treatment` 'reverse_charge' | 'standard' | 'none' | 'not_collecting' | 'not_supported', required

## Other responses

- `400`: Invalid request or business details
- `404`: Payment intent not found

## Changes

- **2026-09-18** `aacdf8ae7816`: 1 warning, 75 info
  - added the new `not_supported` enum value to the `taxBreakdown/allOf[#/components/schemas/TaxBreakdownDto]/treatment` response property for the response status `200`
  - added the new `ae_trn` enum value to the request property `taxIdType`
  - added the new `al_tin` enum value to the request property `taxIdType`
  - added the new `am_tin` enum value to the request property `taxIdType`
  - …72 more
- **2026-08-13** `e356f6586bf2`: 1 info
  - added the media type `application/json` for the response with the status `200`
- **2026-07-30** `8578b7536a9f`: 8 info
  - added the new optional request property `customerCity`
  - added the new optional request property `customerCountry`
  - added the new optional request property `customerLine1`
  - added the new optional request property `customerLine2`
  - …4 more
- **2026-07-17** `bbc2ff2bc849`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/solvapay/apis/solvapay-rest-api/changes/v1/sdk/payment-intents/:processorPaymentId/business-details/post.md)

---

[API](https://skmtc.dev/solvapay/apis/solvapay-rest-api.md) - [All operations](https://skmtc.dev/solvapay/apis/solvapay-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/solvapay/apis/solvapay-rest-api/revisions/bd3a1cb8cb52?raw)
