Unified Click to Pay

Merchants and Payment Service Providers

Data Elements - Unified Click to Pay

All primitive and composite data elements are defined below. The request parameters and response attributes (returned if processing is successful) are provided in a single JSON object.

In the request parameters and response attributes tables for each SDK method, the column headed R/C/O in each table refers to whether the parameter/attribute is required, conditional or optional. The following notation is used:

  • R = Required – always present.
  • C = Conditional – present under certain conditions (as specified in the description).
  • O = Optional – can be present.

Data Objects

The following section introduces the common data objects used across the APIs defined in the SDK API Specification. Each table defines a single data object.

Address

The allowed characters for the address line 1, 2, and 3 are: .',:_#/()ÁáÀàÂâÄäÃãÇçÉéÈèÊêËëÍíÎîÏïÑñÓóÔôÕõOEoeÚúÙùÛûÜüŸÿÆæĄąĆćĘꣳŃńŚśŹźŻż/

Data Element

R/C/O

Description

addressId

Type: String

Universally Unique Identifier (UUID)

O

Reference identifier of the address in the SRC System.

name

Type: String

Max Length = 100

O

Name of the consumer.

line1

Type: String

Max Length = 75

C

Address line 1
Conditionality: Required if this is a shipping address in a valid format for the country.

line2

Type: String

Max Length = 75

O

Address line 2.

line3

Type: String

Max Length = 75

O

Address line 3.

city

Type: String

Max Length = 50

C

Address city.
Conditionality: Required if this is a shipping address in a valid format for the country.

state

Type: String

Max Length = 30

C

Address state.
Recommendation to support ISO 3166-2 format i.e. made up of ISO 3166-1 alpha 2 country code, followed by an alphanumeric string of 3 characters representing the state or sub-division
Conditionality: Required if this is a shipping address in a valid format for the country.

zip

Type: String

Max Length = 16

C

Address zip/postal code.
Conditionality: Required if this is a shipping address in a valid format for the country and has a postal code or zip code.

countryCode

Type: String

ISO 3166-1 alpha-2 country code

R

Address country code.

createTime

Type: String (Numeric)

UTC time in Unix epoch format

O

Date and time the address was created.

lastUsedTime

Type: String (Numeric)

UTC time in Unix epoch format

O

Date and time the address was last used.

AssuranceData

Data Element

R/C/O

Description

verificationData

Type: List<VerificationData>

See VerificationData

R

Set of verification data structures relating to different types of assurance.

eci

Type: String

Max Length = 2

O

If present, a value indicating the result of the authentication performed or attempted during a transaction. Use this value in the e-commerce authorization message to VisaNet.

It is one of the following values:

  • 05 – Successful authentication
  • 06 – Authentication attempted
  • 07 – Authentication not performed

AuthenticationMethod

Data Element

R/C/O

Description

authenticationMethodType

Type: AuthenticationMethodType

See AuthenticationMethodType enum

R

SRCi to indicate for a particular transaction if Click to Pay needs to perform managed authentication or not.

authenticationSubject

Type: AuthenticationSubject

See AuthenticationSubject enum

R

Authentication subject.

uriData

Type: UriData

See UriData

O

URI associated with the authentication method.
When authentication is invoked by launching the URI then AssuranceData, AuthenticationStatus, AuthenticationResult and any relevant session ids should be provided back asynchronously when authentication completes.
It can be achieved by cross origin post message between the windows i.e. the caller and the authenticator.

authenticationCredentialReference

Type: String

Max Length = 255

O

May be provided by the identity provider once an authentication is initiated to qualify the nature of the authentication method (e.g. for SMS_OTP, this may include the masked mobile number "***-***-1234", which can be displayed to the consumer to aid method selection).

methodAttributes

Type: JSONObject

O

Attributes associated with the authentication method type. (See AuthenticationMethod Attributes JSON Values)

AuthenticationMethod MethodAttributes JSON Values

The contents of methodAttributes depends on the value of authenticationMethodType and on the API operation / SDK method being called.

The methodAttributes is included as follows:

  • Within the Checkout response for authenticate flow.
  • As part of AuthenticationMethod within the Checkout request for authenticate flow.

If authenticationMethodType is any of the following.

  • CSC_VALIDATION

Data Element

Description

cardSecurityCode

Type: String, Length = 3 or 4

Card Security Code.

If authenticationMethodType is any of the following.

  • SMS_OTP
  • EMAIL_OTP

Data Element

Description

otpValue

Type: String, Max Length = 16

OTP value.

stepUpIdentifier

Type: String

Step-up identification.

If authenticationMethodType is any of the following.

  • APP_AUTHENTICATON

Data Element

Description

stepUpIdentifier

Type: String

Step-up identification.

If authenticationMethodType is any of the following.

  • 3DS

Data Element

Description

challengeIndicator

Type: String

Challenge indicator value related to 3DS authentication.

For SRC orchestrated 3DS is authentication method, SRCIs can specify the preference of challenge indicator here. Please refer to EMV 3DS specification for more details.

Note: If no preference provided, SRC will set up the default value of 01 for 3DS and 04 when followed by FIDO registration.

If value is set to 05 by the SRCI then do not override the indicator to 03 though it is a FIDO compliant device.

Valid values are:

  • 01 - No preference
  • 02 - No challenge requested
  • 03 - Challenge requested (3DS Requestor Preference)
  • 04 - Challenge requested (Mandate)
  • 05 - No challenge requested (transactional risk analysis is already performed)
  • 06 - No challenge requested (Data share only)
  • 07 - No challenge requested (strong consumer authentication is already performed)
  • 08 - No challenge requested (utilize trust list exemption if no challenge required)
  • 09 - Challenge requested (trust list prompt requested if challenge required)

AuthenticationPreferences

Data Element

R/C/O

Description

authenticationMethods 

Type: List<AuthenticationMethod>  

See AuthenticationMethod

O

The list of authentication methods and associated parameters populated by the SRCI: 
  1. in its preferred order; or 
  2. as instructed by the SRC system

supressChallenge 

Type: Boolean

O

SRCI preference to indicate challenge suppression.

payloadRequested 

Type: PayloadRequested 

See PayloadRequested

O

Indicates whether the SRCI or Merchant prefers an authenticated or non-authenticated payload.

Card

Data Element

R/C/O

Description

primaryAccountNumber

Type: String (Numeric)

Min Length = 9

Max Length = 19

R

The account number of the card to be enrolled and provisioned.

panExpirationMonth

Type: String (Numeric)

Length = 2

C

Expiration month expressed as a two-digit month (MM).
Conditionality: Required when specified for the card (PAN).

panExpirationYear

Type: String (Numeric)

Length = 4

C

Expiration year expressed as a four-digit calendar year (YYYY).
Conditionality: Required when specified for the card (PAN).

cardSecurityCode

Type: String (Numeric)

Length = 3 or 4

C

Card security code.

Conditionality: Required when specified for the card (PAN).

cardholderFullName

Type: String

Max Length = 100

C

Cardholder name.

Conditionality: Required when specified for the card (PAN).

cardholderFirstName

Type: String

Max Length = 50

O

Cardholder first name.

cardholderLastName

Type: String

Max Length = 50

O

Cardholder last name.

billingAddress

Type: Address

See Address

O

Billing address.

paymentAccountReference

Type: String

Max Length = 29

O

A non-financial reference assigned to each unique PAN and used to link a payment account represented by that PAN to affiliated payment tokens.

CheckoutPayloadResponse

Data Element

R/C/O

Description

srciTransactionId

Type: String

Max Length = 255

R

A unique identifier generated by Visa SRCi.

maskedConsumer

Type: MaskedConsumer

See MaskedConsumer

C

Masked consumer data associated with the SRC profile.
Conditionality: Required for the Checkout and Get Payload operations if the associated SRC profile contains consumer data.

maskedCard

Type: MaskedCard

See MaskedCard

R

Masked card data.

shippingAddressZip

Type: String

Max Length = 16

C

Zip or postal code of selected shipping address.
Conditionality: Required, depending on the dpaShippingPreference option in the dpaTransactionOptions structure.

shippingAddressCountryCode

Type: String

ISO 3166-1 alpha-2 country code

C

Country code of selected shipping address.
Conditionality: Required, depending on the dpaShippingPreference option in the dpaTransactionOptions structure.

customOutputData

Type: JSONObject

O

SRC System-specific data.

assuranceData

Type: AssuranceData

See AssuranceData

O

Assurance data related to the checkout flow.

encryptedPayload

Type: JWE<Payload>

See Payload

C

SRC Payload. Encrypted for the specific recipient.

Conditionality: encryptedPayload will be not present when:

  • payloadTypeIndicatorCheckout is set to SUMMARY or
  • actionCode in checkout operation response is set to PENDING_AUTHENTICATION.

ComplianceResource

Data Element

R/C/O

Description

complianceType

Type: ComplianceType

See ComplianceType enum

R

Compliance type.

uri

Type: String

Max Length = 1024

R

Uniform Resource Identifier (URI), a valid web address or URL.

version

Type: String

Max Length = 10

O

Version.

datePublished

Type: String

UTC time in Unix epoch format

O

Date resource was published.

ComplianceSettings

Data Element

R/C/O

Description

complianceResources

Type: List<ComplianceResource>

See ComplianceResource

R

One or more compliance resources, which consists of a single compliance type and URI.

ConfirmationData

Data Element

R/C/O

Description

checkoutEventType

Type: String (Numeric)

Length = 2

R

Event type associated with the confirmation. Valid values are:
  • 00 Place Order
  • 01 Authorize
  • 02 Capture
  • 03 Refund
  • 04 Cancel (Auth Reversal)
  • 05 Fraud
  • 06 Chargeback
  • 07 Cancel before Auth
  • 08 Auth for account validation

checkoutEventStatus

Type: String (Numeric)

Length = 2

O

Event status associated with the order. Valid values are:
  • 01 Created
  • 02 Confirmed
  • 03 Cancelled
  • 04 Fraud Cancelled
  • 05 Others

confirmationStatus

Type: String (Numeric)

Length = 2

R

Status related to the checkoutEventType as provided by the SRC Initiator. Valid values are:
  • 01 Success
  • 02 Failure
  • 03 Other
  • 04 Timeout

confirmationReason

Type: String

Max Length = 64

O

Description of the reason for the event associated with the order.

confirmationTimestamp

Type: String (Numeric)

UTC time in Unix epoch format

R

Date and time of the event set by the SRC Initiator.

networkAuthorizationCode

Type: String

Max Length = 25

C

Authorization code associated with an approved transaction.

Conditionality: Required when the value of:

  • checkoutEventType is set to 01 (Authorize) or 03 (Refund); and
  • confirmationStatus is set to 01 (Success)

networkTransactionIdentifier

Type: String

Max Length = 25

O

Unique authorization related tracing identifier assigned by a Payment Network and provided in an payment authorization response.

paymentNetworkReference

Type: String

Max Length = 25

O

Transaction identifier as provided by a Payment Network payment authorization has been completed.

transactionAmount

Type: TransactionAmount

See TransactionAmount

C

Amount of the transaction.

Conditionality: Required when the value of:

  • checkoutEventType is set to 01 (Authorize) or 03 (Refund); and
  • confirmationStatus is set to 01 (Success)

Consumer

Data Element

R/C/O

Description

consumerIdentity

Type: ConsumerIdentity

See ConsumerIdentity

R

Primary verifiable consumer identity within an SRC profile (e.g. an email address or a mobile phone number).

Note: Currently mobile phone numbers are not supported but will be in future.

firstName

Type: String

Max Length = 50

O

Consumer-provided first name.

lastName

Type: String

Max Length = 50

O

Consumer-provided last name.

fullName

Type: String

Max Length = 100

C

Consumer-provided full name.

Conditionality: Required for new user flow.

emailAddress 

Type: String

Max Length = 255

O

Consumer-provided email address.

mobileNumber 

Type: PhoneNumber

See PhoneNumber

C

Consumer-provided mobile number.

Conditionality: Required for add card flow if consumer identity is not mobile.

nationalIdentifier 

Type: String

Max Length = 20

O

Geographic-specific, nationally-provided identifier for the consumer.

countryCode

Type: String

ISO 3166-1 alpha-2 country code

O

Consumer-provided country code. The country code associated with the address.

locale

Type: String

ISO language country pair. [ISO 639-1 Code]_[ ISO 3166-1 alpha 2 country code]

O

Consumer-provided locale.

ConsumerIdentity

Data Element

R/C/O

Description

identityProvider

Type: IdentityProvider

See IdentityProvider enum

O

Entity or organization that collected and verified the identity.

The default value is SRC.

identityType

Type: ConsumerIdentityType

See ConsumerIdentityType enum

R

Type of consumer identity transmitted or collected.

Note: Only an email address is supported.

identityValue

Type: String

Max Length = 255

R

Consumer identity value that corresponds to the consumer identity type. Is used to locate information within the SRC profile.
This is not SRC consumer reference identifier, but instead a consumer-provided value.

Note: Only an email address is supported.

Dcf

Data Element

R/C/O

Description

applicationType

Type: ApplicationType

See ApplicationType enum

O

Type of the environment of the DCF.

uri

Type: String

Max Length = 1024

O

DCF URI as provided by DCF.

logoUri

Type: String

Max Length = 1024

O

Logo image URI provided by the DCF to support presentation.

name

Type: String

Max Length = 60

O

Legal Name of DCF onboarded to the SRC System.

DigitalCardData

Data Element

R/C/O

Description

status

Type: DigitalCardStatus

See DigitalCardStatus enum

R

State of the digital card.

presentationName

Type: String

Max Length = 64

O

Presentation text created by the consumer to enable recognition of the PAN. This value is defined by the consumer (e.g. nickname).

descriptorName

Type: String

Max Length = 64

R

Presentation text defined by the SRC System that describes the PAN presented as a digital card.

artUri

Type: String

Max Length = 1024

R

URI that hosts the card art image to be used for presentation purposes. Can be provided by SRC Issuer (SRCPI).

artHeight

Type: String (Numeric)

Max Length = 4096

O

Height of the card art in pixels.

artWidth

Type: String (Numeric)

Max Length = 4096

O

Width of the card art in pixels.

pendingEvents

Type: List<CardPendingEvent>

See CardPendingEvent enum

C

Set of events that are pending completion.
Conditionality: Required when the value of status is set to PENDING.

authenticationMethods

List<AuthenticationMethod>

See AuthenticationMethod

O

List of available authentication methods.
May be provided when SRC System identifies a need to perform verification.

DigitalCardFeature

Data Element

R/C/O

Description

content

Type: String

Max Length = 1024

R

Content of the digital card feature. The value is specific for the 'contentType’.

contentType

Type: DigitalCardFeatureContentType

See DigitalCardFeatureContentType enum

R

Type of the content of the digital card feature.

style

Type: String

Max Length = 1024

O

URL of a CSS style sheet that describes how to present the card feature.

width

Type: String (Numeric)

O

Width to be applied to display of card feature.

height

Type: String (Numeric)

O

Height to be applied to display of card feature.

DpaTransactionOptions

Data Element

R/C/O

Description

transactionAmount

Type: TransactionAmount

See TransactionAmount

O

The amount of the transaction.

dpaBillingPreference

Type: AddressPreference

See AddressPreference enum

O

Type of billing address required.

dpaAcceptedBillingCountries

Type: List<String>

Array of country codes in ISO 3166-1 alpha-2 format

O

Billing restrictions.
Payments from all the listed billing countries are accepted.
For example: ["US","CA","AU"]

consumerNationalIdentifierRequested

Type: Boolean

O

Indicates whether the DPA expects the consumer national identifier to be returned in the SRC payload.

merchantCategoryCode

Type: String

Length = 4

O

Describes the merchant’s type of business, product or service.

merchantCountryCode

Type: String

ISO 3166-1alpha-2 country code

O

Country code of the merchant.

merchantOrderId

Type: String, UUID

O

Digital Payment Application generated order/invoice number corresponding to a consumer purchase.

paymentOptions

Type: List<PaymentOptions>

See PaymentOptions

O

Specifies the Dynamic Data requirement for the payload creation.

dpaLocale

Type: String

ISO language country pair. [ISO 639-1 Code]_[ ISO 3166-1 alpha 2 country code]

O

Merchant’s preferred locale.
For example: [“en_US”, “fr_CA”]

acquirerMerchantId

Type: String

Max Length = 35

O

Acquirer-assigned merchant identifier.

acquirerBIN

Type: String

Max Length = 11

O

Acquirer identification code as assigned by the Directory Server receiving the AReq message.

merchantName

Type: String

O

Merchant name assigned by the acquirer or payment system.

authenticationPreferences

Type: AuthenticationPreferences

See AuthenticationPreferences

O  

recurringData

Type: RecurringData

See RecurringData

O

The data specific to a recurring transaction.

DynamicData

Data Element

R/C/O

Description

dynamicDataValue

Type: String

C

Value of the dynamic data.

Conditionality: Required when the value of dynamicDataType is not set to NONE.

dynamicDataType

Type: DynamicDataType

See DynamicDataType

R

Type of the Dynamic Data.

dynamicDataExpiration

Type: String (Numeric)

UTC time in Unix epoch format

O

Date and time at which the Dynamic Data expires.

IdentityValidationChannel

Data Element

R/C/O

Description

validationChannelId

Type: String

Max Length = 36

R

Reference identifier of the validation channel.

identityProvider

Type: IdentityProvider

See IdentityProvider

O

Entity or organization that can validate the identity.

identityType

Type: IdentityValidationChannelType

See IdentityValidationChannelType enum

R

Type of the identity validation channel (e.g. email, SMS).

maskedValidationChannel

Type: String

Max Length = 255

O

Masked identity validation channel (e.g. masked email, masked mobile number).

MaskedAddress

The allowed characters for the address line 1, 2, and 3 are: .',:_#/()ÁáÀàÂâÄäÃãÇçÉéÈèÊêËëÍíÎîÏïÑñÓóÔôÕõOEoeÚúÙùÛûÜüŸÿÆæĄąĆćĘꣳŃńŚśŹźŻż/

Data Element

R/C/O

Description

addressId

Type: String

Universally Unique Identifier (UUID)

R

Identifier used to point to the address.

name

Type: String

Max Length = 100

O

Name of the individual receiving the delivered goods or service. Only applicable for the shipping address.

line1

Type: String

Max Length = 75

O

Address line 1.

line2

Type: String

Max Length = 75

O

Address line 2.

line3

Type: String

Max Length = 75

O

Address line 3.

city

Type: String

Max Length = 50

Address city.

state

Type: String

Max Length = 30

O

Address state.

Recommendation to support ISO 3166-2 format i.e. made up of ISO 3166-1 alpha 2 country code, followed by an alphanumeric string of 3 characters representing the state or sub-division.

countryCode

Type: String

ISO 3166-1 alpha 2 country code

O

Address country code.

zip

Type: String

Max Length = 16

O

Address zip/postal code.

createTime

Type: String (Numeric), UTC time in Unix epoch format

O

Date and time the address was created.

lastUsedTime

Type: String (Numeric), UTC time in Unix epoch format

O

Date and time the address was last used.

MaskedCard

Data Element

R/C/O

Description

srcDigitalCardId

Type: String

Universally Unique Identifier (UUID)

R

A reference identifier of the card to be used for checkout.

panBin

Type: String (Numeric)

Max Length = (PAN Length -10)

R

First significant digits of the PAN included in an unmasked form.

panLastFour

Type: String (Numeric)

Length = 4

R

Last four digits of the PAN in an unmasked form.

panExpirationMonth

Type: String (Numeric)

Length = 2

C

Expiration month expressed as a two-digit month (MM) used for presentation purposes.
Conditionality: Required when specified for the card (PAN).

panExpirationYear

Type: String (Numeric)

Length = 4

C

Expiration year expressed as four-digit calendar year (YYYY), used for presentation purposes.
Conditionality: Required when specified for the card (PAN).

tokenBinRange

Type: String (Numeric)

Max Length = (Payment Token Length -10)

C

Specific BIN range or subset of the BIN Range that has been designated only for the purpose of issuing payment tokens in an unmasked form.
Conditionality: Required when a payment token is used.

tokenLastFour

Type: String (Numeric)

Length = 4

C

Last four digits of the payment token in an unmasked form.
Conditionality: Required when a payment token is used.

digitalCardData

Type: DigitalCardData

See DigitalCardData

R

Contains digital card information that is used in the acceptance environment and user interface. It refers to the actual PAN or payment token without disclosing either.

maskedCardholderFullName

Type: String

Max Length = 100

O

Masked cardholder name.

maskedCardholderFirstName

Type: String

Max Length = 50

O

Masked cardholder first name.

maskedCardholderLastName

Type: String

Max Length = 50

O

Masked cardholder last name.

paymentCardDescriptor

Type: String

Max Length = 32

O

Conveys the card brand defined within an SRC System.

paymentCardType

Type: String

Max Length = 32

O

Conveys the card type.

digitalCardFeatures

Type: List<DigitalCardFeature>

See DigitalCardFeature

O

Attributes related to the digital card features that should be displayed to the consumer.

countryCode

Type: String

ISO 3166-1 alpha 2 country code

O

Country code of issuance associated with the card issuer’s BIN license.

maskedBillingAddress

Type: MaskedAddress

See MaskedAddress

O

Masked billing address associated with the card.

dcf

Type: Dcf

See Dcf

O

Digital Card Facilitator (DCF) associated with the card.

It is present only when the MaskedCard is used in the Checkout or Get Payload operation.

paymentAccountReference

Type: String

Max Length = 29

O

A non-financial reference assigned to each unique PAN and used to link a payment account represented by that PAN to affiliated payment tokens.

dateOfCardCreated

Type: String (Numeric)

UTC time in Unix epoch format

R

Date when card was enrolled into the SRC System.

dateOfCardLastUsed

Type: String (Numeric)

UTC time in Unix epoch format

O

Date when card was last used for an SRC transaction.

MaskedConsumer

Data Element

R/C/O

Description

srcConsumerId

Type: String

Universally Unique Identifier (UUID)

O

Reference identifier generated by the SRC System.

Note: Optionally may be returned in Get Payload operation.

maskedConsumerIdentity

Type: MaskedConsumerIdentity

See MaskedConsumerIdentity

C

Masked value of the primary verifiable consumer identity within an SRC profile (e.g. an email address or a mobile phone number).

Conditionality: Returned in Get Payload operation.

maskedEmailAddress

Type: String

Max Length = 255

O

Masked consumer email address.

MaskedConsumerIdentity

Data Element

R/C/O

Description

identityProvider

Type: IdentityProvider

See IdentityProvider enum

O

Entity or organization that collected and verifies the identity.

The default value is SRC.

identityType

Type: ConsumerIdentityType

See ConsumerIdentityType enum

O

Type of consumer identity transmitted or collected.

maskedIdentityValue

Type: String

Max Length = 255

R

Masked consumer identifier value. For example, masked email address or masked mobile phone number.

TransactionAmount

Data Element

R/C/O

Description

transactionAmount

Type: Number

Max Length = 18, Optional decimal point but if decimal point supplied then followed by 4 decimal digits

R

Amount of the transaction represented as a floating point number.

transactionCurrencyCode

Type: String (Numeric)

ISO 4217 three-digit currency code

R

Currency in which the transaction amount is expressed.

Payload

Data Element

R/C/O

Description

card

Type: Card

See Card

C

Card data associated with the PAN used for the purchase.

Conditionality: Required when the:

  • value of the relevant data element of type PayloadTypeIndicator was set to FULL; and
  • SRC System determines that a PAN-based payload must be returned.

 

A card is required if a token is not present. Card and token are mutually exclusive.

token

Type: PaymentToken

See PaymentToken

C

Payment Token data associated with the PAN used for the purchase.

Conditionality: Required when the:

  • Value of the relevant data element of type PayloadTypeIndicator was set to FULL; and
  • SRC System determines that a payment token-based payload must be returned.

 

A token is required if a card is not present. Card and token are mutually exclusive.

shippingAddress

Type: Address

See Address

C

Shipping address as required for the delivery of the goods/services being purchased.

Conditionality: Required when:

  • The value of the relevant data element of type PayloadTypeIndicator was set to FULL; and
  • Identified shipping address is available in the SRC Profile; and
  • Shipping address was requested (based on dpaShippingPreference)

consumerEmailAddress

Type: String

Max Length = 255

C

Consumer-provided email address.

Conditionality: Required when:

  • The value of the relevant data element of type PayloadTypeIndicator was set to FULL; and
  • Email address is available in the SRC profile; and
  • Email address was requested (consumerEmailAddressRequested set to true)

consumerFirstName

Type: String, Max Length = 50

C

Consumer-provided first name.

Conditionality: Required when:

  • The value of the relevant data element of type PayloadTypeIndicator was set to FULL; and
  • Consumer first name is available in the SRC profile; and
  • Consumer name was requested (consumerNameRequested set to true)

consumerLastName

Type: String

Max Length = 50

C

Consumer-provided last name.

Conditionality: Required when:

  • The value of the relevant data element of type PayloadTypeIndicator was set to FULL; and
  • Consumer last name is available in the SRC profile; and
  • Consumer name was requested (consumerNameRequested set to true)

consumerFullName

Type: String

Max Length = 100

C

Consumer-provided name.

Conditionality: Required when:

  • The value of the relevant data element of type PayloadTypeIndicator was set to FULL; and
  • Consumer name is available in the SRC profile; and
  • Consumer name was requested (consumerNameRequested set to true)

consumerMobileNumber

Type: PhoneNumber

See Phonenumber

C

Consumer-provided mobile number.

Conditionality: Required when:

  • The value of the relevant data element of type PayloadTypeIndicator was set to FULL; and
  • Consumer mobile number is available in the SRC profile; and
  • Consumer mobile number is requested (consumerPhoneNumberRequested set to true)

consumerNationalIdentifier

Type: String

Max Length = 20

O

Consumer national identifier as available in SRC profile.

dynamicData

Type: List<DynamicData>

See DynamicData

R

Dynamic data, generated using the dynamicDataType preference indicated in paymentOptions.

billingAddress

Type: Address

See Address

C

Billing address associated with the card used for the purchase.

Conditionality: Required when:

  • The value of the relevant data element of type PayloadTypeIndicator was set to FULL; and
  • Billing address is available in the SRC profile; and
  • Billing address was requested (based on dpaBillingPreference or statically derived using the default configured during DPA Registration)

PaymentOptions

Data Element

R/C/O

Description

dpaDynamicDataTtlMinutes Type: String (Numeric)

O

Requested “Time to Live” (expiry period) of the dynamic data, specified in minutes. If this is not provided, the values are determined by the SRCs.

dynamicDataType Type: DynamicDataType

See DynamicDataType enum

O

Type of dynamic data required in the payload.

PaymentToken

Data Element

R/C/O

Description

paymentToken

Type: String

ISO/IEC 7812 format

R

The tokenized payment instrument.

tokenExpirationMonth

Type: String (Numeric)

Length = 2

R

Expiration month expressed as a two-digit month (MM).

tokenExpirationYear

Type: String (Numeric)

Length = 4

C

Expiration year expressed as a four-digit calendar year (YYYY).

cardholderFullName

Type: String

Max Length = 100

O

Cardholder name.

cardholderFirstName

Type: String

Max Length = 50

O

Cardholder first name.

cardholderLastName

Type: String

Max Length = 50

O

Cardholder last name.

paymentAccountReference

Type: String

Max Length = 29

O

A non-financial reference assigned to each unique PAN and used to link a payment account represented by that PAN to affiliated payment tokens.

PhoneNumber

Data Element

R/C/O

Description

countryCode

Type: String

Min Length = 1
Max Length = 4
(International calling code format)

R

Phone number country code as defined by the International Telecommunication Union.

phoneNumber

Type: String

Min Length = 4
Max Length = 14

R

Phone number without country code.

RecurringData

Data Element

R/C/O

Description

recurringAmount 

Type: String (Numeric) 

Max Length = 48

C

Recurring amount in minor units of currency with all punctuation removed. 

For example, when the purchase amount is USD123.45, the following values are acceptable: 

  • “12345” 
  • “012345” 
  • “0012345” 

Conditionality: Required when recurringInd.AmountInd = 01

recurringCurrency 

Type: String 

ISO 4217 three-digit currency code

C

Currency in which recurringAmount is expressed. 

Conditionality: Required when recurringAmount is present.

recurringExponent 

Type: String (Numeric) 

Length = 1

C

Minor units of currency as specified in the ISO 4217 currency exponent. 

For example: USD = 2, JPY = 0

recurringDate 

Type: String (Numeric) 

Length = 8

C

Effective date of the new authorized amount following the first / promotional payment in a recurring or instalment transaction, expressed in YYYYMMDD format. 

Conditionality: Required when recurringInd.frequencyInd = 01

recurringExpiry 

Type: String (Numeric) 

Length = 8

C

Date after which no further authorizations are performed, expressed in YYYYMMDD format. 

Conditionality Required when there is an end date.

recurringFrequency 

Type: String 

Max Length = 4

C

Indicates the minimum number of days between authorisations for a recurring or instalment transaction from 1 to 9999 inclusive 

Conditionality: Required when recurringInd.frequencyInd = 01

recurringInd 

Type: JSONObject

R

Indicates whether the recurring or instalment payment has a fixed or variable amount and frequency. 

The Recurring Indicator object contains the: 

Amount Indicator

Field Name: amountInd 

Values accepted: 

  • 01 = Fixed Purchase Amount 
  • 02 = Variable Purchase Amount 

Frequency Indicator

Field Name: frequencyInd 

Values accepted: 

  • 01 = Fixed Frequency 
  • 02 = Variable or Unknown Frequency 

Example: 

{"recurringInd":{ 

"amountInd":"01", 

"frequencyInd":"02"} 

}

SrcProfile

Data Element

R/C/O

Description

maskedCards

Type: List<MaskedCard>

See MaskedCard

R

Masked card data associated with the SRC profile. May be an empty list.

maskedConsumer

Type: MaskedConsumer

See MaskedConsumer

O

Masked consumer data associated with the SRC profile.

UriData

Data Element

R/C/O

Description

uri

Type: String

Max Length = 2048

R

Specifies the URI for the given authentication method.

uriType

Type: UriType

See UriType enum

R

URI type.

VerificationData

Data Element

R/C/O

Description

verificationType

Type: VerificationType

See VerificationType enum

R

Type of the verification data.

verificationEntity

Type: String (Numeric)

Length = 2

R

Entity performing the verification.

See VerificationData Values

verificationEvents

Type: List<String (Numeric)>

Array of two digit codes

O

Event where the verification occurred.

See VerificationData Values

verificationMethod

Type: String (Numeric)

Length = 2

R

Method of the verification.

See VerificationData Values

verificationResults

Type: String (Numeric)

Length = 2

R

Result of the verification.

See VerificationData Values

verificationTimestamp

Type: String (Numeric)

UTC time in Unix epoch format

R

Date and time when the verification was conducted.

methodResults

Type: JSONObject

O

Attributes associated with the authentication method (See AuthenticationMethod MethodResults JSON Values).

VerificationData Values

Verification Type

Verification Entity

Verification Event

Verification Method

Verification Results

CARDHOLDER

Entity performing or initiating Cardholder authentication. Valid values are:
  • 01 SRC Initiator
  • 02 SRC System (Not supported)
  • 03 SRCPI
  • 04 DCF (Not supported)
  • 05 DPA (Not supported)
  • 06– 20 EMVCo future use (Not supported)
  • 21 – 99 SRC System specific (Not supported)
Event where the verification occurred. Valid values are:
  • 01 Payment transaction
  • 02 Add card/Card enrollment
  • 03 SRC Profile Access
  • 04 Account Verification
  • 05 – 20 EMVCo future use (Not supported)
  • 21 – 99 SRC System specific (Not supported)
Card Issuer verification of the Cardholder. Valid values are:
  • 01 Use of an EMV 3-D Secure ACS (Not supported)
  • 02 App based authentication
  • 03 Federated login systems (Not supported)
  • 04 A shared secret between the Card Issuer and the Cardholder such as One Time Passcode (OTP), activation code
  • 05 No authentication (Not supported)
  • 06 Proprietary method of authentication (Not supported)
  • 07 FIDO2 (Not supported)
  • 08 SPC (Not supported)
  • 09 – 20 EMVCo future use (Not supported)
  • 21 – 99 SRC System specific (See below)
  • 21 – Visa Token Service step–up: Device binding
  • 22 – Visa Token Service step–up: Cardholder verification
Indicates whether the Cardholder was verified or not, and what the results are when verified. Valid values are:
  • 01 Verified
  • 02 Not Verified
  • 03 Not performed
  • 04 Not required
  • 05 – 20 EMVCo future use (Not supported)
  • 21 – 99 SRC System specific (See below)
  • 21 – Not allowed

AuthenticationMethod MethodResults JSON Values

The methodResults is part of VerficationData which is part of AssuranceData, which is returned in the Checkout/Authenticate response.

Within methodResults, threeDsData may contain data such as tranStatus and tranStatusReason when 3DS is completed.

Data Element

Description

transStatus

Type: String

Whether a transaction qualifies as an authenticated transaction (for 3DS authentication).

Format: It is one of the following string values:

  • "Y"
  • "R"
  • "C"
  • "N"
  • "U"
  • "A"
  • "D"
  • "I"

dsTransId

Type: String, UUID

ID assigned by the DS to identify the transaction (for 3DS authentication).

acsTransId

Type: String, UUID

ID assigned by the ACS to identify the transaction (for 3DS authentication).

Enumerations

Note: The enumeration values set out below are not exhaustive. Other values may be added in future versions of this SDK API specification or may be defined within the scope of a specific implementation.

ActionCode

Enumeration Name

Valid Values

ActionCode

  • SUCCESS
  • PENDING_CONSUMER_IDV
  • PENDING_AUTHENTICATION
  • CHANGE_CARD
  • ADD_CARD
  • CANCEL
  • ERROR

AddressPreference

Enumeration Name

Valid Values

AddressPreference

  • NONE
  • FULL
  • POSTAL_COUNTRY

ApplicationType

Enumeration Name

Valid Values

ApplicationType

  • IOT_DEVICE
  • MOBILE_APP
  • WEB_BROWSER
  • OTHER

AuthenticationMethodType

Enumeration Name

Valid Values

AuthenticationMethodType

  • CSC_VALIDATION
  • EMAIL_OTP
  • SMS_OTP
  • APP_AUTHENTICATION
  • 3DS

AuthenticationReason

Enumeration Name Valid Values
AuthenticationReason
  • TRANSACTION_AUTHENTICATION

AuthenticationResult

Enumeration Name

Valid Values

AuthenticationResult

  • AUTHENTICATED
  • NON_AUTHENTICATED

AuthenticationStatus

Enumeration Name

Valid Values

AuthenticationStatus

  • COMPLETE
  • PENDING
  • PENDING_CHALLENGE
  • CANCELLED
  • EXPIRED
  • NOT_SUPPORTED

AuthenticationSubject

Enumeration Name

Valid Values

AuthenticationSubject

  • CARD
  • CARDHOLDER
  • CONSUMER

BindingStatus

Enumeration Name

Valid Values

BindingStatus

  • BIND
  • UNBIND

CardPendingEvent

Enumeration Name

Valid Values

CardPendingEvent

  • PENDING_AVS
  • PENDING_CSC
  • PENDING_CONSUMER_IDV
  • PENDING_ CARDHOLDER_AUTHENTICATION

ComplianceType

Enumeration Name

Valid Values

ComplianceType

  • PRIVACY_POLICY
  • REMEMBER_ME
  • TERMS_AND_CONDITIONS

ConsumerIdentityType

Enumeration Name

Valid Values

ConsumerIdentityType

  • EMAIL_ADDRESS
  • MOBILE_PHONE_NUMBER

ConsumerStatus

Enumeration Name

Valid Values

ConsumerStatus

  • ACTIVE
  • SUSPENDED
  • LOCKED

DigitalCardFeatureContentType

Enumeration Name

Valid Values

DigitalCardFeatureContentType

  • TEXT_STRING
  • IMAGE_URL
  • CONTENT_URL
  • LINK_URL

DigitalCardStatus

Enumeration Name

Valid Values

DigitalCardStatus

  • ACTIVE
  • SUSPENDED
  • EXPIRED
  • PENDING
  • CANCELLED

DynamicDataType

Enumeration Name

Valid Values

DynamicDataType

  • CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM
  • CARD_APPLICATION_CRYPTOGRAM_LONG_FORM
  • DYNAMIC_CARD_SECURITY_CODE
  • CARDHOLDER_AUTHENTICATION_CRYPTOGRAM
  • NONE

IdentityProvider

Enumeration Name

Valid Values

IdentityProvider

  • SRC

IdentityValidationChannelType

Enumeration Name

Valid Values

IdentityValidationChannelType

  • EMAIL
  • SMS

PayloadTypeIndicator

Enumeration Name

Valid Values

PayloadTypeIndicator

  • SUMMARY
  • FULL

TransactionType

Enumeration Name

Valid Values

TransactionType

  • PURCHASE

UriType

Enumeration Name

Valid Values

UriType

  • APP_URI
  • WEB_URI

VerificationType

Enumeration Name

Valid Values

VerificationType

  • CARDHOLDER