Parameters for cardholder create.
Summary
Types
@type billing() :: %{ optional(:address) => billing_address() | nil, optional(String.t()) => term() }
address- The cardholder’s billing address.
@type billing_address() :: %{ optional(:city) => String.t() | nil, optional(:country) => String.t() | nil, optional(:line1) => String.t() | nil, optional(:line2) => String.t() | nil, optional(:postal_code) => String.t() | nil, optional(:state) => String.t() | nil, optional(String.t()) => term() }
city- City, district, suburb, town, or village. Max length: 5000.country- Two-letter country code (ISO 3166-1 alpha-2). Max length: 5000.line1- Address line 1, such as the street, PO Box, or company name. Max length: 5000.line2- Address line 2, such as the apartment, suite, unit, or building. Max length: 5000.postal_code- ZIP or postal code. Max length: 5000.state- State, county, province, or region (ISO 3166-2). Max length: 5000.
tax_id- The entity's business ID number. Max length: 5000.
@type individual() :: %{ optional(:card_issuing) => individual_card_issuing() | nil, optional(:dob) => individual_dob() | nil, optional(:first_name) => String.t() | nil, optional(:last_name) => String.t() | nil, optional(:verification) => individual_verification() | nil, optional(String.t()) => term() }
card_issuing- Information related to the card_issuing program for this cardholder.dob- The date of birth of this cardholder. Cardholders must be older than 13 years old.first_name- The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters.last_name- The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters.verification- Government-issued ID document for this cardholder.
@type individual_card_issuing() :: %{ optional(:user_terms_acceptance) => individual_card_issuing_user_terms_acceptance() | nil, optional(String.t()) => term() }
user_terms_acceptance- Information about cardholder acceptance of Celtic Authorized User Terms. Required for cards backed by a Celtic program.
@type individual_card_issuing_user_terms_acceptance() :: %{ optional(:date) => integer() | nil, optional(:ip) => String.t() | nil, optional(:user_agent) => map() | nil, optional(String.t()) => term() }
date- The Unix timestamp marking when the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. Format: Unix timestamp.ip- The IP address from which the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users.user_agent- The user agent of the browser from which the cardholder accepted the Authorized User Terms.
@type individual_dob() :: %{ optional(:day) => integer() | nil, optional(:month) => integer() | nil, optional(:year) => integer() | nil, optional(String.t()) => term() }
day- The day of birth, between 1 and 31.month- The month of birth, between 1 and 12.year- The four-digit year of birth.
@type individual_verification() :: %{ optional(:document) => individual_verification_document() | nil, optional(String.t()) => term() }
document- An identifying document, either a passport or local ID card.
@type individual_verification_document() :: %{ optional(:back) => String.t() | nil, optional(:front) => String.t() | nil, optional(String.t()) => term() }
back- The back of an ID returned by a file upload with apurposevalue ofidentity_document. Max length: 5000.front- The front of an ID returned by a file upload with apurposevalue ofidentity_document. Max length: 5000.
@type spending_controls() :: %{ optional(:allowed_categories) => [String.t()] | nil, optional(:allowed_merchant_countries) => [String.t()] | nil, optional(:blocked_categories) => [String.t()] | nil, optional(:blocked_merchant_countries) => [String.t()] | nil, optional(:spending_limits) => [spending_controls_spending_limits()] | nil, optional(:spending_limits_currency) => String.t() | nil, optional(String.t()) => term() }
allowed_categories- Array of strings containing categories of authorizations to allow. All other categories will be blocked. Cannot be set withblocked_categories.allowed_merchant_countries- Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g.US). Cannot be set withblocked_merchant_countries. Provide an empty value to unset this control.blocked_categories- Array of strings containing categories of authorizations to decline. All other categories will be allowed. Cannot be set withallowed_categories.blocked_merchant_countries- Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g.US). Cannot be set withallowed_merchant_countries. Provide an empty value to unset this control.spending_limits- Limit spending with amount-based rules that apply across this cardholder's cards.spending_limits_currency- Currency of amounts withinspending_limits. Defaults to your merchant country's currency.
@type spending_controls_spending_limits() :: %{ optional(:amount) => integer() | nil, optional(:categories) => [String.t()] | nil, optional(:interval) => String.t() | nil, optional(String.t()) => term() }
amount- Maximum amount allowed to spend per interval.categories- Array of strings containing categories this limit applies to. Omitting this field will apply the limit to all categories.interval- Interval (or event) to which the amount applies. Possible values:all_time,daily,monthly,per_authorization,weekly,yearly.
@type t() :: %Stripe.Params.Issuing.CardholderCreateParams{ billing: billing(), company: company() | nil, email: String.t() | nil, expand: [String.t()] | nil, individual: individual() | nil, metadata: %{required(String.t()) => String.t()} | nil, name: String.t(), phone_number: String.t() | nil, preferred_locales: [String.t()] | nil, spending_controls: spending_controls() | nil, status: String.t() | nil, type: String.t() | nil }
billing- The cardholder's billing address.company- Additional information about acompanycardholder.email- The cardholder's email address.expand- Specifies which fields in the response should be expanded.individual- Additional information about anindividualcardholder.metadata- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value tometadata.name- The cardholder's name. This will be printed on cards issued to them. The maximum length of this field is 24 characters. This field cannot contain any special characters or numbers.phone_number- The cardholder's phone number. This will be transformed to E.164 if it is not provided in that format already. This is required for all cardholders who will be creating EU cards. See the 3D Secure documentation for more details.preferred_locales- The cardholder’s preferred locales (languages), ordered by preference. Locales can bede,en,es,fr, orit. This changes the language of the 3D Secure flow and one-time password messages sent to the cardholder.spending_controls- Rules that control spending across this cardholder's cards. Refer to our documentation for more details.status- Specifies whether to permit authorizations on this cardholder's cards. Defaults toactive. Possible values:active,inactive.type- One ofindividualorcompany. See Choose a cardholder type for more details. Possible values:company,individual.