github.com/stripe/stripe-go/v76@v76.25.0/countryspec.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 package stripe 8 9 // Lists all Country Spec objects available in the API. 10 type CountrySpecListParams struct { 11 ListParams `form:"*"` 12 // Specifies which fields in the response should be expanded. 13 Expand []*string `form:"expand"` 14 } 15 16 // AddExpand appends a new field to expand. 17 func (p *CountrySpecListParams) AddExpand(f string) { 18 p.Expand = append(p.Expand, &f) 19 } 20 21 // Country is the list of supported countries 22 type Country string 23 24 // Returns a Country Spec for a given Country code. 25 type CountrySpecParams struct { 26 Params `form:"*"` 27 // Specifies which fields in the response should be expanded. 28 Expand []*string `form:"expand"` 29 } 30 31 // AddExpand appends a new field to expand. 32 func (p *CountrySpecParams) AddExpand(f string) { 33 p.Expand = append(p.Expand, &f) 34 } 35 36 // VerificationFieldsList lists the fields needed for an account verification. 37 // For more details see https://stripe.com/docs/api#country_spec_object-verification_fields. 38 type VerificationFieldsList struct { 39 AdditionalFields []string `json:"additional"` 40 Minimum []string `json:"minimum"` 41 } 42 43 // Stripe needs to collect certain pieces of information about each account 44 // created. These requirements can differ depending on the account's country. The 45 // Country Specs API makes these rules available to your integration. 46 // 47 // You can also view the information from this API call as [an online 48 // guide](https://stripe.com/docs/connect/required-verification-information). 49 type CountrySpec struct { 50 APIResource 51 // The default currency for this country. This applies to both payment methods and bank accounts. 52 DefaultCurrency Currency `json:"default_currency"` 53 // Unique identifier for the object. Represented as the ISO country code for this country. 54 ID string `json:"id"` 55 // String representing the object's type. Objects of the same type share the same value. 56 Object string `json:"object"` 57 // Currencies that can be accepted in the specific country (for transfers). 58 SupportedBankAccountCurrencies map[Currency][]Country `json:"supported_bank_account_currencies"` 59 // Currencies that can be accepted in the specified country (for payments). 60 SupportedPaymentCurrencies []Currency `json:"supported_payment_currencies"` 61 // Payment methods available in the specified country. You may need to enable some payment methods (e.g., [ACH](https://stripe.com/docs/ach)) on your account before they appear in this list. The `stripe` payment method refers to [charging through your platform](https://stripe.com/docs/connect/destination-charges). 62 SupportedPaymentMethods []string `json:"supported_payment_methods"` 63 // Countries that can accept transfers from the specified country. 64 SupportedTransferCountries []string `json:"supported_transfer_countries"` 65 VerificationFields map[AccountBusinessType]*VerificationFieldsList `json:"verification_fields"` 66 } 67 68 // CountrySpecList is a list of CountrySpecs as retrieved from a list endpoint. 69 type CountrySpecList struct { 70 APIResource 71 ListMeta 72 Data []*CountrySpec `json:"data"` 73 }