# Parameters
source: https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md

## Summary {#summary}

The following is a consolidated list of common composite objects that are referenced at multiple instances throughout the documentation.

### DPA data {#dpa-data}

This structure represents the configuration parameters that are common across all transactions. This originates from the DPA.

Description of data elements:

|          Name           |  Type  |   Mandate   |                                                                                                                                                                                    Description                                                                                                                                                                                    |
|-------------------------|--------|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **dpaPresentationName** | String | Conditional | Display name of the DPA website. This parameter is optional for TAF in Secure Card on File.                                                                                                                                                                                                                                                                                       |
| **dpaName**             | String | Required    | Display merchant's legal name that is registered as DPA. The maximum length of this parameter is 60 bytes. Note: The `dpaName` parameter is required for Token Authentication Service (TAS) and must be provided when performing the passkey flow for Click to Pay. If it is omitted, authentication may fail without any explicit error indication, preventing passkey creation. |
| **dpaUri**              | URL    | Conditional | URL of the DPA website.                                                                                                                                                                                                                                                                                                                                                           |

### DPA transaction options {#dpa-transaction-options}

The DpaTransactionOptions represents the DPA transaction configuration parameters that are specific to the transaction.

```javascript
dictionary DpaTransactionOptions {
   optional List<String> dpaAcceptedBillingCountries;
   optional List<String> dpaAcceptedShippingCountries;
   optional String dpaBillingPreference;
   optional String dpaShippingPreference;
   required String dpaLocale;
   optional AuthenticationPreferences authenticationPreferences;
   optional Boolean consumerNameRequested;
   optional Boolean consumerEmailAddressRequested;
   optional Boolean consumerPhoneNumberRequested;
   optional PaymentOptions paymentOptions;
   optional String transactionType;
   conditional TransactionAmount transactionAmount;
   optional ThreeDsInputData threeDsInputData;
   optional Boolean isGuestCheckout;
   optional CustomInputData customInputData;
   optional Boolean consumerNationalIdentifierRequested;
   optional Boolean confirmPayment;
   conditional String acquirerMerchantId;
   conditional String acquirerBIN;
   conditional String merchantCategoryCode;
   conditional String merchantCountryCode;
}
```

Description of data elements:

|                  Name                   |                                                                                    Type                                                                                     |   Mandate   |                                                                                                                                                                                                                                                                                                                                                                                                                                                        Description                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|-----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **dpaAcceptedBillingCountries**         | List\<String\>                                                                                                                                                              | Optional    | ISO 3166 alpha 2 country code. Consumer provided country code. **Note: Mastercard does not currently support declining payments based on the cardholder's billing address. You should specify an empty array.**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **dpaAcceptedShippingCountries**        | List\<String\>                                                                                                                                                              | Optional    | Shipping restrictions. Array of country codes in ISO 3166-1 alpha-2 format - Shipping region country codes that limits the selection of eligible shipping addresses. If this list is empty, then it means all countries are accepted.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **dpaBillingPreference**                | String                                                                                                                                                                      | Optional    | Verbosity of billing address required by the DPA. Valid values for enum: * `FULL` * `NONE` * `POSTAL_COUNTRY` If not provided, the default is `NONE`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **dpaShippingPreference**               | String                                                                                                                                                                      | Optional    | Verbosity of shipping address required by the DPA. Valid values for enum: * `FULL` * `NONE` If not provided the default is `FULL`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **dpaLocale**                           | String                                                                                                                                                                      | Required    | * **Click to Pay** : Mastercard SRC uses the default `dpaLocale` value to create user profile and deliver Click to Pay experience. Cardholders can change/select the default country/language passed in `dpaLocale` from a country/language selection option in the DCF (Digital Card Facilitator). On selecting, the profile is created in the user selected country and language and the same is also used to deliver the experience for future checkouts. * **Passkey Enrollment** : For both C2P and SCOF passkey enrollment, the `dpaLocale` value is used by the DCF and Authentication UI screens to deliver the language supported by the card-issuing country. When not supported, Mastercard uses the default language for that country. Cardholders can change the default country/language before creating the passkey. On changing, the passkey profile is created in the user-selected country and language. |
| **authenticationPreferences**           | [Authentication Preferences](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#authentication-preferences) | Optional    | Object to contain the parameters for Authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **consumerNameRequested**               | Boolean                                                                                                                                                                     | Optional    | Default is false.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **consumerEmailAddressRequested**       | Boolean                                                                                                                                                                     | Optional    | Default is false.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **consumerPhoneNumberRequested**        | Boolean                                                                                                                                                                     | Optional    | Default is false.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **paymentOptions**                      | [PaymentOptions](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#payment-options)                        | Optional    | Payment options requested by the DPA.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **transactionType**                     | String                                                                                                                                                                      |             | **Note: Not currently supported by Mastercard SRC**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **transactionAmount**                   | [TransactionAmount](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#transaction-amount)                  | Conditional | Container for amount and currency code. Must be included in either the `init()`, `authenticate()` or `checkout()` call. For [authenticate()](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/authenticate/index.md), this is required if `authenticationReason` is set as CARD_VERIFICATION or TRANSACTION_AUTHENTICATION.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **threeDsInputData**                    | [ThreeDsInputData](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#threeds-input-data)                   | Optional    | 3DS-related data. This is required only if the merchant has data that they want to send to the ACS (e.g., billingAddress). ***Conditionality:*** Required when transaction authentication is performed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **isGuestCheckout**                     | Boolean                                                                                                                                                                     | Optional    | Whether this is a guest checkout.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **payloadTypeIndicatorPayload**         | Enum                                                                                                                                                                        |             | **Note: Not currently supported by Mastercard SRC**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **payloadTypeIndicatorCheckout**        | String                                                                                                                                                                      |             | **Note: Not currently supported by Mastercard SRC**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **customInputData**                     | [customInputData](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#custom-input-data)                     | Optional    | Extensible container that allows DPA to pass a network specific set of data to Click to Pay System.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **consumerNationalIdentifierRequested** | Boolean                                                                                                                                                                     | Optional    | An indicator for the Integrator to collect the National ID from the consumer if it doesn't exist on the consumer's profile. The valid values are `TRUE` and `FALSE`. Default is `FALSE`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **confirmPayment**                      | Boolean                                                                                                                                                                     | Optional    | Key parameter to distinguish if a network-specific DCF or a loading screen is displayed after card selection. Default is `FALSE`. When set to `False`, consumer is prompted to 'Continue' the payment on a loading screen; when set to `True`, consumer is prompted with a Confirm payment message on DCF. Set this parameter along with [customInputData](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#custom-input-data) to enable Click to Pay checkout experience.                                                                                                                                                                                                                                                                                                                                                                               |
| **acquirerMerchantId**                  | String                                                                                                                                                                      | Conditional | Acquiring institution identification code. ***Conditionality for Secure Card on File:*** Required when `authenticationReasons` = TRANSACTION_AUTHENTICATION. If not declared, the value will fall back to `acquirerMerchantId` in [authenticationContext](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/authenticate/index.md#authentication-context). ***Conditionality for Click to Pay:*** Required when `payloadRequested`= AUTHENTICATED.                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **acquirerBIN**                         | String                                                                                                                                                                      | Conditional | Acquiring institution identification code as assigned by the 3DS Directory Server receiving the AReq message. ***Conditionality for Secure Card on File:*** Required when `authenticationReasons`= TRANSACTION_AUTHENTICATION or `acquirerBIN` is not specified in [authenticationContext](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/authenticate/index.md#authentication-context). ***Conditionality for Click to Pay:*** Required when `payloadRequested` = AUTHENTICATED.                                                                                                                                                                                                                                                                                                                                                                                              |
| **merchantCategoryCode**                | String                                                                                                                                                                      | Conditional | Code representing merchant's type of business, product or service. For example, *4444* . ***Conditionality for Secure Card on File:*** Required if `authenticationMethodType` = 3DS or MANAGED_AUTHENTICATION ***Conditionality for Click to Pay:*** Required when `payloadRequested` = AUTHENTICATED.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **merchantCountryCode**                 | String                                                                                                                                                                      | Conditional | ISO-3166 country code of the merchant. For example, `US`. ***Conditionality for Secure Card on File:*** Required if `authenticationMethodType` = 3DS or MANAGED_AUTHENTICATION ***Conditionality for Click to Pay:*** Required when `payloadRequested` = AUTHENTICATED.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

### Authentication Preferences {#authentication-preferences}

The AuthenticationPreferences object is:

```javascript
dictionary AuthenticationPreferences {
   optional String payloadRequested;
}
```

Description of data elements:

|         Name         |  Type  | Mandate  |                                                                                                                                     Description                                                                                                                                     |
|----------------------|--------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **payloadRequested** | String | Optional | Indicates if an Integrator has requested for the authentication of the payload or not. Valid values are: * `AUTHENTICATED`: Denotes that an Integrator has requested authentication. * `NON_AUTHENTICATED`: Denotes that an Integrator has requested to not opt for authentication. |

Refer to the [Transaction Authentication Use cases](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/token-authentication/click-to-pay/use-case1/index.md) for a description of the authentication methods used during checkout.

### Payment Options {#payment-options}

This structure details of a transaction.

```javascript
dictionary PaymentOptions {
   optional String dpaDynamicDataTtlMinutes;
   optional String dynamicDataType;
}
```

Description of data elements:

|             Name             |  Type  | Mandate  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|------------------------------|--------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **dpaDynamicDataTtlMinutes** | Digits | Optional | **Note: Not currently supported by Mastercard SRC**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **dynamicDataType**          | String | Optional | Type of cryptogram or token used for the card data. * `CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM`: Digital Secure Remote Payment (DSRP) equivalent. DSRP cryptogram is a type of dynamic data which the Integrator will have to pass within Dynamic Payment Data field (DE104 SE001) of the payment authorization request. Pass this value if the merchant requires token \& DSRP cryptogram for transaction or payment authorization. **NOTE** : Integrators that support dual payload will receive a second payment credential in the **card** object, along with the **token** object. This payment credential should be used for additional cases outside of payment authorization. Work with your [Mastercard representative](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/support/index.md#get-help) for more details. * `NONE`: Pass this value if merchant requires FPAN for transaction or payment authorization. **NOTE** : For countries that support only tokens (not FPANs), payment authorization is done using the token passed in **card** object. Optionally, merchants can pass DTVC present in **dynamicData** object as part of payment authorization in place of CVC2. <br /> Refer to [View the Decrypted Payload](https://developer.mastercard.com/mastercard-checkout-solutions/tutorial/integrate_apis/step8/index.md) for a description of the formats returned during checkout. ***Conditionality for Click to Pay:*** Required when `payloadRequested`= AUTHENTICATED. |

### Transaction Amount {#transaction-amount}

The TransactionAmount object is:

```javascript
transactionAmount: {
  Required Number transactionAmount;
  Required String transactionCurrencyCode;
}
```

|         Name          |  Type  | Mandate  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|-----------------------|--------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **transactionAmount** | Number | Required | Transaction amount given in the format corresponding to the ISO 4217 currency code specified by **transactionCurrencyCode** . For example if the currency is USD, a transaction of $100 would be given as '100.00'. Note that the decimal separator should be a dot (.) and the number of digits required after the separator depends on the currency used. Ensure you use the correct precision at all times. ***Conditionality for Secure Card on File:*** When the `authenticationReason` in [authenticate()](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/authenticate/index.md) method is ENROL_FINANCIAL_INSTRUMENT or CONSUMER_IDENTITY_VALIDATION, this value will automatically be set to 0.00 only if no `transactionAmount` parameter was specified in [DpaTransactionOptions](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#dpa-transaction-options). ***Conditionality for Click to Pay:*** You must provide the final transaction amount in `transactionAmount`. |

### ThreeDS Input Data {#threeds-input-data}

The threeDSInputData object is:

```javascript
threeDSInputData: {
  conditional Address billingAddress;
  optional Address shippingAddress;
  optional boolean forceChallenge;
}
```

Description of data elements:

|        Name         |                                                                 Type                                                                  |   Mandate   |                                                                                                                                                                                     Description                                                                                                                                                                                     |
|---------------------|---------------------------------------------------------------------------------------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **billingAddress**  | [Address](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#address) | Conditional | Consumer's billing address, if applicable. *Conditionality:* This is required if authentication is performed for Secure Card on File.                                                                                                                                                                                                                                               |
| **shippingAddress** | [Address](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#address) | Optional    | Consumer's shipping address, if applicable. This is required if authentication is performed for Secure Card on File.                                                                                                                                                                                                                                                                |
| **forceChallenge**  | Boolean                                                                                                                               | Optional    | Whether or not the merchant wants to force the user to complete a verification challenge. For example, `true`. This is used during 3DS authentication or MANAGED_AUTHENTICATION authentication for `authenticationReasons` = ENROL_FINANCIAL_INSTRUMENT or CONSUMER_IDENTITY_VALIDATION. In order for the token to be verified for device binding, 3DS challenge must be performed. |

### Custom Input Data {#custom-input-data}

```javascript
customInputData: {
  optional String com.mastercard.dcfExperience;
  optional String com.mastercard.acceptedCardBrands;
}
```

|                 Name                  |       Type       | Mandate  |                                                                                                                                                                                                                                                                                                                                                                                                                                                           Description                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|---------------------------------------|------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **com.mastercard.dcfExperience**      | String           | Optional | Configure when card enrollment is offered to the cardholder. This only applies to Mastercard cards. Supported values: * `WITHIN_CHECKOUT` -- This experience offers Click to Pay as a payment option to complete Checkout for an order. (Guest Checkout Option) * `PAYMENT_SETTINGS` -- This experience offers Click to Pay to enroll and add their cards for faster checkout. (No Guest Checkout Option) Either one of these values must be set to enable Embedded checkout experience along with [confirmPayment](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#dpa-transaction-options) parameter. See the DCF Fallback scenarios within the [**UI guide**](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/tutorials-and-guides/index.md#guides) to understand what happens when the required data is not passed to SRCI. |
| **com.mastercard.acceptedCardBrands** | Array \<String\> | Optional | An array of strings indicating if the merchant accepts Maestro cards, both Maestro and Mastercard, or just Mastercard (the default). Accepted values: `mastercard`, `maestro`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

Note: The Mastercard JS Library will support both Mastercard and Maestro cards for **Netherlands** and **Brazil** .  

▪ If a merchant indicates support for Maestro only, maestro cards will be returned.  

▪ If a merchant indicates support for Mastercard only, Mastercard cards will be returned.   

▪ If a merchant indicates support for both card brands, both Mastercard and Maestro cards will be returned.  


▪ **Maestro** cards issued in **Netherlands** can be provisioned in to Click to Pay **only** via the [Enroll API](https://developer.mastercard.com/push-provisioning-via-enroll-api/documentation/).

### Assurance Data {#assurance-data}

|         Name         |                                                                               Type                                                                                | Mandate  |                                                                                                              Description                                                                                                              |
|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **verificationData** | List [\<VerificationData\>](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#verification-data) | Required | Set of verification data structures relating to different types of assurance.                                                                                                                                                         |
| **eci**              | String                                                                                                                                                            | Optional | Electronic Commerce Indicator. Payment System-specific value to indicate the results of the attempt to authenticate the Cardholder. Valid values are: * `01 - Authentication Attempted` * `02 - Authenticated` * `06 - Merchant Risk` |

### Verification Data {#verification-data}

|           Name            |       Type       |   Mandate   |                                                                                                                                                                                               Description                                                                                                                                                                                                |
|---------------------------|------------------|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **verificationtype**      | VerificationType | Required    | Type of the verification data. Valid values are: * `CARDHOLDER` * `CONSUMER`                                                                                                                                                                                                                                                                                                                             |
| **verificationEntity**    | String           | Required    | Entity performing the verification. Valid value is: * `01 -- Integrator` * `02 -- Mastercard Checkout Solutions (MCS)` * `03 -- Participating Issuer`                                                                                                                                                                                                                                                    |
| **verificationEvents**    | List             | Optional    | Event where the verification occurred. Valid values are: * `01 -- Payment transaction` * `02 -- Add card/Card enrollment` * `04 -- Account Verification`                                                                                                                                                                                                                                                 |
| **verificationMethod**    | String           | Required    | Method of the verification. Valid values are: * `01 -- 3D Secure (3DS)` * `04 - A shared secret between the Issuer and the Cardholder. For example - One Time Passcode (OTP), or activation code` * `06 -- Proprietary` * `07 -- FIDO2 Authentication` * `24 -- Mastercard authentication with device binding and passive authentication`                                                                |
| **verificationResults**   | String           | Required    | Result of the verification. Valid values are: * `01 -- Verified` * `02 -- Not Verified` * `03 -- Not performed`                                                                                                                                                                                                                                                                                          |
| **verificationTimestamp** | String           | Required    | UTC time in Unix epoch format representing the date and time when the verification was conducted.                                                                                                                                                                                                                                                                                                        |
| **additionalData**        | String           | Conditional | Data collected during the verification process. *Conditionality:* Required when authentication was successful. Note: **For Click to Pay** After successful consumer identifier validation, this parameter may include the [Federated ID token](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/is-recognized/index.md#id-token) created by Mastercard system. |

### SRC profile {#src-profile}

The SrcProfile object is:

```javascript
dictionary SrcProfile {
   optional MaskedConsumer maskedConsumer;
   required List<MaskedCard> maskedCards;
   required List<Address> shippingAddresses;
   required String authorization;
}
```

Description of data elements:

|         Name          |                                                                         Type                                                                         |   Mandate   |                                                                                                                                 Description                                                                                                                                  |
|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **maskedConsumer**    | [MaskedConsumer](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#masked-consumer) | Optional    | Recognized user.                                                                                                                                                                                                                                                             |
| **maskedCards**       | List\<[MaskedCard](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#masked-card)\> | Required    | Card list of recognized/authenticated user.                                                                                                                                                                                                                                  |
| **shippingAddresses** | List\<[Address](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#address)\>        | Required    | List of known shipping addresses.                                                                                                                                                                                                                                            |
| **authorization**     | String                                                                                                                                               | Conditional | List of authorizations including the elements of [Consumer Identity](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#consumer-identity) including `identityProvider`, `identityType` and `identityValue`. |

### Masked Consumer {#masked-consumer}

Description of data elements:

|              Name              |                                                                                 Type                                                                                  | Mandate  |                                                                    Description                                                                    |
|--------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| **srcConsumerId**              | String                                                                                                                                                                | Optional | SRC Consumer Reference Identifier as generated by the Click to Pay System.                                                                        |
| **maskedConsumerIdentity**     | [MaskedConsumerIdentity](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#masked-consumer-identity) | Required | Represents the masked value of the primary verifiable consumer identifier within an SRC Profile, e.g., an email address or a mobile phone number. |
| **maskedEmailAddress**         | String                                                                                                                                                                | Optional | Max Length = 255. Masked Consumer email address.                                                                                                  |
| **maskedConsumerMobileNumber** | [PhoneNumber](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#phone-number)                        | Optional | Masked Consumer mobile phone number.                                                                                                              |
| **maskedNationalIdentifier**   | String                                                                                                                                                                | Optional | Max Length = 20 Masked Consumer national identifier.                                                                                              |
| **complianceSettings**         | [ComplianceSettings](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#compliance-settings)          | Optional | Consumer compliance settings.                                                                                                                     |
| **countryCode**                | String                                                                                                                                                                | Optional | ISO 3166 alpha 2 country code. Consumer provided country code.                                                                                    |
| **languageCode**               | String                                                                                                                                                                | Optional | ISO 639-1 Code. Consumer provided language choice.                                                                                                |
| **status**                     | Enum                                                                                                                                                                  | Optional | Signifies the state of the consumer at any given time at the Click to Pay System. Values: * `ACTIVE` * `SUSPENDED` * `LOCKED`                     |
| **maskedFirstName**            | String                                                                                                                                                                | Optional | Max Length = 30. Masked first name of the consumer.                                                                                               |
| **maskedLastName**             | String                                                                                                                                                                | Optional | Max Length = 30. Masked last name of the consumer.                                                                                                |
| **maskedFullname**             | String                                                                                                                                                                | Optional | Max Length = 60. Masked full name of the consumer.                                                                                                |
| **dateConsumerAdded**          | String                                                                                                                                                                | Required | UTC timestamp when consumer was added to the Click to Pay System.                                                                                 |
| **dateConsumerLastUsed**       | String                                                                                                                                                                | Optional | UTC timestamp when consumer last transacted in the Click to Pay System.                                                                           |

### Consumer Identity {#consumer-identity}

|         Name         |  Type  | Mandate  |                                                                                                                 Description                                                                                                                  |
|----------------------|--------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **identityProvider** | String | Optional | Entity or organization that collected and verified the identity.                                                                                                                                                                             |
| **identityType**     | String | Required | Type of Consumer Identity transmitted or collected. Should be either `EMAIL_ADDRESS` or `MOBILE_PHONE_NUMBER`. A `MOBILE_PHONE_NUMBER` must include the country code along with phone number. Digits only. Do not include a plus (+) symbol. |
| **identityValue**    | String | Required | Consumer Identity value that corresponds to the Consumer Identity Type. Is used to locate information within the Click to Pay Profile.                                                                                                       |

### Masked Consumer Identity {#masked-consumer-identity}

Description of data elements:

|          Name           |  Type  | Mandate  |                                                            Description                                                             |
|-------------------------|--------|----------|------------------------------------------------------------------------------------------------------------------------------------|
| **identityProvider**    | String | Optional | The entity or organisation that collected and verifies the identity. Values: * `SRC`                                               |
| **identityType**        | String | Required | Identifies the type of Consumer Identity transmitted or collected. Values: * `EMAIL_ADDRESS` * `MOBILE_PHONE_NUMBER`               |
| **maskedIdentityValue** | String | Required | Max Length = 255. Masked consumer identifier value, e.g., masked email address or masked mobile phone number as per masking rules. |

### Identity Validation Channel {#identity-validation-channel}

|            Name             |  Type  | Mandate  |                                                             Description                                                              |
|-----------------------------|--------|----------|--------------------------------------------------------------------------------------------------------------------------------------|
| **validationChannelID**     | String | Optional | ID for the validation channel.                                                                                                       |
| **identityProvider**        | String | Optional | Entity or organization that can validate the identity.                                                                               |
| **identityType**            | String | Required | Type if Identity validation channel. Supported values are EMAIL_ADDRESS, MOBILE_PHONE_NUMBER and FIDO2.                              |
| **maskedValidationChannel** | String | Required | Masked value of the channel used to deliver the Validation code (like OTP). It can be either a masked email address or phone number. |

### Phone Number {#phone-number}

Description of data elements:

|      Name       |  Type  | Mandate  |                                      Description                                      |
|-----------------|--------|----------|---------------------------------------------------------------------------------------|
| **countryCode** | String | Required | Length = 1 to 4 digits. Phone number country code. International calling code format. |
| **phoneNumber** | Number | Required | Length = 4 to 14 digits. Phone number without country code.                           |

### Compliance Settings {#compliance-settings}

Description of data elements:

|          Name           |                                                                                 Type                                                                                  | Mandate  |                                 Description                                 |
|-------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|-----------------------------------------------------------------------------|
| **complianceResources** | List \<[ComplianceResource](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#compliance-resource)\> | Required | A set of compliance resource objects for indicating the consumer's consent. |

### Compliance Resource {#compliance-resource}

Description of data elements:

|        Name        |  Type  | Mandate  |                                                                                                                                        Description                                                                                                                                        |
|--------------------|--------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **complianceType** | String | Required | Valid values are: * `REMEMBER_ME`: For capturing consumer consent to be remembered on a device/browser. * `TERMS_AND_CONDITIONS`: For saving the consumer consent to Mastercard Terms and Conditions. * `PRIVACY_POLICY`: For saving the consumer consent to Mastercard Privacy policies. |
| **uri**            | String | Required | Max Length = 1024. Represents the URI where the consumer consent is captured.                                                                                                                                                                                                             |
| **version**        | String | Optional | Max Length = 10. Version details of the device/browser that captured the consent.                                                                                                                                                                                                         |
| **datePublished**  | String | Optional | UTC time in Unix epoch format. Represents when the resource was published.                                                                                                                                                                                                                |

#### Code Sample {#code-sample}

```javascript
  {
    "complianceResources":
       [ "complianceType" : "REMEMBER_ME",
         "uri": "https://www.mastercard.com",
         "version": "LATEST",
         "datePublished": "1679318465"
        ]
    }
```

### Card {#card}

The model of the card object (prior to being encrypted) is a follows:

|           Name           |                                                                 Type                                                                  | Mandate  |                              Description                               |
|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------|----------|------------------------------------------------------------------------|
| **primaryAccountNumber** | String                                                                                                                                | Required | Primary Account Number.                                                |
| **panExpirationMonth**   | String                                                                                                                                | Required | Expiration month of the card, expressed as a two-digit calendar month. |
| **panExpirationYear**    | String                                                                                                                                | Required | Expiration year of the card, expressed as a four-digit calendar year.  |
| **cardSecurityCode**     | String                                                                                                                                | Required | Card security code (CVC).                                              |
| **cardholderFullName**   | String                                                                                                                                | Optional | Name of the card holder.                                               |
| **billingAddress**       | [Address](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#address) | Optional | Billing address associated with the card                               |

### Masked Card {#masked-card}

|            Name             |                                                                                 Type                                                                                  |   Mandate   |                                                                                                                                                                                                                                                                                Description                                                                                                                                                                                                                                                                                |
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **srcDigitalCardId**        | String                                                                                                                                                                | Conditional | Max Length=36. Unique Identifier of the card. A reference representing the PAN or Payment Token that enables a non-SRCPI entity to identify the underlying PAN. A single PAN can have one or more SRC Digital Card Reference Identifiers. Digital Card information can be accompanied with SRC Digital Card Reference Identifier. It is associated with the SRC Profile to which the Digital Card belongs and is unique within an Click to Pay System. *Conditionality:* Supplied when returned to SRCI or DCF; not required when returned to an SRC-PI.                  |
| **srcPaymentCardId**        | String                                                                                                                                                                | Conditional | Max Length = 36. A reference representing the PAN that enables the Click to Pay System to communicate with the SRCPI without transmitting the actual PAN. It is associated with the SRC Profile to which the Payment Card belongs and is unique within an Click to Pay System. *Conditionality:* Supplied when returned to the SRC-PI.                                                                                                                                                                                                                                    |
| **panBin**                  | String                                                                                                                                                                | Required    | Max Length = (PAN Length - 10). First significant digits of the PAN, included in an unmasked form.                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **panLastFour**             | String                                                                                                                                                                | Required    | Length = 4. Attribute of the Payment Card that represents the Last 4 digits of the PAN included in an unmasked form.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **tokenBinRange**           | String                                                                                                                                                                | Conditional | Max Length = (Payment Token Length - 10). A specific BIN Range or subset of the BIN Range that has been designated only for the purpose of issuing Payment Tokens, included in an unmasked form. *Conditionality:* must be supplied if token is used.                                                                                                                                                                                                                                                                                                                     |
| **tokenLastFour**           | String                                                                                                                                                                | Conditional | Length = 4. Last 4 digits of the Payment Token included in an unmasked form. *Conditionality:* must be supplied if token is used.                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **digitalCardData**         | [DigitalCardData](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#digital-card-data)               | Required    | Digital Card Data contains digital card information that is used in the acceptance environment and in the user interface. Its purpose is to provide reference to the actual PAN or Payment Token without actually disclosing either. Digital Card Data is grouped based on the following: * Digital Card Information: data used in Request and Response Messages * UI/UX Presentation Data: data used user interfaces to provide the user with a recognizable descriptor * Digital Card Art: image that accompanies Digital Card information for user interface purposes. |
| **panExpirationMonth**      | String                                                                                                                                                                | Conditional | Length = 2. Expiration month of the Payment Card, expressed as a Calendar Month used for presentation purposes. *Conditionality*: Supplied when specified for the card (PAN).                                                                                                                                                                                                                                                                                                                                                                                             |
| **panExpirationYear**       | String                                                                                                                                                                | Conditional | Length = 4. Expiration year of the Payment Card expressed as four-digit year, used for presentation purposes. *Conditionality:* Supplied when specified for the card (PAN).                                                                                                                                                                                                                                                                                                                                                                                               |
| **paymentCardDescriptor**   | String                                                                                                                                                                | Optional    | Max Length = 32. Conveys the card brand, and will be a free-form string, to be defined within a program.                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **paymentCardType**         | String                                                                                                                                                                | Optional    | Max Length of 32. Conveys the card type. Enum values: * `CREDIT` * `DEBIT` * `PREPAID` * `COMBO` * `FLEX` Note: COMBO and FLEX are for applicable regions only.                                                                                                                                                                                                                                                                                                                                                                                                           |
| **digitalCardFeatures**     | List\<[DigitalCardFeature](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#digital-card-feature)\> | Optional    | Set of digital card attributes related to digital card features that should be displayed to the consumer.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **countryCode**             | String                                                                                                                                                                | Optional    | ISO 3166-1 alpha 2 country code. Country code of issuance associated with the Card Issuer's BIN license.                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **maskedBillingAddress**    | [MaskedAddress](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#masked-address)                    | Optional    | Masked billing address associated with the card.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **dcf**                     | [Dcf](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#dcf)                                         | Optional    | Digital Card Facilitator (DCF) associated with the card                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **serviceId**               | String                                                                                                                                                                | Optional    | Max Length = 255. A service identifier associated to a specific configuration.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **paymentAccountReference** | String                                                                                                                                                                | Optional    | Max Length = 29. A value assigned to the underlying cardholder account that uniquely identifies the underlying account to which a Payment Card is associated.                                                                                                                                                                                                                                                                                                                                                                                                             |
| **dateOfCardCreated**       | String                                                                                                                                                                | Required    | UTC timestamp when card was enrolled into the Click to Pay System.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **dateOfCardLastUsed**      | String                                                                                                                                                                | Optional    | UTC timestamp when card was last used for a SRC transaction.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **digitalCardRelatedData**  | String                                                                                                                                                                | Optional    | This can be used to pass custom information about the card.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

### Digital Card Data {#digital-card-data}

```javascript
dictionary DigitalCardData {
   Required String status;
   optional String presentationName;
   required String descriptorName;
   optional String artUri;
   optional String artHeight;
   optional String artWidth;
 }
```

|         Name         |  Type  | Mandate  |                                                                                                                                                                                                                                                                   Description                                                                                                                                                                                                                                                                    |
|----------------------|--------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **status**           | String | Required | Status of the Card in the Click to Pay System. Values: * `ACTIVE`: The card is active and can be used for checkout * `SUSPENDED`: The card is inactive/locked and cannot be used for checkout * `EXPIRED`: The card cannot be used for checkout as its expiration date has passed * `PENDING`: The card entered is pending additional authorization/completion, such as * PENDING_AVS * PENDING_SCA * PENDING_CONSUMER_IDV <!-- --> Note: Suspended and Expired cards appearing in the card list are greyed out/not selectable for Click to Pay. |
| **presentationName** | String | Optional | Name that can be used for display. Presentation text created by the Consumer to enable recognition of the PAN entered into the DCF. This value is unique to the DCF and defined by the Consumer (e.g., Nickname).                                                                                                                                                                                                                                                                                                                                |
| **descriptorName**   | String | Required | Presentation text defined by the SRC Program that describes the PAN presented as a Digital Card. This descriptor is the same across all DCFs.                                                                                                                                                                                                                                                                                                                                                                                                    |
| **artUri**           | String | Optional | HTTPS (full) URL for the cardArt. Can be card or issuer specific value, e.g, `https://dcf.sbx.src‑stub.masterpass.com/static/img/card.0ae19b4.svg`.                                                                                                                                                                                                                                                                                                                                                                                              |
| **artHeight**        | String | Optional | Height of the card art image in pixels.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **artWidth**         | String | Optional | Width of the card art image in pixels.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

### Digital Card Feature {#digital-card-feature}

|      Name       |  Type  | Mandate  |                                                                                                                                                                                                                                                                Description                                                                                                                                                                                                                                                                |
|-----------------|--------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **content**     | String | Required | Max Length = 74. Content of the digital card feature. If any card benefits exist for a card, Mastercard Click to Pay System will populate this field with the card benefits message. As an SRCI, you will need to display the card benefits message with the card in the card list screen. The card benefits message is passed to the DCF via the SDK through `srcDigitalCardId` when [checkout()](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/checkout-method/index.md) method is called. |
| **contentType** | String | Required | Type of the content of the digital card feature. Values: * `TEXT_STRING` * `IMAGE_URL` * `CONTENT_URL` * `LINK_URL`                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **style**       | String | Optional | Location of a CSS style sheet that describes how to present the card feature.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **width**       | String | Optional | Width to be applied to display of card feature.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **height**      | String | Optional | Height to be applied to display of card feature.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |

### Masked Address {#masked-address}

|       Name       |  Type  |   Mandate   |                                                                                                        Description                                                                                                        |
|------------------|--------|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **addressId**    | String | Required    | Identifier used to point to the address.                                                                                                                                                                                  |
| **name**         | String | Conditional | Max Length = 60. Name of the individual receiving the delivered goods or service. Only applicable for the shipping address. *Conditionality:* If known to the Click to Pay System then must be supplied for that address. |
| **line1**        | String | Optional    | Max Length = 75. Address line 1.                                                                                                                                                                                          |
| **line2**        | String | Optional    | Max Length = 75. Address line 2.                                                                                                                                                                                          |
| **line3**        | String | Optional    | Max Length = 75. Address line 3.                                                                                                                                                                                          |
| **city**         | String | Optional    | Max Length = 50. Address city.                                                                                                                                                                                            |
| **state**        | String | Optional    | Max Length = 30. Address state.                                                                                                                                                                                           |
| **countryCode**  | String | Optional    | ISO 3166-1 alpha 2 country code. Address country code.                                                                                                                                                                    |
| **zip**          | String | Optional    | Max Length = 16. Address zip or postal code.                                                                                                                                                                              |
| **createTime**   | String | Optional    | UTC timestamp the address was created.                                                                                                                                                                                    |
| **lastUsedTime** | String | Optional    | UTC timestamp the address was last used.                                                                                                                                                                                  |

### Address {#address}

Note: When following values are provided, they appear pre-filled on DCF screen for [First Time Users](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/use-cases/click-to-pay/firsttimeuser_usecase/index.md) flow.

|      Name       |  Type  | Mandate  |                                                         Description                                                         |
|-----------------|--------|----------|-----------------------------------------------------------------------------------------------------------------------------|
| **name**        | String | Optional | Max Length = 60. Name of the individual getting billed for the delivered goods or service.                                  |
| **line1**       | String | Optional | Max Length = 75. Address line 1. **Note:** This parameter is required for TAF in Secure Card on File.                       |
| **line2**       | String | Optional | Max Length = 75. Address line 2.                                                                                            |
| **line3**       | String | Optional | Max Length = 75. Address line 3.                                                                                            |
| **city**        | String | Optional | Max Length = 50. Address city.                                                                                              |
| **state**       | String | Optional | Max Length = 30. Address state.                                                                                             |
| **countryCode** | String | Optional | ISO 3166-1 alpha 2 country code. Address country code. **Note:** This parameter is required for TAF in Secure Card on File. |
| **zip**         | String | Optional | Max Length = 16. Address zip or postal code.                                                                                |

### Consumer {#consumer}

Note: When following values are provided, they appear pre-filled on DCF screen for [First Time Users](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/use-cases/click-to-pay/firsttimeuser_usecase/index.md) flow.

|       Name       |                                                                      Type                                                                      | Mandate  |                    Description                     |
|------------------|------------------------------------------------------------------------------------------------------------------------------------------------|----------|----------------------------------------------------|
| **emailAddress** | String                                                                                                                                         | Optional | Max Length = 255. Consumer-provided email address. |
| **firstName**    | String                                                                                                                                         | Optional | Consumer-provided first name.                      |
| **lastName**     | String                                                                                                                                         | Optional | Consumer-provided last name.                       |
| **mobileNumber** | [PhoneNumber](https://developer.mastercard.com/mastercard-checkout-solutions/documentation/sdk-reference/common-objects/index.md#phone-number) | Optional | Consumer-provided mobile number.                   |

### DCF {#dcf}

|        Name         |  Type  | Mandate  |                                             Description                                             |
|---------------------|--------|----------|-----------------------------------------------------------------------------------------------------|
| **applicationType** | String | Optional | Type of the environment of the DCF. Values: * `WEB_BROWSER` * `MOBILE_APP` * `IOT_DEVICE` * `OTHER` |
| **uri**             | URL    | Optional | Max Length = 255. DCF URI as provided by DCF.                                                       |
| **logoUri**         | String | Optional | Max Length = 255. Logo image URI provided by the DCF to support presentation.                       |
| **name**            | String | Optional | Max Length = 60. Legal Name of DCF onboarded to the Click to Pay System.                            |

### Authorization {#authorization}

Presence of the `authorization` object in the response body is conditional on the consumer application instance being recognized and the customer having previously enrolled CustomerIdentity data.
