Initialize Device Data

Generate required data for 3DS Device Data Collection

Methods

POST

Generates the JWT, issuer URL and optionally retrieves the card BIN

Request

Copied!
{
 "type": "object",
 "required": [
  "transactionReference",
  "merchant"
 ],
 "properties": {
  "transactionReference": {
   "type": "string",
   "minLength": 1,
   "maxLength": 64,
   "pattern": "[^\"' <>]*"
  },
  "merchant": {
   "type": "object",
   "required": [
    "entity"
   ],
   "properties": {
    "entity": {
     "type": "string",
     "minLength": 1,
     "maxLength": 64,
     "pattern": "^[A-Za-z0-9 ]*$"
    }
   }
  },
  "paymentInstrument": {
   "oneOf": [
    {
     "type": "object",
     "properties": {
      "type": {
       "type": "string",
       "const": "card/front"
      },
      "billingAddress": {
       "type": "object",
       "properties": {
        "city": {
         "type": "string",
         "minLength": 1,
         "maxLength": 50
        },
        "state": {
         "type": "string",
         "minLength": 1,
         "maxLength": 30
        },
        "address1": {
         "type": "string",
         "minLength": 1,
         "maxLength": 80
        },
        "address2": {
         "type": "string",
         "maxLength": 80
        },
        "address3": {
         "type": "string",
         "maxLength": 80
        },
        "postalCode": {
         "type": "string",
         "minLength": 1,
         "maxLength": 15
        },
        "countryCode": {
         "type": "string",
         "minLength": 2,
         "maxLength": 2,
         "pattern": "^[A-Z]{2}$"
        }
       },
       "required": [
        "address1",
        "city",
        "postalCode",
        "countryCode"
       ]
      },
      "cardHolderName": {
       "type": "string",
       "minLength": 1,
       "maxLength": 255
      },
      "cardExpiryDate": {
       "type": "object",
       "properties": {
        "month": {
         "type": "integer",
         "minimum": 1,
         "maximum": 12
        },
        "year": {
         "type": "integer",
         "minimum": 1,
         "maximum": 9999
        }
       },
       "required": [
        "month",
        "year"
       ]
      },
      "cardNumber": {
       "type": "string",
       "minLength": 10,
       "maxLength": 19,
       "pattern": "^[0-9]*$"
      }
     },
     "required": [
      "type",
      "cardNumber",
      "cardHolderName",
      "cardExpiryDate"
     ]
    },
    {
     "type": "object",
     "properties": {
      "type": {
       "type": "string",
       "const": "card/tokenized"
      },
      "href": {
       "type": "string",
       "minLength": 1
      }
     },
     "required": [
      "type",
      "href"
     ]
    }
   ]
  }
 }
}

Responses

Response schema

Copied!
{
 "type": "object",
 "properties": {
  "outcome": {
   "type": "string",
   "const": "initialized"
  },
  "transactionReference": {
   "type": "string"
  },
  "deviceDataCollection": {
   "type": "object",
   "properties": {
    "jwt": {
     "type": "string"
    },
    "url": {
     "type": "string"
    },
    "bin": {
     "type": "string"
    }
   },
   "required": [
    "jwt",
    "url"
   ]
  },
  "_links": {
   "type": "object",
   "properties": {
    "3ds:authenticate": {
     "type": "object",
     "required": [
      "href"
     ],
     "properties": {
      "href": {
       "type": "string"
      }
     }
    },
    "curies": {
     "type": "array",
     "items": {
      "type": "object",
      "properties": {
       "href": {
        "type": "string"
       },
       "templated": {
        "type": "boolean"
       },
       "name": {
        "type": "string"
       }
      }
     },
     "required": [
      "href",
      "templated",
      "name"
     ]
    }
   }
  }
 },
 "required": [
  "outcome",
  "transactionReference",
  "deviceDataCollection"
 ]
}

Examples

POST
 Initialize the device data collection for a token payment instrument
View
POST
 Initialize the device data collection without a payment instrument
View

Link relationship

post
 Initialize the device data collection for a token payment instrument 
POST https://try.access.worldpay.com/verifications/customers/3ds/deviceDataInitialization
Copied!
{
  "Authorization": "Basic auth",
  "Content-Type": "application/vnd.worldpay.verifications.customers-v1.hal+json"
}
Copied!
{
  "transactionReference": "uniqueId",
  "merchant": {
    "entity": "entity1"
  },
  "paymentInstrument": {
    "type": "card/tokenized",
    "href": "https://tokens/tokens/MTIzNDU2Nzg5MDEyMzQ1Ng"
  }
}

200

Copied!
{
  "Content-Type": "application/vnd.worldpay.verifications.customers-v1.hal+json"
}
Copied!
{
  "outcome": "initialized",
  "transactionReference": "uniqueId",
  "deviceDataCollection": {
    "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJPcmdVbml0SWQiOiJvcmcgdW5pdCBpZCIsImlzcyI6ImFwaSBpZCIsImV4cCI6MTI5NDUsImlhdCI6MTIzNDUsImp0aSI6ImU1ODY2MDYzLWVmYmMtNGY5My1iYmI3LTg1MDkzZjAxZGZjZCJ9.SUafrXef_d3915NeHygKGP5LmnQXz2Jdxjhtj5OJRsw",
    "url": "https://secure.worldpay.com/url/to/ddc.html",
    "bin": "444433"
  },
  "_links": {
    "curies": [
      {
        "href": "https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}",
        "templated": true,
        "name": "3ds"
      }
    ],
    "3ds:authenticate": {
      "href": "authenticate"
    }
  }
}