UserDetailsModel

  • address
    Type: string Pattern: ^(?=.*[a-zA-Z])(?!.*@).*$
    required

    Customer's street address. Required. 5-60 characters, must include street name.

  • city
    Type: string Pattern: ^[A-Za-z\u00C0-\u024F''.\-]+(?:[\s\-][A-Za-z\u00C0-\u024F''.\-]+)*$
    required

    Customer's city. Required. 3-32 characters.

  • email
    Type: string Pattern: ^[^\s@]+@[^\s@]+\.[^\s@]+$Format: email
    required

    Customer's email address. Required. Must be a valid email format.

  • firstName
    Type: string Pattern: ^[a-zA-Z' .-]+$
    required

    Customer's first name. Required. 2-32 characters, letters only (including dot, whitespace, dash, apostrophe).

  • lastName
    Type: string Pattern: ^[a-zA-Z' .-]+$
    required

    Customer's last name. Required. 2-32 characters, letters only (including dot, whitespace, dash, apostrophe).

  • state
    Type: string Pattern: ^[a-zA-Z]+$
    required

    Two-letter US state code. Required. Must match the state derived from the ZIP code.

  • zip
    Type: string Format: postal-code
    required

    5-digit US ZIP code. Required. Must be a valid ZIP code that matches the state.

  • addressApartment
    Type: string | null

    Optional. Apartment, suite, or unit number. Maximum 4 characters.

  • billingAddress
    Type: string | null Pattern: ^(?=.*[a-zA-Z])(?!.*@).*$

    Billing street address. Required when isBillingAddressDifferent is true. 5 to 60 characters, must contain a letter, and must not contain an @.

  • billingAddressApartment
    Type: string | null

    Billing apartment, suite, or unit. Always optional, even when isBillingAddressDifferent is true. Maximum 4 characters.

  • billingCity
    Type: string | null

    Billing city. Required when isBillingAddressDifferent is true. 3 to 32 characters.

  • billingFirstName
    Type: string | null Pattern: ^[a-zA-Z' .-]+$

    Cardholder's first name. Required when isBillingAddressDifferent is true. 2 to 32 characters. Letters plus dot, space, dash, and apostrophe only; no digits.

  • billingLastName
    Type: string | null Pattern: ^[a-zA-Z' .-]+$

    Cardholder's last name. Required when isBillingAddressDifferent is true. 2 to 32 characters. Letters plus dot, space, dash, and apostrophe only; no digits.

  • billingState
    Type: string | null Pattern: ^[a-zA-Z]+$

    Billing state as a two-letter US code. Required when isBillingAddressDifferent is true. Letters only.

  • billingZip
    Type: string | null Format: postal-code

    Billing US ZIP code. Required when isBillingAddressDifferent is true. Unlike the customer's zip, this is not cross-checked against billingState.

  • isBillingAddressDifferent
    Type: boolean

    Set to true when the card's billing address differs from the customer's address above. Defaults to false, in which case every billing* field below is ignored and can be omitted.

    When true, all of billingFirstName, billingLastName, billingAddress, billingCity, billingState, and billingZip become required. Only billingAddressApartment stays optional.

  • phoneNumber
    Type: string | null

    Customer's phone number. Optional but recommended. 10-digit US phone number.