| 1 |
<?php |
| 2 |
|
| 3 |
// File generated from our OpenAPI spec |
| 4 |
|
| 5 |
namespace Stripe; |
| 6 |
|
| 7 |
/** |
| 8 |
* You can add one or multiple tax IDs to a <a |
| 9 |
* href="https://stripe.com/docs/api/customers">customer</a>. A customer's tax IDs |
| 10 |
* are displayed on invoices and credit notes issued for the customer. |
| 11 |
* |
| 12 |
* Related guide: <a href="https://stripe.com/docs/billing/taxes/tax-ids">Customer |
| 13 |
* Tax Identification Numbers</a>. |
| 14 |
* |
| 15 |
* @property string $id Unique identifier for the object. |
| 16 |
* @property string $object String representing the object's type. Objects of the same type share the same value. |
| 17 |
* @property null|string $country Two-letter ISO code representing the country of the tax ID. |
| 18 |
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch. |
| 19 |
* @property null|string|\Stripe\Customer $customer ID of the customer. |
| 20 |
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode. |
| 21 |
* @property string $type Type of the tax ID, one of <code>ae_trn</code>, <code>au_abn</code>, <code>au_arn</code>, <code>bg_uic</code>, <code>br_cnpj</code>, <code>br_cpf</code>, <code>ca_bn</code>, <code>ca_gst_hst</code>, <code>ca_pst_bc</code>, <code>ca_pst_mb</code>, <code>ca_pst_sk</code>, <code>ca_qst</code>, <code>ch_vat</code>, <code>cl_tin</code>, <code>es_cif</code>, <code>eu_oss_vat</code>, <code>eu_vat</code>, <code>gb_vat</code>, <code>ge_vat</code>, <code>hk_br</code>, <code>hu_tin</code>, <code>id_npwp</code>, <code>il_vat</code>, <code>in_gst</code>, <code>is_vat</code>, <code>jp_cn</code>, <code>jp_rn</code>, <code>kr_brn</code>, <code>li_uid</code>, <code>mx_rfc</code>, <code>my_frp</code>, <code>my_itn</code>, <code>my_sst</code>, <code>no_vat</code>, <code>nz_gst</code>, <code>ru_inn</code>, <code>ru_kpp</code>, <code>sa_vat</code>, <code>sg_gst</code>, <code>sg_uen</code>, <code>si_tin</code>, <code>th_vat</code>, <code>tw_vat</code>, <code>ua_vat</code>, <code>us_ein</code>, or <code>za_vat</code>. Note that some legacy tax IDs have type <code>unknown</code> |
| 22 |
* @property string $value Value of the tax ID. |
| 23 |
* @property null|\Stripe\StripeObject $verification Tax ID verification information. |
| 24 |
*/ |
| 25 |
class TaxId extends ApiResource |
| 26 |
{ |
| 27 |
const OBJECT_NAME = 'tax_id'; |
| 28 |
|
| 29 |
use ApiOperations\Delete; |
| 30 |
|
| 31 |
const TYPE_AE_TRN = 'ae_trn'; |
| 32 |
const TYPE_AU_ABN = 'au_abn'; |
| 33 |
const TYPE_AU_ARN = 'au_arn'; |
| 34 |
const TYPE_BG_UIC = 'bg_uic'; |
| 35 |
const TYPE_BR_CNPJ = 'br_cnpj'; |
| 36 |
const TYPE_BR_CPF = 'br_cpf'; |
| 37 |
const TYPE_CA_BN = 'ca_bn'; |
| 38 |
const TYPE_CA_GST_HST = 'ca_gst_hst'; |
| 39 |
const TYPE_CA_PST_BC = 'ca_pst_bc'; |
| 40 |
const TYPE_CA_PST_MB = 'ca_pst_mb'; |
| 41 |
const TYPE_CA_PST_SK = 'ca_pst_sk'; |
| 42 |
const TYPE_CA_QST = 'ca_qst'; |
| 43 |
const TYPE_CH_VAT = 'ch_vat'; |
| 44 |
const TYPE_CL_TIN = 'cl_tin'; |
| 45 |
const TYPE_ES_CIF = 'es_cif'; |
| 46 |
const TYPE_EU_OSS_VAT = 'eu_oss_vat'; |
| 47 |
const TYPE_EU_VAT = 'eu_vat'; |
| 48 |
const TYPE_GB_VAT = 'gb_vat'; |
| 49 |
const TYPE_GE_VAT = 'ge_vat'; |
| 50 |
const TYPE_HK_BR = 'hk_br'; |
| 51 |
const TYPE_HU_TIN = 'hu_tin'; |
| 52 |
const TYPE_ID_NPWP = 'id_npwp'; |
| 53 |
const TYPE_IL_VAT = 'il_vat'; |
| 54 |
const TYPE_IN_GST = 'in_gst'; |
| 55 |
const TYPE_IS_VAT = 'is_vat'; |
| 56 |
const TYPE_JP_CN = 'jp_cn'; |
| 57 |
const TYPE_JP_RN = 'jp_rn'; |
| 58 |
const TYPE_KR_BRN = 'kr_brn'; |
| 59 |
const TYPE_LI_UID = 'li_uid'; |
| 60 |
const TYPE_MX_RFC = 'mx_rfc'; |
| 61 |
const TYPE_MY_FRP = 'my_frp'; |
| 62 |
const TYPE_MY_ITN = 'my_itn'; |
| 63 |
const TYPE_MY_SST = 'my_sst'; |
| 64 |
const TYPE_NO_VAT = 'no_vat'; |
| 65 |
const TYPE_NZ_GST = 'nz_gst'; |
| 66 |
const TYPE_RU_INN = 'ru_inn'; |
| 67 |
const TYPE_RU_KPP = 'ru_kpp'; |
| 68 |
const TYPE_SA_VAT = 'sa_vat'; |
| 69 |
const TYPE_SG_GST = 'sg_gst'; |
| 70 |
const TYPE_SG_UEN = 'sg_uen'; |
| 71 |
const TYPE_SI_TIN = 'si_tin'; |
| 72 |
const TYPE_TH_VAT = 'th_vat'; |
| 73 |
const TYPE_TW_VAT = 'tw_vat'; |
| 74 |
const TYPE_UA_VAT = 'ua_vat'; |
| 75 |
const TYPE_UNKNOWN = 'unknown'; |
| 76 |
const TYPE_US_EIN = 'us_ein'; |
| 77 |
const TYPE_ZA_VAT = 'za_vat'; |
| 78 |
|
| 79 |
const VERIFICATION_STATUS_PENDING = 'pending'; |
| 80 |
const VERIFICATION_STATUS_UNAVAILABLE = 'unavailable'; |
| 81 |
const VERIFICATION_STATUS_UNVERIFIED = 'unverified'; |
| 82 |
const VERIFICATION_STATUS_VERIFIED = 'verified'; |
| 83 |
|
| 84 |
/** |
| 85 |
* @return string the API URL for this tax id |
| 86 |
*/ |
| 87 |
public function instanceUrl() |
| 88 |
{ |
| 89 |
$id = $this['id']; |
| 90 |
$customer = $this['customer']; |
| 91 |
if (!$id) { |
| 92 |
throw new Exception\UnexpectedValueException( |
| 93 |
"Could not determine which URL to request: class instance has invalid ID: {$id}" |
| 94 |
); |
| 95 |
} |
| 96 |
$id = Util\Util::utf8($id); |
| 97 |
$customer = Util\Util::utf8($customer); |
| 98 |
|
| 99 |
$base = Customer::classUrl(); |
| 100 |
$customerExtn = \urlencode($customer); |
| 101 |
$extn = \urlencode($id); |
| 102 |
|
| 103 |
return "{$base}/{$customerExtn}/tax_ids/{$extn}"; |
| 104 |
} |
| 105 |
|
| 106 |
/** |
| 107 |
* @param array|string $_id |
| 108 |
* @param null|array|string $_opts |
| 109 |
* |
| 110 |
* @throws \Stripe\Exception\BadMethodCallException |
| 111 |
*/ |
| 112 |
public static function retrieve($_id, $_opts = null) |
| 113 |
{ |
| 114 |
$msg = 'Tax IDs cannot be retrieved without a customer ID. Retrieve ' . |
| 115 |
"a tax ID using `Customer::retrieveTaxId('customer_id', " . |
| 116 |
"'tax_id_id')`."; |
| 117 |
|
| 118 |
throw new Exception\BadMethodCallException($msg); |
| 119 |
} |
| 120 |
} |
| 121 |
|