SB nº 309: EMV® 3-D Secure SDK – Device Information

v1.7 Specification Bulletins
3-D Secure

EMV® Specification Bulletin No. 309 February 2025 EMV® 3-D Secure SDK—Device Information Data Version 1.7 This Specification Bulletin No. 309 describes changes incorporated into the EMV® 3-D Secure SDK—Device Information Data Version 1.7, February 2025.

Applicability

This Specification Bulletin applies to:

  • EMV 3-D Secure SDK—Device Information Data Version 1.7 Updates are provided in the order in which they appear in the specification. Deleted text is identified using strikethrough, and red font is used to identify added text. Unedited text is provided only for context.

Effective Date

  • February 2025 Contents EMV® 3-D Secure SDK—Device Information Data Version 1.7. Table 2. 2. Table 2. 2. Table 2. 2. Throughout Specification Revisions added to improve grammar, consistency, clarity and readability without any effect on the meaning or interpretation of the specification are not included in this specification bulletin, except when provided as context for other, more substantive revisions. Chapter 2 Device Information Parameters This chapter describes the device identification parameters that shall be collected by the 3DS SDK from all device platforms. These parameters are categorised as Common parameters, Platform-specific parameters and Platform Provider-specific parameters. The 3DS SDK shall collect either:
  • for the Default-SDK – the Common parameters (see Section 2.5) and one set of Platform-specific parameters for Android and iOS devices (see Section 2.6 for Android and Section 2.7 for iOS), OR
  • for the Split-SDK or for devices not based on an Android or iOS operating system – the Platform Provider-specific parameters (see Section 2.8), then prepare and encrypt the Device Information as defined in Requirements 2 through 5 in the Core Specification.

2.2 Minimum Supported Platform Versions Table 2.1 lists the minimum platform versions that shall be supported by the 3DS SDK. Table 2.1: Minimum Supported Platform Versions Platform Minimum Version Android Android 1014 (API level 2934) iOS 1516 2.5 Common Device Identification Parameters Available in All Device Platforms Table 2.2 Common Parameters Available in Android and iOS Platforms Identifier Parameter

Description

Permissions C005 Device locale set by the user. For more information, refer to IETF BCP 47. JSON Data Type: String Values accepted:

  • Android: the device locale.getLanguage() + “-” + locale.getCountry() returns the device locale. Example: “en-US”. Identifier Parameter
  • Description iOS: the device currentLocale.languageCode + “-” + currentLocale.countryCode returns the device locale. Example: “en-US”. currentLocale.countryCode deprecated from iOS 18.0 From iOS 17 and above, use currentLocale.languageCode + "-" + currentLocale.regionCode Permissions 2.6 Android-specific Device Parameters Table 2.3 Android-specific Parameters Group or Identifier Element Description A005 A024 A026 Comments Permissions getLine1Number () is deprecated. API level 33 or higher throws UnsupportedOperati onException From API level 33 and above use getPhoneNumber(DEF AULT_SUBSCRIPTION_ ID) Available only for API level 21 to 34. From API level 35 onwards, use isDeviceSmsCapable () Available only for API level 22 or 34. From API level 35 onwards, use isDeviceVoiceCapab le() Group or Identifier A156 A169 Element Description Comments Permissions premiumFo rPurchase Check whether the given premium capability is available for purchase from the carrier JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 34 or higher Use isPremiumCapabilit yAvailableForPurch ase() Run-time permissions required nonTerres trialNet Get whether device is connected to a nonterrestrial network. JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 35 or higher. NetworkRegistratio nInfo#isNonTerrest rialNetwork() should be checked for all available network registrations, and the result should return true if any of them is classified as nonterrestrial. No permissions required WiFiManag er A157 maxWifiCh annelNumb er The maximum number of channels that is allowed to be set on a WifiNetworkSpecifi er Length: Variable, maximum 11 characters JSON Data Type: String Value accepted:
  • Integer coded as a string Available only for API level 34 or higher. Use getMaxNumberOfChan nelsPerNetworkSpec ifierRequest () No permissions required A158 usableCha nnels List of frequencies available on the device. JSON Data Type: Array of String The frequency is represented as an integer coded as a string. Available only for API level 34 or higher. Use getUsableChannels with WifiScanner#WIFI_B AND_UNSPECIFIED and mode=0 Run-time permission required Group or Identifier A159 A160 A161 A162 Element Description Comments dualBandS imultSupp orted Returns a Boolean true if this device supports Dual-Band Simultaneous (DBS) operation. JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 34 or higher. tidToLink MappingNe goSupport ed Returns a Boolean true if this device supports TID-to-Link Mapping Negotiation. JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 34 or higher. tlsMinVer sSupporte d Returns a Boolean indicating if required minimum TLS version is supported. JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 34 or higher. tlsV13Supp orted Returns a Boolean indicating if TLS v1.3 is supported. JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 34 or higher. Permissions No permissions required No permissions required No permissions required No permissions required Group or Identifier A163 A164 A165 A166 Element Description Comments aggressiv eRoamingM odeSuppor ted Returns a Boolean indicating if this device supports aggressive roaming mode JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 35 or higher. isD2dSupp ortedWhen InfraStaD isabled Returns a Boolean indicating if this device supports device-todevice (D2D) Wi-Fi use cases such as Wi-Fi Direct when infra station (STA) is disabled. JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 35 or higher. wepSupport ed Returns a Boolean indicating if this device supports connections to Wi-Fi WEP networks. JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 35 or higher. wpaPersona lSupported Returns a Boolean indicating if this device supports connections to Wi-Fi WPA-Personal networks. JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 35 or higher. Bluetooth Manager Permissions No permissions required No permissions required No permissions required No permissions required Group or Identifier A167 Settings Secure Element Description Comments Permissions addressTy pe Returns the address type of this BluetoothDevice. JSON Data Type: Array of String Value accepted:
  • Integer coded as a string Available only for API level 35 or higher. The method BluetoothManager#g etConnectedDevices returns a list of BluetoothDevice objects. To retrieve the addressType, BluetoothDevice#ge tAddressType() should be called for each object. No permissions required A074 Not readable from API level 34. From API level 34 onwards, use getEnabledInputMet hodList() A151 Use Settings Secure SECURE_FRP_MODE for API level 30 to 33. Use Settings Global SECURE_FRP_MODE for API 34 and above. Package Manager A168 appArchiv able Returns a Boolean indicating if an app is archivable. JSON Data Type: String Values accepted:
  • “false”
  • “true” Available only for API level 35 or higher. Use the integrator application artifact (AAB only, not APK) that is archivable unless explicitly opted out using the Gradle attribute appArchive. No permissions required DisplayMe trics Group or Identifier A133 Element Description Comments Permissions Deprecated in API level 34 2.8 Platform Provider-specific Parameters Table 2.5 lists the Platform Provider-specific parameters that the 3DS Split-SDK or SDK on devices not based on an Android or iOS operating system shall collect from the Platform Provider-specific platform. If providing Platform Provider-specific parameters, the parameters defined in Sections 2.5, 2.6 and 2.7 shall not be provided.

Legal Notice

The EMV® Specifications are provided “AS IS” without warranties of any kind, and EMVCo neither assumes nor accepts any liability for any errors or omissions contained in these Specifications. EMVCO DISCLAIMS ALL REPRESENTATIONS AND WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT, AS TO THESE SPECIFICATIONS. EMVCo makes no representations or warranties with respect to intellectual property rights of any third parties in or in relation to the Specifications. EMVCo undertakes no responsibility to determine whether any implementation of the EMV® Specifications may violate, infringe, or otherwise exercise the patent, copyright, trademark, trade secret, know-how, or other intellectual property rights of third parties, and thus any person who implements any part of the EMV® Specifications should consult an intellectual property attorney before any such implementation. Without limiting the foregoing, the Specifications may provide for the use of public key encryption and other technology, which may be the subject matter of patents in several countries. Any party seeking to implement these Specifications is solely responsible for determining whether its activities require a license to any such technology, including for patents on public key encryption technology. EMVCo shall not be liable under any theory for any party’s infringement of any intellectual property rights in connection with the EMV® Specifications