wallet (JSON object)

Contains information needed to launch a wallet payment page and returns the shopper details from the wallet.

Includes the following properties, depending on whether it is for Apple Pay on the web or Visa Checkout:\

{`

`}

Apple Pay

Request - Create Wallet

  <th>
    Type
  </th>

  <th>
    Required
  </th>

  <th>
    Description
  </th>
</tr>
  <td>
    *string*
  </td>

  <td>
    **Required**
  </td>

  <td>
    Wallet type.\
    Value must be **APPLE\_PAY**.
  </td>
</tr>

<tr>
  <td>
    `validationUrl`
  </td>

  <td>
    *string*
  </td>

  <td>
    **Required**
  </td>

  <td>
    The URL used to validate the merchant's server.

    Value is extracted from `event.validationURL`. See [Apple Pay Guide](/docs/apple-pay#section-step-4-set-up-the-onvalidatemerchant-callback).
  </td>
</tr>

<tr>
  <td>
    `domainName`
  </td>

  <td>
    *string*
  </td>

  <td>
    **Required**
  </td>

  <td>
    Merchant's [registered domain](/docs/apple-pay#section-step-1-verify-your-domain).
  </td>
</tr>

<tr>
  <td>
    `displayName`
  </td>

  <td>
    *string*
  </td>

  <td>
    Optional
  </td>

  <td>
    The name displayed on Touch Bar of newer Macs. 

    Maximum 64 characters.
  </td>
</tr>
Property Name
`walletType`

###Request - Onboard Apple Pay
  <th>
    Type
  </th>

  <th>
    Required
  </th>

  <th>
    Description
  </th>
</tr>
  <td>
    *string*
  </td>

  <td>
    **Required**
  </td>

  <td>
    Wallet type.\
    Value must be **APPLE\_PAY**.
  </td>
</tr>

<tr>
  <td>
    `applePay`
  </td>

  <td>
    *object*
  </td>

  <td>
    **Required**
  </td>

  <td>
    Object containing: 

    * `domains`   *array*  **Required**    Contains the domain names that will display the Apple Pay button (e.g. ["merchant.com", "bluesnap.com"]).

    * \*Note\*\*: Do not include `https://` in the domain name
  </td>
</tr>
Property Name
`walletType`

### Request - Update Apple Pay Onboarding Information
  <th>
    Type
  </th>

  <th>
    Required
  </th>

  <th>
    Description
  </th>
</tr>
  <td>
    *string*
  </td>

  <td>
    **Required**
  </td>

  <td>
    Wallet type.\
    Value must be **APPLE\_PAY**.
  </td>
</tr>

<tr>
  <td>
    `applePay`
  </td>

  <td>
    *object*
  </td>

  <td>
    **Required**
  </td>

  <td>
    Object containing: 

    * `domains`   *array*  Optional    Contains the names of the domains to register. 

    * `unregisterDomains`   *array*  Optional    Contains the names of the domains to unregister. 

    * \*Note:\*\* Do not include `https://` in the domain name
  </td>
</tr>
Property Name
`walletType`

###Response - Create Wallet
  <th>
    Type
  </th>

  <th>
    Description
  </th>
</tr>
  <td>
    *string*
  </td>

  <td>
    Wallet type.
  </td>
</tr>

<tr>
  <td>
    `walletToken`
  </td>

  <td>
    *string*
  </td>

  <td>
    Token for the wallet.
  </td>
</tr>
Property Name
`walletType`

###Response - Update & Retrieve Apple Pay Onboarding Information
  <th>
    Type
  </th>

  <th>
    Description
  </th>
</tr>
  <td>
    *string*
  </td>

  <td>
    Wallet type.
  </td>
</tr>

<tr>
  <td>
    `applePay`
  </td>

  <td>
    *object*
  </td>

  <td>
    Object containing: 

    * `domains`   *array*  Contains the domain names that will display the Apple Pay button (e.g. ["merchant.com", "bluesnap.com"]).
  </td>
</tr>
Property Name
`walletType`

{`

`}

Visa Checkout

Request - Create Wallet

  <th>
    Type
  </th>

  <th>
    Required
  </th>

  <th>
    Description
  </th>
</tr>
  <td>
    *string*
  </td>

  <td>
    **Required**
  </td>

  <td>
    Wallet type.\
    Value must be **VISA\_CHECKOUT**.
  </td>
</tr>

<tr>
  <td>
    `callId`
  </td>

  <td>
    *string*
  </td>

  <td>
    **Required**
  </td>

  <td>
    The ID returned from Visa Checkout on success event.\
    See [Implementing Visa Checkout](/docs/visa-checkout#section-implementing-visa-checkout).
  </td>
</tr>
Property Name
`walletType`

###Response - Create Wallet
  <th>
    Type
  </th>

  <th>
    Description
  </th>
</tr>
  <td>
    *long*
  </td>

  <td>
    ID associated with this wallet resource.
  </td>
</tr>

<tr>
  <td>
    `firstName`
  </td>

  <td>
    *string*
  </td>

  <td>
    Shopper's first name.
  </td>
</tr>

<tr>
  <td>
    `lastName`
  </td>

  <td>
    *string*
  </td>

  <td>
    Shopper's last name.
  </td>
</tr>

<tr>
  <td>
    `email`
  </td>

  <td>
    *string*
  </td>

  <td>
    Shopper's email.
  </td>
</tr>

<tr>
  <td>
    `country`
  </td>

  <td>
    *string*
  </td>

  <td>
    Shopper's country code.\
    See [Country codes](/docs/country-codes).
  </td>
</tr>

<tr>
  <td>
    `phone`
  </td>

  <td>
    *string*
  </td>

  <td>
    Shopper's phone number.
  </td>
</tr>

<tr>
  <td>
    `creditCard`
  </td>

  <td>
    *object*
  </td>

  <td>
    Contains [creditCard](/v8976-JSON/docs/credit-card) properties.
  </td>
</tr>

<tr>
  <td>
    `billingContactInfo`
  </td>

  <td>
    *object*
  </td>

  <td>
    Container of [billingContactInfo](/v8976-JSON/docs/billing-contact-info) properties.
  </td>
</tr>

<tr>
  <td>
    `shippingContactInfo`
  </td>

  <td>
    *object*
  </td>

  <td>
    Container of [shippingContactInfo](/v8976-JSON/docs/shipping-contact-info)  properties.
  </td>
</tr>
Property Name
`walletId`

###Response - Retrieve Wallet
  <th>
    Type
  </th>

  <th>
    Description
  </th>
</tr>
  <td>
    *string*
  </td>

  <td>
    Shopper's first name.
  </td>
</tr>

<tr>
  <td>
    `lastName`
  </td>

  <td>
    *string*
  </td>

  <td>
    Shopper's last name.
  </td>
</tr>

<tr>
  <td>
    `email`
  </td>

  <td>
    *string*
  </td>

  <td>
    Shopper's email.
  </td>
</tr>

<tr>
  <td>
    `country`
  </td>

  <td>
    *string*
  </td>

  <td>
    Shopper's country code.\
    See [Country codes](/docs/country-codes).
  </td>
</tr>

<tr>
  <td>
    `phone`
  </td>

  <td>
    *string*
  </td>

  <td>
    Shopper's phone number.
  </td>
</tr>

<tr>
  <td>
    `creditCard`
  </td>

  <td>
    *object*
  </td>

  <td>
    Container of [creditCard](/v8976-JSON/docs/credit-card) properties.
  </td>
</tr>

<tr>
  <td>
    `billingContactInfo`
  </td>

  <td>
    *object*
  </td>

  <td>
    Container of [billingContactInfo](/v8976-JSON/docs/billing-contact-info) properties.
  </td>
</tr>

<tr>
  <td>
    `shippingContactInfo`
  </td>

  <td>
    *object*
  </td>

  <td>
    Container of [shippingContactInfo](/v8976-JSON/docs/shipping-contact-info)  properties.
  </td>
</tr>
Property Name
`firstName`

{`

`}