4
0

TaxId.php 4.9 KB

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