Class DigitalizedCardProfileKeys

java.lang.Object
com.gemalto.mfs.mwsdk.dcm.DigitalizedCardProfileKeys

public final class DigitalizedCardProfileKeys extends Object
This contains a list of keys for non-sensitive and custom data in the card profile that can be retrieved by the UI application via the DigitalizedCardDetails.getValue(String) API. The data available here are classified as non-sensitive and useful to display to the end user if the UI application requires to do so.
  • Field Details

    • DC_TOKEN_ID

      public static final String DC_TOKEN_ID
      The key to get the token ID that is associated with the card profile. This is linked to the dc.tokenID field in the JSON structure.
      See Also:
    • SCHEME

      public static final String SCHEME
      The key to get the textual representation of the card scheme. The texts are coming from server, typically in block letters such as "MASTERCARD" or "VISA".
      See Also:
    • CVM_RESET_TIMEOUT

      public static final String CVM_RESET_TIMEOUT
      The key to determine the duration the cardholder status is valid after a successful verification.
      See Also:
    • DUAL_TAP_TIMEOUT

      public static final String DUAL_TAP_TIMEOUT
      The key to get the maximum duration allowed between the first tap and second tap for the high-value transaction use case, whereas the first tap will trigger the UI application to perform a cardholder verification within this duration only.
      See Also:
    • ADDITIONAL_DATA

      public static final String ADDITIONAL_DATA
      The key to get the additional and custom data. These data are not part of the profile data, they are either added by the server or from the issuers. Note: The value of this key is a JSON dictionary object that contains key-value pairs. The server always injects 2 mandatory keys in this key-value pair, which are ADDITIONAL_DATA_PRODUCT_ID and ADDITIONAL_DATA_PAN_LAST_4_DIGITS.
      An example of extracting the additional data is as follows:
       
        final DigitalizedCardDetails details = card.getCardDetails(null).waitToComplete().getResult();
        final JSONObject additionalDataJson = new JSONObject(details.getValue(DigitalizedCardProfileKeys.ADDITIONAL_DATA);
        // Get PRODUCT_ID and LAST_4_DIGITS.
        final String productId = additionalDataJson.get(DigitalizedCardProfileKeys.ADDITIONAL_DATA_PRODUCT_ID);
        final String last4Digits = additionalDataJson.get(DigitalizedCardProfileKeys.ADDITIONAL_DATA_LAST_4_DIGITS);
        // Get other custom data objects, for example "custom_data".
        final JSONObject customData = additionalDataJson.getJSONObject("custom_data");
        // If the data is nested, for example "custom_data" contains a key called "contract_id",
        final String contractId = customData.get("contract_id");
       
       
      See Also:
    • ADDITIONAL_DATA_PRODUCT_ID

      public static final String ADDITIONAL_DATA_PRODUCT_ID
      The key to get the product ID of the card. Product ID is the standardized identification of the card that is provisioned by the server. One of the common usages of this value is to allow the mapping of a given card with custom data in the UI application. For example, the card image is not provisioned in the SDK, but acquired through a different channel by the UI application. The UI application would then be able to display the card list with the images correctly via this value.
      An example of mapping a card to its image using product ID is as follows:
       
        final DigitalizedCardDetails details = card.getCardDetails(null).waitToComplete().getResult();
        final JSONObject additionalDataJson = new JSONObject(details.getValue(DigitalizedCardProfileKeys.ADDITIONAL_DATA);
        // Assuming that UI application uses the product ID as the image filename with extension .png.
        final String productId = additionalDataJson.get(DigitalizedCardProfileKeys.ADDITIONAL_DATA_PRODUCT_ID);
        final String cardImgFileName = BASE_PATH + productId + ".png";
        // See the calls for the loading of card image and display below.
       
       
      See Also:
    • ADDITIONAL_DATA_PAN_LAST_4_DIGITS

      public static final String ADDITIONAL_DATA_PAN_LAST_4_DIGITS
      The key to get the last 4 digits of the PAN. Similar to ADDITIONAL_DATA_PRODUCT_ID, this value is typically used to identify the card, either by the UI application or by the end user.
      An example of mapping a card to its image using last 4 digits of the PAN is as follows:
       
        final DigitalizedCardDetails details = card.getCardDetails(null).waitToComplete().getResult();
        final JSONObject additionalDataJson = new JSONObject(details.getValue(DigitalizedCardProfileKeys.ADDITIONAL_DATA);
        // Assuming that UI application uses the last 4 digits of the PAN as the image filename with extension .png.
        final String panLast4Digits = additionalDataJson.get(DigitalizedCardProfileKeys.ADDITIONAL_DATA_PAN_LAST_4_DIGITS);
        final String cardImgFileName = BASE_PATH + panLast4Digits + ".png";
        // See the calls for the loading of card image and display below.
       
       
      See Also:
    • ADDITIONAL_DATA_PAN_EXPIRY

      public static final String ADDITIONAL_DATA_PAN_EXPIRY
      The key to get the PAN expired data.
      See Also:
    • ADDITIONAL_DATA_ODA_CERTIFICATE_EXPIRY_DATA

      public static final String ADDITIONAL_DATA_ODA_CERTIFICATE_EXPIRY_DATA
      The key to get the expiry date of the Visa ODA certificate.
      See Also:
    • MASTERCARD_CARD_LAYOUT_DESC

      public static final String MASTERCARD_CARD_LAYOUT_DESC
      Only for Mastercard.
      The key to get the card layout description which is the optional data element personalized by the issuer, containing an image of the card for displaying on MPA. This may not contain any value depending on the issuer.
      See Also:
    • MASTERCARD_SECURITY_WORD

      public static final String MASTERCARD_SECURITY_WORD
      Only for Mastercard.
      The key to get the Mastercard security word which is the static password used to authenticate the mobile Mastercard PayPass to the cardholder through MPA.
      See Also:
    • MASTERCARD_APPLICATION_LIFE_CYCLE_DATA

      public static final String MASTERCARD_APPLICATION_LIFE_CYCLE_DATA
      Only for Mastercard.
      The key to get the application Life Cycle Data which contains the unique application ID of the issuer.
      See Also:
    • MASTERCARD_MCHIP_ISSUER_OPTIONS

      public static final String MASTERCARD_MCHIP_ISSUER_OPTIONS
      Only for Mastercard.
      The key to get the M/Chip CVM Issuer Options which contains the issuer defined options related to the CVM applied by the application when working in the PayPass M/Chip mode.
      See Also:
    • PAYMENT_CHANNELS

      public static final String PAYMENT_CHANNELS
      This field identifies the supported payment channels of a card profile.
      The values are represented in hexadecimal format:
      • 0x80 - CONTACTLESS
      • 0x40 - DSRP
      • 0x20 - QR
      • 0xA0 - CONTACTLESS AND QR
      • 0xC0 - CONTACTLESS AND DSRP
      • 0xE0 - CONTACTLESS AND DSRP AND QR
      See ProfileChannel for more details.
      See Also:
    • VERSION

      public static final String VERSION
      See Also:
    • ACCOUNT_TYPE

      public static final String ACCOUNT_TYPE
      See Also:
    • PRODUCT_TYPE

      public static final String PRODUCT_TYPE
      See Also:
    • IS_US_AIP_MASKING_SUPPORTED

      public static final String IS_US_AIP_MASKING_SUPPORTED
      See Also:
    • PAN

      public static final String PAN
      See Also:
    • CARD_COUNTRY_CODE

      public static final String CARD_COUNTRY_CODE
      See Also:
    • DIGITIZED_CARD_ID

      public static final String DIGITIZED_CARD_ID
      See Also:
    • IS_TRANSACTION_ID_REQUIRED

      public static final String IS_TRANSACTION_ID_REQUIRED
      See Also: