{"templateId":"markdown","versions":[{"version":"20261201","label":"(Preview) 2026-12-01","link":"/products/3ds/20261201/android-ios/device-data","default":false,"active":false,"folderId":"9e210f12"},{"version":"v1","label":"v1","link":"/products/3ds/v1/android-ios/device-data","default":false,"active":false,"folderId":"9e210f12"},{"version":"v2","label":"v2","link":"/products/3ds/v2/android-ios/device-data","default":false,"active":true,"folderId":"9e210f12"},{"version":"v3","label":"v3 (Latest)","link":"/products/3ds/android-ios/device-data","default":true,"active":false,"folderId":"9e210f12"}],"sharedDataIds":{"sidebar":"sidebar-products/3ds/sidebars.yaml","current-catalog-info":"current-catalog-info-/products/3ds/openapi"},"props":{"metadata":{"markdoc":{"tagList":["admonition","partial","code-snippet"]},"custom_product":"3DS","type":"markdown"},"seo":{"title":"SDK and Device data initialization","description":"Worldpay for Developers - docs, code examples, resources and tools. Everything you need to build your omnichannel payment solution.","siteUrl":"https://docs.worldpay.com/access","image":"/access/assets/worldpay-logo-light.21b7daf79984773a9fcd7d4fbcb07ae5289dfffd6023c4c3dca720c7058e53dc.33f780a6.svg","keywords":"documentation, api, openapi, sdks, developer, payments, json, payouts, 3ds","jsonLd":{"@context":"https://schema.org","@type":"Organization","url":"https://docs.worldpay.com/access","name":"Worldpay"},"meta":[{"name":"google-site-verification","content":"zjziIKaP3ImsqsfhYnEBnq1R85UabiSwl7HTXuwtZuo"},{"name":"doc_product","content":"Access"},{"name":"doc_category","content":"Documentation"}],"llmstxt":{"hide":false,"sections":[{"title":"Payments API","description":"Payment orchestration API combining fraud assessment, 3ds authentication, SCA exemptions, Worldpay Token creation and a card or wallet based payment.","includeFiles":["products/payments/@20240601/**/*"],"excludeFiles":[]},{"title":"Payment Queries API","description":"Querying your payments data, based on a variety of parameters.","includeFiles":["products/payment-queries/@v1/**/*"],"excludeFiles":[]},{"title":"Card BIN Data API","description":"Provides detailed information about a card.","includeFiles":["products/card-bin/@v1/**/*"],"excludeFiles":[]},{"title":"3DS Authentication API","description":"Request 3DS authentication to protect against fraud, be SCA compliant and to shift liability using this standalone API.","includeFiles":["products/3ds/@v3/**/*"],"excludeFiles":[]},{"title":"FraudSight API","description":"Request a risk assessment and receive a response with an outcome (e.g. lowRisk) using this standalone API.","includeFiles":["products/fraudsight/@v1/**/*"],"excludeFiles":[]},{"title":"Checkout SDK","description":"Integrate using our clientside SDKs for both web and native devices. Benefit from SAQ-A/PCI-SSF compliance.","includeFiles":["products/checkout/web/@v2/**/*","products/checkout/ios/@v4/**/*","products/checkout/android/@v4/**/*","products/checkout/react-native/@v3/**/*","products/checkout/flutter/@v1/**/*"],"excludeFiles":[]},{"title":"Tokens API","description":"Minimizes the exposure of sensitive card details and increases the security of your customer's card details.","includeFiles":["products/tokens/@v3/**/*"],"excludeFiles":[]},{"title":"Card Payments API","description":"Request a card payment using this standalone API, requires separate requests for 3DS, Fraud assessment etc.","includeFiles":["products/card-payments/@v7/**/*"],"excludeFiles":[]},{"title":"Card Verifications API","description":"Verify your customer's card to maximize your authentication rates.","includeFiles":["products/card-verifications/@v6/**/*"],"excludeFiles":[]},{"title":"Account Payouts API","description":"Send funds to your customer's bank accounts and search for payouts using parameters.","includeFiles":["products/account-payouts/@20250101/**/*"],"excludeFiles":[]},{"title":"APMs","description":"Pay using eWallets, bank transfers, direct debits, local card schemes, Postpay and eInvoice/ Buy Now Pay Later.","includeFiles":["products/apms/@20240701/**/*"],"excludeFiles":[]},{"title":"Balance API","description":"Request your account details for a single account or all accounts under an entity.","includeFiles":["products/balance/@20250101/**/*"],"excludeFiles":[]},{"title":"Card Payouts API","description":"Send funds to your customer's cards.","includeFiles":["products/card-payouts/@v4/**/*"],"excludeFiles":[]},{"title":"Events (Webhooks)","description":"Receive status updates from Access Worldpay by setting up a webhook.","includeFiles":["products/events/@v1/**/*"],"excludeFiles":[]},{"title":"FX API","description":"Manage Foreign Exchange (FX) on your payments.","includeFiles":["products/fx/@v1/**/*"],"excludeFiles":[]},{"title":"Hosted Payment Pages (HPP) API","description":"Our low-code option to take payments securely at the lowest PCI compliance level - SAQ A.","includeFiles":["products/hosted-payment-pages/@v1/**/*"],"excludeFiles":[]},{"title":"Money Transfers API","description":"Money Transfer OCTs (Original Credit Transaction) allow funds to be pushed to an eligible card in 30 minutes or less.","includeFiles":["products/money-transfers/@v1/**/*"],"excludeFiles":[]},{"title":"Parties API","description":"Create parties, manage your payout instruments and beneficial owners and carry out identity verification checks.","includeFiles":["products/parties/@20250101/**/*"],"excludeFiles":[]},{"title":"SCA Exemptions API","description":"Maximize a frictionless checkout experience by using issuer data insights to apply exemptions.","includeFiles":["products/sca-exemptions/@v1/**/*"],"excludeFiles":[]},{"title":"Split Payments API","description":"Divide funds from a single payment amongst yourself and your parties/sellers.","includeFiles":["products/split-payments/@20250625/**/*"],"excludeFiles":[]},{"title":"Statements API","description":"Retrieve your account statement and see individual entries for all credits and debits.","includeFiles":["products/statements/@20250101/**/*"],"excludeFiles":[]},{"title":"Transfers API","description":"Transfer funds from source account to target account.","includeFiles":["products/transfers/@20250101/**/*"],"excludeFiles":[]},{"title":"Verified Tokens API","description":"Verified Tokens ensures that your customer's payment details are valid and CIT compliant when creating a token.","includeFiles":["products/verified-tokens/@v3/**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Important"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We have released a new version. Documentation for our latest version can be found ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/"},"children":["here"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Last updated"]},": 09 June 2026 | ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/changelog/"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Change log"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"sdk-and-device-data-initialization","__idx":0},"children":["SDK and Device data initialization"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Device data collection is used by the card issuer to fingerprint the customer's device. Along with the risk data in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/v2/android-ios/authentication"},"children":["authentication"]}," request it's used to decide if a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/v2/android-ios/challenge-verification"},"children":["challenge"]}," is required or if the authentication can be frictionless (no challenge displayed to your customer). This step is required for the authentication to use 3DS2."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"device-data-initialization","__idx":1},"children":["Device data initialization"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This request creates a JSON Web Token (JWT) that is used as part of the SDK initialization and device data collection. Whilst the web integration captures browser details the App SDK gathers information about the users mobile device."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}," your device data initialization request to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3ds:deviceDataInitialize"]}," action link."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Note"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Unlike the web integration you do not need to request and use the BIN for device data collection purposes. If your integration involves both Web and android/iOS you could use the same ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/web/device-data"},"children":["Device Data Initialize"]}," request as web for simplicity."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You should only request the device data initialization API from your backend system, not call it directly from the mobile application using the Access credentials."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"device-data-initialization-example-request","__idx":2},"children":["Device data initialization example request"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Note"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You must use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v2"]}," of the API for the Android/iOS SDK"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["POST ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://try.access.worldpay.com/verifications/customers/3ds/deviceDataInitialization"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../code/ddc-jwt-request.json","language":"json","header":{"controls":{"copy":{}}},"lang":"json","source":"{\n    \"transactionReference\": \"unique-transactionReference\",\n    \"merchant\": {\n        \"entity\": \"default\"\n    }\n}"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Mandatory"},"children":["Mandatory"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionReference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"b","attributes":{},"children":["unique"]}," reference for device data JWT request. for example, e-commerce order code."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchant.entity"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Used to route the request in Access Worldpay, created as part of on-boarding."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"device-data-initialization-response","__idx":3},"children":["Device data initialization response"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../code/ddc-jwt-response-initialized-jwt-only.json","language":"json","header":{"controls":{"copy":{}}},"lang":"json","source":"{\n    \"outcome\": \"initialized\",\n    \"transactionReference\": \"unique-transactionReference\",\n    \"deviceDataCollection\": {\n        \"jwt\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJPcmdVbml0SWQiOiJPcmdVbml0IiwiaXNzIjoiYXBpSWQiLCJleHAiOjE1NjI5MjMzNDYsImlhdCI6MTU2MjkyMzQwNiwianRpIjoiYTAzMWVhOGEtN2E0Zi00YTQwLWI1NjMtOTUzMzYzMzVhZGNmIn0.0IK74OIXBxFsxqeOURJz1TFnz14ZTbFJTdTWo9cHUJQ\",\n        \"url\": \"https://ddcUrl.example.com\"\n    },\n    \"_links\": {\n        \"3ds:authenticate\": {\n            \"href\": \"https://try.access.worldpay.com/verifications/customers/3ds/authentication\"\n        },\n        \"curies\": [{\n            \"href\": \"https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}\",\n            \"templated\": true,\n            \"name\": \"3ds\"\n        }]\n    }\n}\n"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deviceDataCollection.jwt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A digitally signed token that contains additional details required for device data collection. Expires in 10 minutes for both Try and Production."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deviceDataCollection.url"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}," action on the device data collection form. Used to redirect to the issuers device data collection page. Only used for the web  integration"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Note"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In case of an error, you can get further information in our ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/reference/worldpay-error-responses"},"children":["error reference"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sdk-initialization","__idx":4},"children":["SDK initialization"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Access 3DS API will be periodically tested against the latest version of the Cardinal SDK. Current tested Cardinal SDK version: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v2.2.5"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"setup-the-cardinal-sdk","__idx":5},"children":["Setup the Cardinal SDK"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://cardinaldocs.atlassian.net/wiki/spaces/CMSDK/pages/1998914459/Setting+up+CardinalMobileSDK+-+Android+-+V+2.2.5"},"children":["Android"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://cardinaldocs.atlassian.net/wiki/spaces/CMSDK/pages/2005696619/Setting+up+CardinalMobileSDK+-+iOS+-+V+2.2.5"},"children":["iOS"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"initial-call-to-cardinal-and-response","__idx":6},"children":["Initial call to Cardinal and response"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://cardinaldocs.atlassian.net/wiki/spaces/CMSDK/pages/1998914520/Initial+Call+to+Cardinal+and+Response+-+Android+-+V+2.2.5"},"children":["Android"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://cardinaldocs.atlassian.net/wiki/spaces/CMSDK/pages/2005696762/Initial+Call+to+Cardinal+and+Response+-+iOS+-+V+2.2.5"},"children":["iOS"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["From this you will get returned the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["consumerSessionId"]}," for use in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/v2/android-ios/authentication"},"children":["authentication request"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Next steps"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/v2/android-ios/authentication"},"children":["Authentication"]}]}]},"headings":[{"value":"SDK and Device data initialization","id":"sdk-and-device-data-initialization","depth":1},{"value":"Device data initialization","id":"device-data-initialization","depth":2},{"value":"Device data initialization example request","id":"device-data-initialization-example-request","depth":2},{"value":"Device data initialization response","id":"device-data-initialization-response","depth":3},{"value":"SDK initialization","id":"sdk-initialization","depth":3},{"value":"Setup the Cardinal SDK","id":"setup-the-cardinal-sdk","depth":4},{"value":"Initial call to Cardinal and response","id":"initial-call-to-cardinal-and-response","depth":4}],"frontmatter":{"seo":{"title":"SDK and Device data initialization"}},"lastModified":"2025-11-26T14:21:19.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/3ds/v2/android-ios/device-data","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}