You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »


KeyFormatConditionDescription
1

threeDSServerTransID

string

M

Unique transaction identifier generated by Computop and passed to the 3DS Server.

2

acsStartProtocolVersion

string

M

The earliest (i.e. oldest) active protocol version that is supported by the ACS, retrieved from the card range data repository.

3

acsEndProtocolVersion

string

M

The most recent active protocol version that is supported for the ACS URL, retrieved from the card range data repository.

4

dsStartProtocolVersion

string

M

The earliest (i.e. oldest) active protocol version that is supported by the DS, retrieved from the card range data repository, or optionally from the Directory Server repository in case this info is not present for the particular card range.

5

dsEndProtocolVersion

string

M

The most recent active protocol version that is supported for the DS, retrieved from the card range data repository, or optionally from the Directory Server repository in case this info is not present for the particular card range.

6

threeDSMethodURL

string

M

The ACS URL that will be used by the 3DS Method. The 3DSMethodURL data element may be null if not supported by the ACS for this specific card range.

7

hreeDSMethodDataForm

string

M

Value containing the 3DS Method Data to be sent to ACS in the 3DS Method HTTP form POST. In case 3DS Method URL is not stored in the card range data repository for the particular card range, this field will be null. The 3DS Method Data contain a Base64 encoded JSON object of the 3DS Server Transaction ID and the 3DS Method Notification URL.

8

threeDSMethodData

object

M

Object containing the data elements to be posted to the 3DS Method URL.

9

errorDetails

object

C

Object provided by the 3DS Server in case an error occured in response to a versioning request (e.g. Invalid cardholder account number passed, not available card range data, not available 3DS Method URL for cardholder account number, failure in encoding/serialization of the 3DS Method data).

threeDSMethodData


KeyFormatConditionDescription
1

threeDSMethodNotificationURL

string

M

The URL that will receive the notification of 3DS Method completion from the ACS. This is sent in the initial request to the ACS from the 3DS Requestor executing the 3DS Method.

2

threeDSServerTransID

string

M

Unique transaction identifier generated by Computop and passed to the 3DS Server.

errorDetails


KeyFormatConditionDescription
1

threeDSServerTransID

string

M

Unique transaction identifier generated by Computop and passed to the 3DS Server.

2

errorCode

string

M

Code indicating the type of problem identified in the message.

3

errorComponent

string

M

Code indicating the 3-D Secure component that identified the error.

Values accepted:

  • C = 3DS SDK.

  • S = 3DS Server.

  • D = Directory Server.

  • A = Access Control Server.

4

errorDescription

string

M

Error description.

errorCode

CodeDescription

101

Message received invalid.

102

Message version number not supported.

103

Sent messages limit exceeded. Only used for PReq.

201

Required element missing.

202

Critical message extension not recognized.

203

Format on one or more elements is invalid according to the specs.

204

Duplicate data element.

301

Transaction id is not recognized.

302

Data decryption failure.

303

Access denied, invalid endpoint.

304

ISO code is not valid.

305

Transaction data is not valid.

306

Merchant category code is not valid for payment system.

307

Serial number is not valid.

402

Transaction timed out.

403

Transient system failure.

404

Permanent system failure.

405

System connection failure.

911

UnionPay specific error code. Present when Data fields relevance check failed (ECI value and AV appearance are inconsistent with transaction status).

912

UnionPay specific error code. Present when duplicated transaction ID (Transaction ID should be unique for each AReq request).

Schema

{
	"$schema": "http://json-schema.org/draft-07/schema#",
	"$id": "https://www.computop-paygate.com/schemas/versioningData.json",
	"title": "3DS Versioning",
	"description": "3DS Versioning Data",
	"type": "object",
	"properties": {
		"threeDSServerTransID": {
			"type": ["string", "null"],
			"maxLength": 36
		},
		"acsStartProtocolVersion": {
			"type": ["string", "null"],
			"minLength": 5,
			"maxLength": 8
		},
		"acsEndProtocolVersion": {
			"type": ["string", "null"],
			"minLength": 5,
			"maxLength": 8
		},
		"dsStartProtocolVersion": {
			"type": ["string", "null"],
			"minLength": 5,
			"maxLength": 8
		},
		"dsEndProtocolVersion": {
			"type": ["string", "null"],
			"minLength": 5,
			"maxLength": 8
		},
		"threeDSMethodURL": {
			"type": ["string", "null"],
			"maxLength": 256
		},
		"threeDSMethodDataForm": {
			"type": ["string", "null"]
		},
		"threeDSMethodData": {
			"type": ["object", "null"],
			"properties": {
				"threeDSMethodNotificationURL" : {
					"type": "string",
					"format": "uri"
				},
				"threeDSServerTransID": {
					"type": "string",
					"maxLength": 36
				}
			},
			"required": ["threeDSMethodNotificationURL", "threeDSServerTransID"],
			"additionalProperties": false
		},
		"errorDetails": {
			"type": "object",
			"properties": {
				"threeDSServerTransID": {
					"type": "string",
					"maxLength": 36
				},
				"errorCode": {
					"type": "string",
					"minLength": 3,
					"maxLength": 3
				},
				"errorComponent": {
					"type": "string",
					"enum": ["C", "S", "D", "A"]
				},
				"errorDescription": {
					"type": "string"
				}
			},
			"required": ["threeDSServerTransID", "errorCode", "errorComponent", "errorDescription"],
			"additionalProperties": false
		},
	},
	"required": ["threeDSServerTransID", "acsStartProtocolVersion", "acsEndProtocolVersion", "dsStartProtocolVersion", "dsEndProtocolVersion", "threeDSMethodURL", "threeDSMethodDataForm", "threeDSMethodData"],
	"additionalProperties": false
}

Samples

Succesful versioning retrieved from 3DS Server

{
	"threeDSServerTransID": "14dd844c-b0fc-4dfe-8635-366fbf43468c",
	"acsStartProtocolVersion": "2.1.0",
	"acsEndProtocolVersion": "2.1.0",
	"dsStartProtocolVersion": "2.1.0",
	"dsEndProtocolVersion": "2.1.0",
	"threeDSMethodURL": "https://3ds-sim-dev.computop.com//acs/3ds-method",
	"threeDSMethodDataForm": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly93d3cuY29tcHV0b3AtcGF5Z2F0ZS5jb20vY2JUaHJlZURTLmFzcHg_YWN0aW9uPW10aGROdGZuIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIxNGRkODQ0Yy1iMGZjLTRkZmUtODYzNS0zNjZmYmY0MzQ2OGMifQ==",
	"threeDSMethodData": {
		"threeDSMethodNotificationURL": "https://www.computop-paygate.com/cbThreeDS.aspx?action=mthdNtfn",
		"threeDSServerTransID": "14dd844c-b0fc-4dfe-8635-366fbf43468c"
	}
}

Card number not enrolled for 3DS 2.0 (Fallback to 1.0)

{
	"threeDSServerTransID": null,
	"acsStartProtocolVersion": null,
	"acsEndProtocolVersion": null,
	"dsStartProtocolVersion": null,
	"dsEndProtocolVersion": null,
	"threeDSMethodURL": null,
	"threeDSMethodDataForm": null,
	"threeDSMethodData": null,
	"errorDetails": {
		"threeDSServerTransID": "20cfe55b-4ba2-425d-bf3a-29479886db56",
		"errorCode": "404",
		"errorComponent": "S",
		"errorDescription": "Card account number not found in card ranges from Directory Server"
	}
}


  • No labels