customer or account.
* Customer and account tax IDs get displayed on related invoices and credit notes.
*
* Related guides: Customer tax identification numbers, Account tax IDs
*
* @property string $id Unique identifier for the object.
* @property string $object String representing the object's type. Objects of the same type share the same value.
* @property null|string $country Two-letter ISO code representing the country of the tax ID.
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
* @property null|Customer|string $customer ID of the customer.
* @property bool $livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode.
* @property null|(object{account?: Account|string, application?: Application|string, customer?: Customer|string, type: string}&StripeObject) $owner The account or customer the tax ID belongs to.
* @property string $type Type of the tax ID, one of ad_nrt, ae_trn, al_tin, am_tin, ao_tin, ar_cuit, au_abn, au_arn, aw_tin, az_tin, ba_tin, bb_tin, bd_bin, bf_ifu, bg_uic, bh_vat, bj_ifu, bo_tin, br_cnpj, br_cpf, bs_tin, by_tin, ca_bn, ca_gst_hst, ca_pst_bc, ca_pst_mb, ca_pst_sk, ca_qst, cd_nif, ch_uid, ch_vat, cl_tin, cm_niu, cn_tin, co_nit, cr_tin, cv_nif, de_stn, do_rcn, ec_ruc, eg_tin, es_cif, et_tin, eu_oss_vat, eu_vat, gb_vat, ge_vat, gn_nif, hk_br, hr_oib, hu_tin, id_npwp, il_vat, in_gst, is_vat, jp_cn, jp_rn, jp_trn, ke_pin, kg_tin, kh_tin, kr_brn, kz_bin, la_tin, li_uid, li_vat, ma_vat, md_vat, me_pib, mk_vat, mr_nif, mx_rfc, my_frp, my_itn, my_sst, ng_tin, no_vat, no_voec, np_pan, nz_gst, om_vat, pe_ruc, ph_tin, ro_tin, rs_pib, ru_inn, ru_kpp, sa_vat, sg_gst, sg_uen, si_tin, sn_ninea, sr_fin, sv_nit, th_vat, tj_tin, tr_tin, tw_vat, tz_vat, ua_vat, ug_tin, us_ein, uy_ruc, uz_tin, uz_vat, ve_rif, vn_tin, za_vat, zm_tin, or zw_tin. Note that some legacy tax IDs have type unknown
* @property string $value Value of the tax ID.
* @property null|(object{status: string, verified_address: null|string, verified_name: null|string}&StripeObject) $verification Tax ID verification information.
*/
class TaxId extends ApiResource
{
const OBJECT_NAME = 'tax_id';
const TYPE_AD_NRT = 'ad_nrt';
const TYPE_AE_TRN = 'ae_trn';
const TYPE_AL_TIN = 'al_tin';
const TYPE_AM_TIN = 'am_tin';
const TYPE_AO_TIN = 'ao_tin';
const TYPE_AR_CUIT = 'ar_cuit';
const TYPE_AU_ABN = 'au_abn';
const TYPE_AU_ARN = 'au_arn';
const TYPE_AW_TIN = 'aw_tin';
const TYPE_AZ_TIN = 'az_tin';
const TYPE_BA_TIN = 'ba_tin';
const TYPE_BB_TIN = 'bb_tin';
const TYPE_BD_BIN = 'bd_bin';
const TYPE_BF_IFU = 'bf_ifu';
const TYPE_BG_UIC = 'bg_uic';
const TYPE_BH_VAT = 'bh_vat';
const TYPE_BJ_IFU = 'bj_ifu';
const TYPE_BO_TIN = 'bo_tin';
const TYPE_BR_CNPJ = 'br_cnpj';
const TYPE_BR_CPF = 'br_cpf';
const TYPE_BS_TIN = 'bs_tin';
const TYPE_BY_TIN = 'by_tin';
const TYPE_CA_BN = 'ca_bn';
const TYPE_CA_GST_HST = 'ca_gst_hst';
const TYPE_CA_PST_BC = 'ca_pst_bc';
const TYPE_CA_PST_MB = 'ca_pst_mb';
const TYPE_CA_PST_SK = 'ca_pst_sk';
const TYPE_CA_QST = 'ca_qst';
const TYPE_CD_NIF = 'cd_nif';
const TYPE_CH_UID = 'ch_uid';
const TYPE_CH_VAT = 'ch_vat';
const TYPE_CL_TIN = 'cl_tin';
const TYPE_CM_NIU = 'cm_niu';
const TYPE_CN_TIN = 'cn_tin';
const TYPE_CO_NIT = 'co_nit';
const TYPE_CR_TIN = 'cr_tin';
const TYPE_CV_NIF = 'cv_nif';
const TYPE_DE_STN = 'de_stn';
const TYPE_DO_RCN = 'do_rcn';
const TYPE_EC_RUC = 'ec_ruc';
const TYPE_EG_TIN = 'eg_tin';
const TYPE_ES_CIF = 'es_cif';
const TYPE_ET_TIN = 'et_tin';
const TYPE_EU_OSS_VAT = 'eu_oss_vat';
const TYPE_EU_VAT = 'eu_vat';
const TYPE_GB_VAT = 'gb_vat';
const TYPE_GE_VAT = 'ge_vat';
const TYPE_GN_NIF = 'gn_nif';
const TYPE_HK_BR = 'hk_br';
const TYPE_HR_OIB = 'hr_oib';
const TYPE_HU_TIN = 'hu_tin';
const TYPE_ID_NPWP = 'id_npwp';
const TYPE_IL_VAT = 'il_vat';
const TYPE_IN_GST = 'in_gst';
const TYPE_IS_VAT = 'is_vat';
const TYPE_JP_CN = 'jp_cn';
const TYPE_JP_RN = 'jp_rn';
const TYPE_JP_TRN = 'jp_trn';
const TYPE_KE_PIN = 'ke_pin';
const TYPE_KG_TIN = 'kg_tin';
const TYPE_KH_TIN = 'kh_tin';
const TYPE_KR_BRN = 'kr_brn';
const TYPE_KZ_BIN = 'kz_bin';
const TYPE_LA_TIN = 'la_tin';
const TYPE_LI_UID = 'li_uid';
const TYPE_LI_VAT = 'li_vat';
const TYPE_MA_VAT = 'ma_vat';
const TYPE_MD_VAT = 'md_vat';
const TYPE_ME_PIB = 'me_pib';
const TYPE_MK_VAT = 'mk_vat';
const TYPE_MR_NIF = 'mr_nif';
const TYPE_MX_RFC = 'mx_rfc';
const TYPE_MY_FRP = 'my_frp';
const TYPE_MY_ITN = 'my_itn';
const TYPE_MY_SST = 'my_sst';
const TYPE_NG_TIN = 'ng_tin';
const TYPE_NO_VAT = 'no_vat';
const TYPE_NO_VOEC = 'no_voec';
const TYPE_NP_PAN = 'np_pan';
const TYPE_NZ_GST = 'nz_gst';
const TYPE_OM_VAT = 'om_vat';
const TYPE_PE_RUC = 'pe_ruc';
const TYPE_PH_TIN = 'ph_tin';
const TYPE_RO_TIN = 'ro_tin';
const TYPE_RS_PIB = 'rs_pib';
const TYPE_RU_INN = 'ru_inn';
const TYPE_RU_KPP = 'ru_kpp';
const TYPE_SA_VAT = 'sa_vat';
const TYPE_SG_GST = 'sg_gst';
const TYPE_SG_UEN = 'sg_uen';
const TYPE_SI_TIN = 'si_tin';
const TYPE_SN_NINEA = 'sn_ninea';
const TYPE_SR_FIN = 'sr_fin';
const TYPE_SV_NIT = 'sv_nit';
const TYPE_TH_VAT = 'th_vat';
const TYPE_TJ_TIN = 'tj_tin';
const TYPE_TR_TIN = 'tr_tin';
const TYPE_TW_VAT = 'tw_vat';
const TYPE_TZ_VAT = 'tz_vat';
const TYPE_UA_VAT = 'ua_vat';
const TYPE_UG_TIN = 'ug_tin';
const TYPE_UNKNOWN = 'unknown';
const TYPE_US_EIN = 'us_ein';
const TYPE_UY_RUC = 'uy_ruc';
const TYPE_UZ_TIN = 'uz_tin';
const TYPE_UZ_VAT = 'uz_vat';
const TYPE_VE_RIF = 've_rif';
const TYPE_VN_TIN = 'vn_tin';
const TYPE_ZA_VAT = 'za_vat';
const TYPE_ZM_TIN = 'zm_tin';
const TYPE_ZW_TIN = 'zw_tin';
/**
* Creates a new account or customer tax_id object.
*
* @param null|array{expand?: string[], owner?: array{account?: string, customer?: string, type: string}, type: string, value: string} $params
* @param null|array|string $options
*
* @return TaxId the created resource
*
* @throws Exception\ApiErrorException if the request fails
*/
public static function create($params = null, $options = null)
{
self::_validateParams($params);
$url = static::classUrl();
list($response, $opts) = static::_staticRequest('post', $url, $params, $options);
$obj = Util\Util::convertToStripeObject($response->json, $opts);
$obj->setLastResponse($response);
return $obj;
}
/**
* Deletes an existing account or customer tax_id object.
*
* @param null|array $params
* @param null|array|string $opts
*
* @return TaxId the deleted resource
*
* @throws Exception\ApiErrorException if the request fails
*/
public function delete($params = null, $opts = null)
{
self::_validateParams($params);
$url = $this->instanceUrl();
list($response, $opts) = $this->_request('delete', $url, $params, $opts);
$this->refreshFrom($response, $opts);
return $this;
}
/**
* Returns a list of tax IDs.
*
* @param null|array{ending_before?: string, expand?: string[], limit?: int, owner?: array{account?: string, customer?: string, type: string}, starting_after?: string} $params
* @param null|array|string $opts
*
* @return Collection of ApiResources
*
* @throws Exception\ApiErrorException if the request fails
*/
public static function all($params = null, $opts = null)
{
$url = static::classUrl();
return static::_requestPage($url, Collection::class, $params, $opts);
}
/**
* Retrieves an account or customer tax_id object.
*
* @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key
* @param null|array|string $opts
*
* @return TaxId
*
* @throws Exception\ApiErrorException if the request fails
*/
public static function retrieve($id, $opts = null)
{
$opts = Util\RequestOptions::parse($opts);
$instance = new static($id, $opts);
$instance->refresh();
return $instance;
}
const VERIFICATION_STATUS_PENDING = 'pending';
const VERIFICATION_STATUS_UNAVAILABLE = 'unavailable';
const VERIFICATION_STATUS_UNVERIFIED = 'unverified';
const VERIFICATION_STATUS_VERIFIED = 'verified';
}