# Click to Pay
Click to Pay

## Version: 1

### Servers

| URL | Description |
| --- | ----------- |
| https://sandbox.api.visa.com | Sandbox server |

---
## Secure Remote Commerce
Enable partners  to securely add, manage, and use Visa tokenized credentials for digital purchases built on EMV standards.

### [POST] /src/v1/identities/lookup
**Identity Lookup**

The Identity Lookup operation uses a provided consumer identity (email address or mobile
phone number) to determine whether it is associated with an SRC profile.

**Authentication Requirements:**
- HTTP Header: x-pay-token - JWT token for authentication
- Query Parameter: apikey - API key issued during onboarding

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"srcClientId"**: string, **"consumerIdentity"**: { **"identityType"**: string, <br>**Available values:** "EMAIL_ADDRESS", "MOBILE_PHONE_NUMBER", **"identityValue"**: string, **"identityProvider"**: string, <br>**Available values:** "SRC", "SRCI" } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | The operation is processed successfully, and the lookup result is included in the response body. | **application/json**: { **"consumerStatus"**: string, <br>**Available values:** "ACTIVE", "SUSPENDED", "LOCKED", **"consumerPresent1"**: boolean, **"idLookupSessionId"**: string, **"lastUsedCardTimestamp"**: string (number) }<br> |
| 400 | Bad request. See error object for details. | **application/json**: { **"reason"**: string, **"status"**: string, **"message"**: string, **"errorDetail"**: [ { **"reason"**: string, **"source"**: string, **"message"**: string, **"sourceType"**: string } ] }<br> |
| 401 | Unauthorized. See error object for details, such as authorization token validation failure. | **application/json**: { **"reason"**: string, **"status"**: string, **"message"**: string, **"errorDetail"**: [ { **"reason"**: string, **"source"**: string, **"message"**: string, **"sourceType"**: string } ] }<br> |
| 403 | Forbidden. See error object for details, such as an incorrect SRC DPA ID being used. | **application/json**: { **"reason"**: string, **"status"**: string, **"message"**: string, **"errorDetail"**: [ { **"reason"**: string, **"source"**: string, **"message"**: string, **"sourceType"**: string } ] }<br> |
| 404 | Checkout transaction not found. | **application/json**: { **"reason"**: string, **"status"**: string, **"message"**: string, **"errorDetail"**: [ { **"reason"**: string, **"source"**: string, **"message"**: string, **"sourceType"**: string } ] }<br> |
| 500 | An internal server error occurred, such as a null pointer exception. | **application/json**: { **"reason"**: string, **"status"**: string, **"message"**: string, **"errorDetail"**: [ { **"reason"**: string, **"source"**: string, **"message"**: string, **"sourceType"**: string } ] }<br> |

---
### Schemas

#### Origin Schema

Indicates the entity performing the enrollment.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Origin | string, <br>**Available values:** "CARDHOLDER", "MERCHANT", "ISSUER" | Indicates the entity performing the enrollment. |  |

#### FederatedIdTokenClaims Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amr | [ string, <br>**Available values:** "sms_otp", "email_otp", "merchant_rememberme", "fido_pop", "ext_validation" ] | List of methods the end user was authenticated with. | No |
| aud | [ string (uri) ] | Audience(s) this ID Token is intended for. It must contain the identifier of the requestor as the first element of the array and may also contain identifiers for participating SRC Systems. | Yes |
| exp | integer | Expiration time as NumericDate, in seconds since 1970-01-01T00:00:00Z UTC. Minimum expiration timestamp should be 15 minutes from the issued-at timestamp. | Yes |
| iat | integer | Issued-at time as NumericDate, in seconds since 1970-01-01T00:00:00Z UTC. | Yes |
| iss | string (uri) | Issuer identifier for the issuer of the response. Must be a case-sensitive HTTPS URI containing scheme and fully qualified domain name of the host only.<br>*Example:* `"https://srcsystem1.com"` | Yes |
| jti | string | JWT ID. Unique identifier for the JWT. | No |
| sub | string | Subject identifier. A locally unique and never reassigned identifier within the issuer for the Consumer. | Yes |
| email | string | Obfuscated end user's preferred e-mail address. The underlying e-mail address must conform to RFC 5322 addr-spec syntax simplified to all lowercase characters. | No |
| ext_amr | [ string ] | amr value extracted from external validation JWT when amr includes ext_validation. | No |
| ext_aud | string or [ string ] | aud value extracted from external validation JWT when amr includes ext_validation. | No |
| ext_exp | integer | exp value extracted from external validation JWT when amr includes ext_validation. | No |
| ext_iat | integer | iat value extracted from external validation JWT when amr includes ext_validation. | No |
| ext_iss | string (uri) | iss value extracted from external validation JWT when amr includes ext_validation. | No |
| ext_sub | string | sub value extracted from external validation JWT when amr includes ext_validation. | No |
| auth_time | integer | Time when end-user authentication occurred, as NumericDate. | No |
| signed_data | [ { **"signedDataType"**: string, <br>**Available values:** "EXT_OIDC_JWT", **"signedDataValue"**: string } ] | Array of SignedData when amr includes ext_validation. | No |
| phone_number | string | Obfuscated end user's preferred mobile phone number. The underlying phone number must conform to E.164 format except that the leading '+' is excluded. | No |
| ext_auth_time | integer | auth_time value extracted from external validation JWT when amr includes ext_validation. | No |
| email_verified | boolean | True if the end user's e-mail address has been verified. | No |
| src_email_mask | string | Masked Consumer e-mail address in RFC 5322 format with SRC-specific masking rules. | No |
| phone_number_verified | boolean | True if the end user's phone number has been verified.  | No |
| src_phone_number_mask | string | Masked Consumer mobile phone number using E.164 format with SRC-specific masking rules. | No |

#### DpaTransactionOptions Schema

DPA configuration data, which overrides the configuration on the SRC system that was created during DPA registration.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dpaLocale | string | (Optional) Merchant’s preferred locale. For example:[“en_US”,“fr_CA”] ISO language country pair. [ISO 639-1 Code] [ISO 3166-1 alpha-2 country code]  | No |
| acquirerBin | string | (Conditional) Acquirer BIN. Required for the SRC system to facilitate authentication.  | No |
| merchantName | string | (Conditional) Merchant name. Required for the SRC system to facilitate authentication. | No |
| paymentOptions | [ { **"dynamicDataType"**: string, <br>**Available values:** "CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM", "CARD_APPLICATION_CRYPTOGRAM_LONG_FORM", "DYNAMIC_CARD_SECURITY_CODE", "CARDHOLDER_AUTHENTICATION_CRYPTOGRAM", "NONE" } ] | (Optional) Payment options(DynamicData preferences) requested by the DPA | No |
| customInputData | { **"paymentCardTypeSelected"**: string } | Network Specific Custom Input Data. Clients should silently disregard any unrecognized fields in the JSON object.  | No |
| merchantOrderId | string | (Optional) Digital Payment Application generated order/invoice number corresponding to a Consumer purchase | No |
| transactionAmount | { **"transactionAmount"**: number (decimal), **"transactionCurrencyCode"**: string } | Transaction amount details. | No |
| acquirerMerchantId | string | (Conditional) Acquirer-assigned Merchant identifier. Required for the SRC system to facilitate authentication.  | No |
| merchantCountryCode | string (ISO 3166-1-alpha2) | (Optional) Country code of the merchant.  | No |
| merchantCategoryCode | string | (Optional) Describes the merchant’s type of business, product or service.  | No |
| consumerNameRequested | boolean | (Optional) Indicates whether the DPA expects the Consumer name to be returned in the SRC Payload | No |
| authenticationPreferences | { **"payloadRequested"**: string, <br>**Available values:** "AUTHENTICATED", "NON_AUTHENTICATED", **"authenticationMethods"**: [ { **"uriData"**: { **"uri"**: string, **"uriType"**: string, <br>**Available values:** "APP_URI", "WEB_URI" }, **"methodAttributes"**: { **"windowType"**: string, <br>**Available values:** "POP_UP", **"challengeIndicator"**: string }, **"authenticationSubject"**: string, <br>**Available values:** "CARDHOLDER", "CONSUMER", "CARD", **"authenticationMethodType"**: string, <br>**Available values:** "SRCS_HOSTED_AUTHENTICATION", "3DS", **"authenticationCredentialReference"**: string } ] } | Authentication preferences. | No |
| dpaAcceptedBillingCountries | [ string ] | (Optional) Billing restrictions.  Array of country codes in ISO 3166-1 alpha-2 format. Payments from all the listed billing countries are accepted  For example: ["US","CA","AU"]  An empty list or the absence of this data element means that all countries are accepted.  | No |
| consumerPhoneNumberRequested | boolean | (Optional) Indicates whether the DPA expects the Consumer phone number to be returned in the SRC Payload. | No |
| consumerEmailAddressRequested | boolean | (Optional) Indicates whether the DPA expects the Consumer email address to be returned in the SRC Payload. | No |
| consumerNationalIdentifierRequested | boolean | (Optional) Indicates whether the DPA expects the Consumer National Identifier to be returned in the SRC Payload | No |

#### AcceptanceChannelRelatedData Schema

Acceptance channel related data.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| acceptanceChannelData | { **"sellerData"**: object, **"consumerData"**: object } | Acceptance channel data. | Yes |
| acceptanceChannelType | string, <br>**Available values:** "EMV_MERCHANT_PRESENTED_MODE" | Acceptance channel type<br>*Enum:* `"EMV_MERCHANT_PRESENTED_MODE"` | Yes |
| acceptanceChannelTechnology | string, <br>**Available values:** "QR_CODE" | Technology used to transmit/receive the acceptance channel data <br>*Enum:* `"QR_CODE"` | No |

#### Email Schema

Email address.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Email | string (email) | Email address. |  |

#### Address Schema

Address data.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| zip | string | (Conditional) Address zip or postal code. Conditionality:    When used with the DPA registration operation in the Management Service APIs, at least one of the following is required:   • both city and state   • zip Required if this is a shipping address in a valid format for the country and has a postal code or zip code.  | No |
| city | string | (Conditional) Address city.  Conditionality:    When used with the DPA registration operation in the Management Service APIs, at least one of the following is required:   • both city and state   • zip   Required if this is a shipping address in a valid format for the country.  | No |
| name | string | (Conditional) The name of the consumer or entity, if known. Conditionality: Required when known to the SRC system for this address.  | No |
| line1 | string | (Conditional) Address line 1.  Conditionality:    Required when used with the DPA registration operation in the Management Service APIs.   Required when the address is used as a shipping or delivery address.  | No |
| line2 | string | (Optional) Address line 2. | No |
| line3 | string | (Optional) Address line 3. | No |
| state | string | (Conditional) Address state. Recommendation: Support ISO 3166-2 format, which is made up of the ISO 3166-1 alpha-2 country code followed by an alphanumeric string of 3 characters representing the state or subdivision. Conditionality:    When used with the DPA registration operation in the Management Service APIs, at least one of the following is required:   • both city and state   • zip   Required if this is a shipping address in a valid format for the country.  | No |
| addressId | string (uuid) | (Conditional) Reference identifier of the address. Conditionality: Required when the address is already registered with Visa or the SRC system.  | No |
| countryCode | string (ISO 3166-1-alpha2) | (Required) Address country code.  ISO 3166-1 alpha-2 country code.  | Yes |

#### DigitalCardFeature Schema

Digital card feature.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| style | string | URI of a CSS style sheet that describes how to present a digital card feature. | No |
| width | string (number) | Width to be applied to the display of a digital card feature image. | No |
| height | string (number) | Height to be applied to the display of a digital card feature image. | No |
| content | string | Content of the digital card feature. The value is specific to the contentType. | Yes |
| contentType | string, <br>**Available values:** "TEXT_STRING", "IMAGE_URL", "CONTENT_URL", "LINK_URL" | Type of the content of the digital card feature.<br>*Enum:* `"TEXT_STRING"`, `"IMAGE_URL"`, `"CONTENT_URL"`, `"LINK_URL"` | Yes |

#### JwsPayloadResponse Schema

Signed JWS response. After verification and decoding, payload conforms to: #/components/schemas/CheckoutPayloadResponse.
  

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| JwsPayloadResponse | string (jws) | Signed JWS response. After verification and decoding, payload conforms to: #/components/schemas/CheckoutPayloadResponse.     |  |

#### PayloadResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayloadResponse |  |  |  |

#### AuthenticationMethod Schema

Authentication method.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| uriData | { **"uri"**: string, **"uriType"**: string, <br>**Available values:** "APP_URI", "WEB_URI" } | URI data. | No |
| methodAttributes | { **"windowType"**: string, <br>**Available values:** "POP_UP", **"challengeIndicator"**: string } | Authentication or verification method attributes. | No |
| authenticationSubject | string, <br>**Available values:** "CARDHOLDER", "CONSUMER", "CARD" | Authentication subject.<br>*Enum:* `"CARDHOLDER"`, `"CONSUMER"`, `"CARD"` | No |
| authenticationMethodType | string, <br>**Available values:** "SRCS_HOSTED_AUTHENTICATION", "3DS" | Authentication method type.<br>*Enum:* `"SRCS_HOSTED_AUTHENTICATION"`, `"3DS"` | No |
| authenticationCredentialReference | string | May be provided by the identity provider once authentication is initiated to qualify the nature of the authentication method.  For example, for SMS_OTP, this may include the masked mobile number "***-***-1234," which can be displayed to the consumer to aid method selection.  | No |

#### MethodResults Schema

Authentication or verification method attributes. 
Clients should silently disregard any unrecognized fields in the JSON object.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| threeDsData | { **"dsTransId"**: string, **"acsTransId"**: string, **"transStatus"**: string, <br>**Available values:** "Y", "R", "C", "N", "U", "A", "D", "I" } | 3DS data. | No |

#### VerificationData Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| methodResults | { **"threeDsData"**: { **"dsTransId"**: string, **"acsTransId"**: string, **"transStatus"**: string, <br>**Available values:** "Y", "R", "C", "N", "U", "A", "D", "I" } } | Authentication or verification method attributes.  Clients should silently disregard any unrecognized fields in the JSON object.  | No |
| additionalData | string | (Optional) Data collected during the verification process. | No |
| verificationType | string, <br>**Available values:** "CARDHOLDER", "CARD" | (Required) Type of the verification data.  <br>*Enum:* `"CARDHOLDER"`, `"CARD"` | Yes |
| verificationEntity | string, <br>**Available values:** "01", "02", "03" | (Required) Entity performing the verification. **01** - SRCI   **02** - SRC   **03** - SRCPI <br>*Enum:* `"01"`, `"02"`, `"03"` | Yes |
| verificationEvents | [ string (number), <br>**Available values:** "01" ] | (Optional) Event where the verification occurred.   **01** - Payment transaction    | No |
| verificationMethod | string (number), <br>**Available values:** "01", "02", "07" | (Required) Method of the verification. For veritificationType = CARDHOLDER:   **01** - Use of an EMV 3-D Secure ACS    **07** - FIDO2  For verificationType = CARD:   **02** - Card Verification Number validation   <br>*Enum:* `"01"`, `"02"`, `"07"` | Yes |
| verificationResults | string (number), <br>**Available values:** "01", "02", "03", "04", "21" | (Required) Result of the verification. **01** - Verified   **02** - Not verified   **03** - Not performed   **04** - Not required   **21** - Not allowed <br>*Enum:* `"01"`, `"02"`, `"03"`, `"04"`, `"21"` | Yes |
| verificationTimestamp | string (number) | (Required) Date and time the verification occurred. UTC time in Unix epoch format. | Yes |

#### DigitalCardData Schema

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

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| artUri | string | URI that hosts the card art image to be used for presentation purposes. | Yes |
| status | string, <br>**Available values:** "ACTIVE", "SUSPENDED", "PENDING", "EXPIRED", "CANCELLED" | Token status.<br>*Enum:* `"ACTIVE"`, `"SUSPENDED"`, `"PENDING"`, `"EXPIRED"`, `"CANCELLED"` | Yes |
| artWidth | string (number) | Width of the card art in pixels. | No |
| artHeight | string (number) | Height of the card art in pixels. | No |
| pendingEvents | [ string, <br>**Available values:** "PENDING_AVS", "PENDING_CSC", "PENDING_CONSUMER_IDV", "PENDING_CARDHOLDER_AUTHENTICATION" ] | Set of events that are pending completion.  Conditionality: Required when the value of status is set to PENDING.  | No |
| descriptorName | string | Presentation text defined by the SRC program that describes the PAN presented as a digital card. | Yes |
| presentationName | string | Presentation text created by the consumer to enable recognition of the PAN. This value is defined by the consumer, such as a nickname. | No |
| authenticationMethods | [ { **"uriData"**: { **"uri"**: string, **"uriType"**: string, <br>**Available values:** "APP_URI", "WEB_URI" }, **"methodAttributes"**: { **"windowType"**: string, <br>**Available values:** "POP_UP", **"challengeIndicator"**: string }, **"authenticationSubject"**: string, <br>**Available values:** "CARDHOLDER", "CONSUMER", "CARD", **"authenticationMethodType"**: string, <br>**Available values:** "SRCS_HOSTED_AUTHENTICATION", "3DS", **"authenticationCredentialReference"**: string } ] | List of available authentication methods. May be provided when the SRC system identifies a need to perform verification. | No |

#### ErrorDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | Error reason associated with the error detail \| Reason Code                 \| Description                                                                          \| \|---------------------------- \|--------------------------------------------------------------------------------------\| \| MISSING_REQUIRED_FIELD      \| A required field is missing in the request.                                          \| \| INVALID_IDENTITY_TYPE       \| The identity type provided is invalid.                                               \| \| INVALID_EMAIL_FORMAT        \| The email address format is invalid.                                                 \| \| INVALID_PHONE_FORMAT        \| The phone number format is invalid.                                                  \| \| INVALID_IDENTITY_PROVIDER   \| The identity provider is invalid.                                                    \| \| EMPTY_IDENTITY_VALUE        \| The identity value is empty.                                                         \| \| MISSING_CONDITIONAL_FIELD   \| A field required under certain conditions is missing in the request.                 \| \| CONSUMER_IDENTITY_NOT_FOUND \| The specified consumer identity was not found.                                       \| \| SESSION_ID_NOT_FOUND        \| The specified session ID was not found.                                              \| \| INVALID_VALIDATION_DATA     \| The validation data provided is invalid.                                             \| \| EMPTY_VALIDATION_DATA       \| The validation data provided is empty.                                               \| \| INCORRECT_OTP               \| The one-time password (OTP) provided is incorrect.                                   \| \| EXPIRED_OTP                 \| The one-time password (OTP) provided has expired.                                    \| \| VALIDATION_SESSION_NOT_FOUND \| The specified validation session ID was not found.                                  \| \| MAX_ATTEMPTS_EXCEEDED       \| The maximum number of validation attempts has been exceeded.                         \| \| VALIDATION_ALREADY_COMPLETED \| The identity validation has already been completed for the specified session ID.    \| \| VALIDATION_NOT_INITIATED    \| The identity validation has not been initiated for the specified session ID.         \| \| INVALID_JWT_FORMAT          \| The format of the provided JWT is invalid.                                           \| \| EMPTY_ARRAY                 \| The provided array is empty.                                                         \| \| INVALID_TRANSACTION_AMOUNT  \| The transaction amount provided is invalid.                                          \| \| INVALID_CURRENCY_CODE       \| The currency code provided is invalid.                                               \| \| SRC_PROFILE_NOT_FOUND       \| The specified SRC profile was not found.                                             \| \| INVALID_PAYLOAD_TYPE        \| The payload type provided is invalid.                                                \| \| INVALID_COUNTRY_CODE        \| The country code provided is invalid.                                                \| \| INVALID_BILLING_ADDRESS     \| The billing address provided is invalid.                                             \| \| DIGITAL_CARD_NOT_FOUND      \| The specified digital card was not found.                                            \| \| DPA_NOT_FOUND               \| The specified DPA was not found.                                                     \| \| CORRELATION_ID_NOT_FOUND    \| The specified correlation ID was not found.                                          \| \|--------------------------------------------------------------------------------------------------------------------\|  | No |
| source | string | Name of the source that generated this error. | No |
| message | string | Error message. | No |
| sourceType | string | Type of the source that generated this error. | No |

#### Consumer Schema

Consumer data.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| fullName | string | (Optional) Consumer-provided full name. | No |
| lastName | string | (Optional) Consumer-provided last name. | No |
| firstName | string | (Optional) Consumer-provided first name. | No |
| countryCode | string (ISO 3166-1-alpha2) | (Required) Consumer-provided country code. ISO 3166-1 alpha-2 country code. | No |
| emailAddress | string (email) | Email address. | No |
| languageCode | string | (Required) Consumer-provided language choice. ISO 639-1 code. | No |
| mobileNumber | { **"countryCode"**: string, **"phoneNumber"**: string } | Phone number. | No |
| consumerIdentity | { **"identityType"**: string, <br>**Available values:** "EMAIL_ADDRESS", "MOBILE_PHONE_NUMBER", **"identityValue"**: string, **"identityProvider"**: string, <br>**Available values:** "SRC", "SRCI" } | Consumer identity. | Yes |
| nationalIdentifier | string | Conditional: Geographic-specific, nationally provided identifier for the consumer. Conditionality: When required as per country-specific regulations.  | No |

#### DeviceData Schema

Device data.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | string | Type of device being used. Example values: • Mobile phone • Tablet • Laptop • Personal assistant • Connected auto • Home appliance • Wearable • Stationary computer • E-reader • Handheld gaming devices • Other  | No |
| brand | string | Brand name of the device. | No |
| model | string | Specific model of the device. | No |
| manufacturer | string | Manufacturer of the device. | No |

#### DeliveryContactDetails Schema

Delivery contact details associated with a shipping address.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| instructions | string | Consumer-provided delivery instructions. | No |
| contactFullName | string | Consumer-provided name of the contact person. | No |
| contactPhoneNumber | { **"countryCode"**: string, **"phoneNumber"**: string } | Phone number. | No |
| contactEmailAddress | string (email) | Email address. | No |

#### CheckoutPayloadResponse Schema

Checkout payload response containing transaction details and payment information.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| maskedCard | { **"panBin"**: string (number), **"tokenId"**: string, **"serviceId"**: string, <br>**Available values:** "CARD_ON_FILE", "PARTNER_TOKEN", **"cofEligible"**: boolean, **"countryCode"**: string (ISO 3166-1-alpha2), **"panLastFour"**: string (number), **"tokenBinRange"**: string (number), **"tokenLastFour"**: string (number), **"digitalCardData"**: { **"artUri"**: string, **"status"**: string, <br>**Available values:** "ACTIVE", "SUSPENDED", "PENDING", "EXPIRED", "CANCELLED", **"artWidth"**: string (number), **"artHeight"**: string (number), **"pendingEvents"**: [ string, <br>**Available values:** "PENDING_AVS", "PENDING_CSC", "PENDING_CONSUMER_IDV", "PENDING_CARDHOLDER_AUTHENTICATION" ], **"descriptorName"**: string, **"presentationName"**: string, **"authenticationMethods"**: [ { **"uriData"**: { **"uri"**: string, **"uriType"**: string, <br>**Available values:** "APP_URI", "WEB_URI" }, **"methodAttributes"**: { **"windowType"**: string, <br>**Available values:** "POP_UP", **"challengeIndicator"**: string }, **"authenticationSubject"**: string, <br>**Available values:** "CARDHOLDER", "CONSUMER", "CARD", **"authenticationMethodType"**: string, <br>**Available values:** "SRCS_HOSTED_AUTHENTICATION", "3DS", **"authenticationCredentialReference"**: string } ] }, **"paymentCardType"**: string, **"srcDigitalCardId"**: string (uuid), **"srcPaymentCardId"**: string (uuid), **"dateOfCardCreated"**: string (number), **"panExpirationYear"**: string, **"complianceSettings"**: { **"communications"**: { **"allowCall"**: boolean, **"allowPush"**: boolean, **"allowText"**: boolean, **"allowEmail"**: boolean, **"communicationsOptIn"**: boolean, **"affiliateCommunicationsOptIn"**: boolean }, **"complianceResources"**: [ { **"uri"**: string, **"version"**: string, **"datePublished"**: dateTime, **"complianceType"**: string, <br>**Available values:** "PRIVACY_POLICY", "TERMS_AND_CONDITIONS" } ] }, **"dateOfCardLastUsed"**: string (number), **"panExpirationMonth"**: string, **"digitalCardFeatures"**: [ { **"style"**: string, **"width"**: string (number), **"height"**: string (number), **"content"**: string, **"contentType"**: string, <br>**Available values:** "TEXT_STRING", "IMAGE_URL", "CONTENT_URL", "LINK_URL" } ], **"maskedBillingAddress"**: { **"zip"**: string, **"city"**: string, **"name"**: string, **"line1"**: string, **"line2"**: string, **"line3"**: string, **"state"**: string, **"addressId"**: string (uuid), **"createTime"**: string (number), **"countryCode"**: string (ISO 3166-1-alpha2), **"lastUsedTime"**: string (number) }, **"paymentCardDescriptor"**: string, **"enrollmentReferenceData"**: { **"enrollmentReferenceId"**: string, **"enrollmentReferenceType"**: string, <br>**Available values:** "SRC_DIGITAL_CARD_ID", "SRC_PAYMENT_CARD_ID", "COF_REFERENCE_ID", **"enrollmentReferenceProvider"**: string }, **"paymentAccountReference"**: string, **"maskedCardholderFullName"**: string, **"maskedCardholderLastName"**: string, **"maskedCardholderFirstName"**: string } | Masked card. | No |
| assuranceData | { **"eci"**: string, <br>**Available values:** "05", "06", "07", **"verificationData"**: [ { **"methodResults"**: { **"threeDsData"**: { **"dsTransId"**: string, **"acsTransId"**: string, **"transStatus"**: string, <br>**Available values:** "Y", "R", "C", "N", "U", "A", "D", "I" } }, **"additionalData"**: string, **"verificationType"**: string, <br>**Available values:** "CARDHOLDER", "CARD", **"verificationEntity"**: string, <br>**Available values:** "01", "02", "03", **"verificationEvents"**: [ string (number), <br>**Available values:** "01" ], **"verificationMethod"**: string (number), <br>**Available values:** "01", "02", "07", **"verificationResults"**: string (number), <br>**Available values:** "01", "02", "03", "04", "21", **"verificationTimestamp"**: string (number) } ] } | Set of verification data structures relating to different types of assurance. Includes information about any risk assessment operations performed by the SRC system.  | No |
| maskedConsumer | { **"status"**: string, <br>**Available values:** "ACTIVE", "SUSPENDED", "LOCKED", **"countryCode"**: string (ISO 3166-1-alpha2), **"languageCode"**: string, **"srcConsumerId"**: string (uuid), **"maskedFullName"**: string, **"maskedLastName"**: string, **"maskedFirstName"**: string, **"dateConsumerAdded"**: string (number), **"complianceSettings"**: { **"communications"**: { **"allowCall"**: boolean, **"allowPush"**: boolean, **"allowText"**: boolean, **"allowEmail"**: boolean, **"communicationsOptIn"**: boolean, **"affiliateCommunicationsOptIn"**: boolean }, **"complianceResources"**: [ { **"uri"**: string, **"version"**: string, **"datePublished"**: dateTime, **"complianceType"**: string, <br>**Available values:** "PRIVACY_POLICY", "TERMS_AND_CONDITIONS" } ] }, **"maskedEmailAddress"**: string (email), **"maskedMobileNumber"**: { **"countryCode"**: string, **"phoneNumber"**: string }, **"dateConsumerLastUsed"**: string (number), **"maskedConsumerIdentity"**: { **"identityType"**: string, <br>**Available values:** "EMAIL_ADDRESS", "MOBILE_PHONE_NUMBER", **"identityProvider"**: string, <br>**Available values:** "SRC", "SRCI", **"maskedIdentityValue"**: string }, **"maskedNationalIdentifier"**: string } | Consumer data. | No |
| customOutputData | object | Represents a free-form JSON object data structure. | No |
| encryptedPayload | string (application/jwt) | JWE<Payload> - SRC payload (as defined in the payload schema) encrypted for the specific recipient (without signing).  To use this field: 1. Decrypt the JWE using the recipient's private key according to RFC 7516. 2. Parse the resulting JSON as a payload object (see payload schema).  The decrypted payload will contain card or token data, shipping address, billing address, and other consumer information based on the payloadTypeIndicator value.  Conditionality: Either encryptedSignedPayload or encryptedPayload must be present in the response. See: #/components/schemas/Payload  | No |
| srcCorrelationId | string | Unique identifier generated by an SRC system. Conditionality: • Required for the checkout. • Required if received in the request.  | Yes |
| srciTransactionId | string | A unique transaction ID provided by the SRCi, which may be created on the merchant page. It must be passed through to all networks (SRC systems) and DCFs. Conditionality: Required when received in the request  | No |

#### IdentityValidationChannel Schema

Identity validation channel.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| identityType | string, <br>**Available values:** "EMAIL_ADDRESS", "MOBILE_PHONE_NUMBER" | Type of the identity validation channel (for example, email or SMS).<br>*Enum:* `"EMAIL_ADDRESS"`, `"MOBILE_PHONE_NUMBER"` | Yes |
| identityProvider | string, <br>**Available values:** "SRC", "SRCI" | Entity or organization that can validate the identity.<br>*Enum:* `"SRC"`, `"SRCI"` | No |
| validationChannelId | string | Reference identifier of the validation channel. | Yes |
| maskedValidationChannel | string | Masked identity validation channel (for example, masked email or masked mobile number). | No |

#### DynamicData Schema

Dynamic data generated using the dynamicDataType preference indicated in paymentOptions.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dynamicDataType | string, <br>**Available values:** "CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM", "CARD_APPLICATION_CRYPTOGRAM_LONG_FORM", "DYNAMIC_CARD_SECURITY_CODE", "CARDHOLDER_AUTHENTICATION_CRYPTOGRAM", "NONE" | Type of dynamic data required in the payload.<br>*Enum:* `"CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM"`, `"CARD_APPLICATION_CRYPTOGRAM_LONG_FORM"`, `"DYNAMIC_CARD_SECURITY_CODE"`, `"CARDHOLDER_AUTHENTICATION_CRYPTOGRAM"`, `"NONE"` | No |
| dynamicDataValue | string | Value of the dynamic data. Conditionality: Required when the value of dynamicDataType is not set to NONE.  | No |
| dynamicDataExpiration | string (number) | UTC time in Unix epoch format. Date and time when the dynamic data expires. | No |

#### AppInstance Schema

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

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| userAgent | string | User agent string of the connecting client application. Conditionality: • Required for browsers • Optional for non-browsers  | No |
| deviceData | { **"type"**: string, **"brand"**: string, **"model"**: string, **"manufacturer"**: string } | Device data. | No |
| countryCode | string (ISO 3166-1-alpha2) | ISO 3166-1 alpha-2 country code. The country where the consumer is accessing the service. | No |
| applicationName | string | Name of the connecting client application. | No |

#### MaskedAddress Schema

Masked address.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| zip | string | Address zip or postal code. Conditionality: When used with the DPA registration operation in the Management Service APIs, at least one of the following is required: • both city and state • zip  | No |
| city | string | Address city.  Conditionality: When used with the DPA registration operation in the Management Service APIs,  at least one of the following is required: • both city and state • zip  | No |
| name | string | The name of the consumer. | No |
| line1 | string | Address line 1.  | No |
| line2 | string | Address line 2. | No |
| line3 | string | Address line 3. | No |
| state | string | Address state. Recommendation: Support ISO 3166-2 format, which is made up of the ISO 3166-1 alpha-2 country code followed by an alphanumeric string of 3 characters representing the state or subdivision. Conditionality: When used with the DPA registration operation in the Management Service APIs, at least one of the following is required: • both city and state • zip  | No |
| addressId | string (uuid) | Reference identifier of the address. | Yes |
| createTime | string (number) | Date and time the address was created. UTC time in Unix epoch format. | No |
| countryCode | string (ISO 3166-1-alpha2) | Address country code.  ISO 3166-1 alpha-2 country code. Conditionality: Required when used with the DPA registration operation in the Management Service APIs.  | No |
| lastUsedTime | string (number) | Date and time the address was last used. UTC time in Unix epoch format. | No |

#### Dcf Schema

Digital card features.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| uri | string | DCF URI as provided by the DCF. | No |
| name | string | Legal name of the DCF onboarded to the SRC system. | No |
| logoUri | string | Logo image URI provided by the DCF to support presentation. | No |
| applicationType | string, <br>**Available values:** "IOT_DEVICE", "MOBILE_APP", "WEB_BROWSER", "OTHER" | *Enum:* `"IOT_DEVICE"`, `"MOBILE_APP"`, `"WEB_BROWSER"`, `"OTHER"` | No |

#### RecurringIndicators Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amountInd | string, <br>**Available values:** "1", "2" | Constraints:    Amount Indicator      Values accepted:     • 01 = Fixed Purchase Amount     • 02 = Variable Purchase Amount  <br>*Enum:* `"1"`, `"2"` | No |
| frequencyInd | string, <br>**Available values:** "1", "2" | Constraints:    Frequency Indicator      Field Name: frequencyInd     Values accepted:     • 01 = Fixed Frequency     • 02 = Variable or Unknown Frequency <br>*Enum:* `"1"`, `"2"` | No |

#### PaymentOptions Schema

Payment options.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dynamicDataType | string, <br>**Available values:** "CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM", "CARD_APPLICATION_CRYPTOGRAM_LONG_FORM", "DYNAMIC_CARD_SECURITY_CODE", "CARDHOLDER_AUTHENTICATION_CRYPTOGRAM", "NONE" | Type of dynamic data required in the payload.<br>*Enum:* `"CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM"`, `"CARD_APPLICATION_CRYPTOGRAM_LONG_FORM"`, `"DYNAMIC_CARD_SECURITY_CODE"`, `"CARDHOLDER_AUTHENTICATION_CRYPTOGRAM"`, `"NONE"` | No |

#### Card Schema

Payment account information.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| billingAddress | { **"zip"**: string, **"city"**: string, **"name"**: string, **"line1"**: string, **"line2"**: string, **"line3"**: string, **"state"**: string, **"addressId"**: string (uuid), **"countryCode"**: string (ISO 3166-1-alpha2) } | Address data. | No |
| cardSecurityCode | string | (Conditional) The card security code (CVV2) value associated with the account number on the card, if available.  Conditionality: Required for those cards that have a card security code.  | No |
| panExpirationYear | string | (Conditional) The account number expiration year. Conditionality: Required when printed on the card.  | No |
| cardholderFullName | string | (Conditional) Cardholder full name. Conditionality: Required if the billingAddress name field or the cardholderFirstName and cardholderLastName are not passed.  | No |
| cardholderLastName | string | (Optional) Cardholder last name. | No |
| customerServiceUri | string | (Optional) Customer service URI. | No |
| panExpirationMonth | string | (Conditional) The account number expiration month. Conditionality: Required when printed on the card.  | No |
| cardholderFirstName | string | (Optional) Cardholder first name. | No |
| primaryAccountNumber | string (integer) | (Required) Primary account number.  An ISO/IEC 7812-compliant account number, within account ranges associated with a BIN by a card issuer.  | Yes |
| paymentAccountReference | string | (Optional) A non-financial reference assigned to each unique PAN and used to link a payment account represented by that PAN to affiliated payment tokens.  | No |
| customerServicePhoneNumber | { **"countryCode"**: string, **"phoneNumber"**: string } | Phone number. | No |
| customerServiceEmailAddress | string | (Optional) Customer service email address. | No |

#### JSONObject Schema

Represents a free-form JSON object data structure.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| JSONObject | object | Represents a free-form JSON object data structure. |  |

#### SRCProfile Schema

SRC Profile

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| maskedCards | [ { **"panBin"**: string (number), **"tokenId"**: string, **"serviceId"**: string, <br>**Available values:** "CARD_ON_FILE", "PARTNER_TOKEN", **"cofEligible"**: boolean, **"countryCode"**: string (ISO 3166-1-alpha2), **"panLastFour"**: string (number), **"tokenBinRange"**: string (number), **"tokenLastFour"**: string (number), **"digitalCardData"**: { **"artUri"**: string, **"status"**: string, <br>**Available values:** "ACTIVE", "SUSPENDED", "PENDING", "EXPIRED", "CANCELLED", **"artWidth"**: string (number), **"artHeight"**: string (number), **"pendingEvents"**: [ string, <br>**Available values:** "PENDING_AVS", "PENDING_CSC", "PENDING_CONSUMER_IDV", "PENDING_CARDHOLDER_AUTHENTICATION" ], **"descriptorName"**: string, **"presentationName"**: string, **"authenticationMethods"**: [ { **"uriData"**: { **"uri"**: string, **"uriType"**: string, <br>**Available values:** "APP_URI", "WEB_URI" }, **"methodAttributes"**: { **"windowType"**: string, <br>**Available values:** "POP_UP", **"challengeIndicator"**: string }, **"authenticationSubject"**: string, <br>**Available values:** "CARDHOLDER", "CONSUMER", "CARD", **"authenticationMethodType"**: string, <br>**Available values:** "SRCS_HOSTED_AUTHENTICATION", "3DS", **"authenticationCredentialReference"**: string } ] }, **"paymentCardType"**: string, **"srcDigitalCardId"**: string (uuid), **"srcPaymentCardId"**: string (uuid), **"dateOfCardCreated"**: string (number), **"panExpirationYear"**: string, **"complianceSettings"**: { **"communications"**: { **"allowCall"**: boolean, **"allowPush"**: boolean, **"allowText"**: boolean, **"allowEmail"**: boolean, **"communicationsOptIn"**: boolean, **"affiliateCommunicationsOptIn"**: boolean }, **"complianceResources"**: [ { **"uri"**: string, **"version"**: string, **"datePublished"**: dateTime, **"complianceType"**: string, <br>**Available values:** "PRIVACY_POLICY", "TERMS_AND_CONDITIONS" } ] }, **"dateOfCardLastUsed"**: string (number), **"panExpirationMonth"**: string, **"digitalCardFeatures"**: [ { **"style"**: string, **"width"**: string (number), **"height"**: string (number), **"content"**: string, **"contentType"**: string, <br>**Available values:** "TEXT_STRING", "IMAGE_URL", "CONTENT_URL", "LINK_URL" } ], **"maskedBillingAddress"**: { **"zip"**: string, **"city"**: string, **"name"**: string, **"line1"**: string, **"line2"**: string, **"line3"**: string, **"state"**: string, **"addressId"**: string (uuid), **"createTime"**: string (number), **"countryCode"**: string (ISO 3166-1-alpha2), **"lastUsedTime"**: string (number) }, **"paymentCardDescriptor"**: string, **"enrollmentReferenceData"**: { **"enrollmentReferenceId"**: string, **"enrollmentReferenceType"**: string, <br>**Available values:** "SRC_DIGITAL_CARD_ID", "SRC_PAYMENT_CARD_ID", "COF_REFERENCE_ID", **"enrollmentReferenceProvider"**: string }, **"paymentAccountReference"**: string, **"maskedCardholderFullName"**: string, **"maskedCardholderLastName"**: string, **"maskedCardholderFirstName"**: string } ] | Masked cards associated with the SRC Profile | No |
| authorization | string | Must be provided if no authorization was provided in the request. | Yes |
| maskedConsumer | { **"status"**: string, <br>**Available values:** "ACTIVE", "SUSPENDED", "LOCKED", **"countryCode"**: string (ISO 3166-1-alpha2), **"languageCode"**: string, **"srcConsumerId"**: string (uuid), **"maskedFullName"**: string, **"maskedLastName"**: string, **"maskedFirstName"**: string, **"dateConsumerAdded"**: string (number), **"complianceSettings"**: { **"communications"**: { **"allowCall"**: boolean, **"allowPush"**: boolean, **"allowText"**: boolean, **"allowEmail"**: boolean, **"communicationsOptIn"**: boolean, **"affiliateCommunicationsOptIn"**: boolean }, **"complianceResources"**: [ { **"uri"**: string, **"version"**: string, **"datePublished"**: dateTime, **"complianceType"**: string, <br>**Available values:** "PRIVACY_POLICY", "TERMS_AND_CONDITIONS" } ] }, **"maskedEmailAddress"**: string (email), **"maskedMobileNumber"**: { **"countryCode"**: string, **"phoneNumber"**: string }, **"dateConsumerLastUsed"**: string (number), **"maskedConsumerIdentity"**: { **"identityType"**: string, <br>**Available values:** "EMAIL_ADDRESS", "MOBILE_PHONE_NUMBER", **"identityProvider"**: string, <br>**Available values:** "SRC", "SRCI", **"maskedIdentityValue"**: string }, **"maskedNationalIdentifier"**: string } | Consumer data. | No |

#### MaskedConsumer Schema

Consumer data.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string, <br>**Available values:** "ACTIVE", "SUSPENDED", "LOCKED" | Status of the consumer within the SRC system.<br>*Enum:* `"ACTIVE"`, `"SUSPENDED"`, `"LOCKED"` | Yes |
| countryCode | string (ISO 3166-1-alpha2) | Consumer-provided country code. ISO 3166-1 alpha-2 country code. | No |
| languageCode | string | Consumer-provided language choice. ISO 639-1 code. | No |
| srcConsumerId | string (uuid) | Reference identifier generated by the SRC system. | No |
| maskedFullName | string | Masked consumer-provided full name. | No |
| maskedLastName | string | Masked consumer-provided last name. | No |
| maskedFirstName | string | Masked consumer-provided first name. | No |
| dateConsumerAdded | string (number) | Date the consumer was added to the SRC system. | Yes |
| complianceSettings | { **"communications"**: { **"allowCall"**: boolean, **"allowPush"**: boolean, **"allowText"**: boolean, **"allowEmail"**: boolean, **"communicationsOptIn"**: boolean, **"affiliateCommunicationsOptIn"**: boolean }, **"complianceResources"**: [ { **"uri"**: string, **"version"**: string, **"datePublished"**: dateTime, **"complianceType"**: string, <br>**Available values:** "PRIVACY_POLICY", "TERMS_AND_CONDITIONS" } ] } | Compliance settings. | No |
| maskedEmailAddress | string (email) | Email address. | No |
| maskedMobileNumber | { **"countryCode"**: string, **"phoneNumber"**: string } | Phone number. | No |
| dateConsumerLastUsed | string (number) | Date the consumer last transacted, as determined by the SRC system. | No |
| maskedConsumerIdentity | { **"identityType"**: string, <br>**Available values:** "EMAIL_ADDRESS", "MOBILE_PHONE_NUMBER", **"identityProvider"**: string, <br>**Available values:** "SRC", "SRCI", **"maskedIdentityValue"**: string } |  | Yes |
| maskedNationalIdentifier | string | Masked consumer national identifier. | No |

#### RecurringData Schema

The data specific to a recurring transaction

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| recurringInd | { **"amountInd"**: string, <br>**Available values:** "1", "2", **"frequencyInd"**: string, <br>**Available values:** "1", "2" } |  | No |
| recurringDate | string (number) | Effective date of the new authorised amount following the first / promotional payment in a recurring or instalment transaction, expressed in YYYYMMDD format Conditionality: Required when recurringInd.frequencyInd = 01  | No |
| recurringAmount | string (double) | 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  | No |
| recurringExpiry | string (number) | Date after which no further authorisations are performed, expressed in YYYYMMDD format Conditionality Required when there is an end date  | No |
| recurringCurrency | string (number) | Currency in which recurringAmount is expressed. Conditionality: Required when recurringAmount is present. ISO 4217 three - digit currency code  | No |
| recurringExponent | string (number) | Minor units of currency as specified in the ISO 4217 currency exponent  For example: USD = 2, JPY = 0  | No |
| recurringFrequency | string (number) | 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  | No |

#### Payload Schema

The payload contains either a card or a token field, but never both, as they are mutually exclusive.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| token | { **"paymentToken"**: string, **"tokenExpirationYear"**: string (number), **"tokenExpirationMonth"**: string (number), **"paymentAccountReference"**: string } |  | No |
| dynamicData | [ { **"dynamicDataType"**: string, <br>**Available values:** "CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM", "CARD_APPLICATION_CRYPTOGRAM_LONG_FORM", "DYNAMIC_CARD_SECURITY_CODE", "CARDHOLDER_AUTHENTICATION_CRYPTOGRAM", "NONE", **"dynamicDataValue"**: string, **"dynamicDataExpiration"**: string (number) } ] | Dynamic data generated using the dynamicDataType preference indicated in paymentOptions. | No |
| billingAddress | { **"zip"**: string, **"city"**: string, **"name"**: string, **"line1"**: string, **"line2"**: string, **"line3"**: string, **"state"**: string, **"addressId"**: string (uuid), **"countryCode"**: string (ISO 3166-1-alpha2) } | Address data. | No |
| consumerFullName | string | Consumer-provided full name. Conditionality: Required when: • The value of the relevant data element of type PayloadTypeIndicator is set to FULL or NON_PAYMENT, and • A consumer name is available in the SRC profile, and • A consumer name was requested (consumerNameRequested set to true).  | No |
| consumerLastName | string | Consumer-provided last name. Conditionality: Required when: • The value of the relevant data element of type PayloadTypeIndicator is set to FULL or NON_PAYMENT, and • A consumer last name is available in the SRC profile, and • A consumer name was requested (consumerNameRequested set to true).  | No |
| consumerFirstName | string | Consumer-provided first name. Conditionality: Required when: • The value of the relevant data element of type PayloadTypeIndicator is set to FULL or NON_PAYMENT, and • A consumer first name is available in the SRC profile, and • A consumer name was requested (consumerNameRequested set to true).  | No |
| consumerEmailAddress | string (email) | Email address. | No |
| consumerMobileNumber | { **"countryCode"**: string, **"phoneNumber"**: string } | Phone number. | No |
| consumerNationalIdentifier | string | Consumer national identifier as available in the SRC profile. | No |

#### MaskedCard Schema

Masked card.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| panBin | string (number) | First significant digits of the PAN in unmasked form. Maximum length = PAN length - 10. | Yes |
| tokenId | string | Reference identifier for the payment token representing the PAN.  | No |
| serviceId | string, <br>**Available values:** "CARD_ON_FILE", "PARTNER_TOKEN" | Service identifier associated with the SRC digital card. | No |
| cofEligible | boolean | Indicates that the card is eligible for the merchant digital card-on-file use case. | No |
| countryCode | string (ISO 3166-1-alpha2) | ISO 3166-1 alpha-2 country code. Country code of issuance associated with the card issuer’s BIN license. | No |
| panLastFour | string (number) | Last four digits of the PAN in unmasked form. | Yes |
| tokenBinRange | string (number) | Specific BIN range or subset of the BIN range designated only for issuing payment tokens in unmasked form. Conditionality: Required when a payment token is used. Maximum length = payment token length - 10.  | No |
| tokenLastFour | string (number) | Last four digits of the payment token in unmasked form. Conditionality: Required when a payment token is used.  | No |
| digitalCardData | { **"artUri"**: string, **"status"**: string, <br>**Available values:** "ACTIVE", "SUSPENDED", "PENDING", "EXPIRED", "CANCELLED", **"artWidth"**: string (number), **"artHeight"**: string (number), **"pendingEvents"**: [ string, <br>**Available values:** "PENDING_AVS", "PENDING_CSC", "PENDING_CONSUMER_IDV", "PENDING_CARDHOLDER_AUTHENTICATION" ], **"descriptorName"**: string, **"presentationName"**: string, **"authenticationMethods"**: [ { **"uriData"**: { **"uri"**: string, **"uriType"**: string, <br>**Available values:** "APP_URI", "WEB_URI" }, **"methodAttributes"**: { **"windowType"**: string, <br>**Available values:** "POP_UP", **"challengeIndicator"**: string }, **"authenticationSubject"**: string, <br>**Available values:** "CARDHOLDER", "CONSUMER", "CARD", **"authenticationMethodType"**: string, <br>**Available values:** "SRCS_HOSTED_AUTHENTICATION", "3DS", **"authenticationCredentialReference"**: string } ] } | Contains digital card information that is used in the acceptance environment and user interface. Refers to the actual PAN or payment token without disclosing either. | Yes |
| paymentCardType | string | Conveys the card type. | No |
| srcDigitalCardId | string (uuid) | Reference identifier for the digital card representing the PAN or payment token.  | No |
| srcPaymentCardId | string (uuid) | (Conditional) Reference identifier for the PAN that enables the SRC system to communicate with the SRCPI without transmitting the actual PAN.  It is associated with the SRC profile to which the payment card belongs and is unique within an SRC system. Conditionality: Required when returned to the SRCPI.  | No |
| dateOfCardCreated | string (number) | UTC time in Unix epoch format. Date when the card was enrolled into the SRC system. | Yes |
| panExpirationYear | string | Expiration year expressed as a four-digit calendar year (YYYY) for presentation purposes. Conditionality: Required when specified for the card (PAN).  | No |
| complianceSettings | { **"communications"**: { **"allowCall"**: boolean, **"allowPush"**: boolean, **"allowText"**: boolean, **"allowEmail"**: boolean, **"communicationsOptIn"**: boolean, **"affiliateCommunicationsOptIn"**: boolean }, **"complianceResources"**: [ { **"uri"**: string, **"version"**: string, **"datePublished"**: dateTime, **"complianceType"**: string, <br>**Available values:** "PRIVACY_POLICY", "TERMS_AND_CONDITIONS" } ] } | Compliance settings. | No |
| dateOfCardLastUsed | string (number) | UTC time in Unix epoch format. Date when the card was last used for an SRC transaction. | No |
| panExpirationMonth | string | Expiration month expressed as a two-digit month (MM) for presentation purposes. Conditionality: Required when specified for the card (PAN).  | No |
| digitalCardFeatures | [ { **"style"**: string, **"width"**: string (number), **"height"**: string (number), **"content"**: string, **"contentType"**: string, <br>**Available values:** "TEXT_STRING", "IMAGE_URL", "CONTENT_URL", "LINK_URL" } ] | Attributes related to the digital card features that should be displayed to the consumer. | No |
| maskedBillingAddress | { **"zip"**: string, **"city"**: string, **"name"**: string, **"line1"**: string, **"line2"**: string, **"line3"**: string, **"state"**: string, **"addressId"**: string (uuid), **"createTime"**: string (number), **"countryCode"**: string (ISO 3166-1-alpha2), **"lastUsedTime"**: string (number) } | Masked address. | No |
| paymentCardDescriptor | string | A free-form string used for card brand or program recognition (also known as card short description). Example 'Visa Travel Rewards' | No |
| enrollmentReferenceData | { **"enrollmentReferenceId"**: string, **"enrollmentReferenceType"**: string, <br>**Available values:** "SRC_DIGITAL_CARD_ID", "SRC_PAYMENT_CARD_ID", "COF_REFERENCE_ID", **"enrollmentReferenceProvider"**: string } | Enrollment reference data. | No |
| paymentAccountReference | string | PAR - A non-financial reference assigned to each unique PAN. Used to link a payment account represented by that PAN to affiliated payment tokens.  | No |
| maskedCardholderFullName | string | Masked cardholder name. | No |
| maskedCardholderLastName | string | Masked cardholder last name. | No |
| maskedCardholderFirstName | string | Masked cardholder first name. | No |

#### PaymentToken Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentToken | string | ISO/IEC 7812 format payment token. | Yes |
| tokenExpirationYear | string (number) | Expiration year expressed as a four-digit calendar year (YYYY). Conditionality: Required when specified for the payment token.  | No |
| tokenExpirationMonth | string (number) | Expiration month expressed as a two-digit month (MM). Conditionality: Required when specified for the payment token.  | No |
| paymentAccountReference | string | A non-financial reference assigned to each unique PAN, used to link a payment account represented by that PAN to affiliated payment tokens. | No |

#### MethodAttributes Schema

Authentication or verification method attributes.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| windowType | string, <br>**Available values:** "POP_UP" | (Optional) Preferred window type for the authentication method.<br>*Enum:* `"POP_UP"` | No |
| challengeIndicator | string | (Optional) Challenge indicator value related to 3DS authentication. It is one of the following values:  * 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)  | No |

#### CustomInputData Schema

Network Specific Custom Input Data.
Clients should silently disregard any unrecognized fields in the JSON object.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentCardTypeSelected | string | Identifies the cardholder selection to process the transaction as either debit or credit at checkout.  Applicable only when the card product supports both credit and debit (Combo) options. Format: It is one of the following values: CREDIT, DEBIT  | No |

#### PayloadTypeIndicatorCheckout Schema

Identifies the type of encrypted payload to be returned.
Format: It is one of the following values: 
 * FULL — Includes everything; all PCI & PII data (card/token, billing, shipping, consumer)
 * PAYMENT — Includes everything; all PCI & PII data (card/token, billing, shipping, consumer)
 * NON_PAYMENT - Includes only PII data (shipping, billing, consumer); excludes card/token data
 * SUMMARY — (Default) Includes no PCI & PII data; only SRC Profile and transaction metadata

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayloadTypeIndicatorCheckout | string, <br>**Available values:** "FULL", "PAYMENT", "SUMMARY", "NON_PAYMENT" | Identifies the type of encrypted payload to be returned. Format: It is one of the following values:   * FULL — Includes everything; all PCI & PII data (card/token, billing, shipping, consumer)  * PAYMENT — Includes everything; all PCI & PII data (card/token, billing, shipping, consumer)  * NON_PAYMENT - Includes only PII data (shipping, billing, consumer); excludes card/token data  * SUMMARY — (Default) Includes no PCI & PII data; only SRC Profile and transaction metadata  |  |

#### CheckoutPayloadResponse-1 Schema

Checkout payload response containing transaction details and payment information.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| maskedCard | { **"panBin"**: string (number), **"tokenId"**: string, **"serviceId"**: string, <br>**Available values:** "CARD_ON_FILE", "PARTNER_TOKEN", **"cofEligible"**: boolean, **"countryCode"**: string (ISO 3166-1-alpha2), **"panLastFour"**: string (number), **"tokenBinRange"**: string (number), **"tokenLastFour"**: string (number), **"digitalCardData"**: { **"artUri"**: string, **"status"**: string, <br>**Available values:** "ACTIVE", "SUSPENDED", "PENDING", "EXPIRED", "CANCELLED", **"artWidth"**: string (number), **"artHeight"**: string (number), **"pendingEvents"**: [ string, <br>**Available values:** "PENDING_AVS", "PENDING_CSC", "PENDING_CONSUMER_IDV", "PENDING_CARDHOLDER_AUTHENTICATION" ], **"descriptorName"**: string, **"presentationName"**: string, **"authenticationMethods"**: [ { **"uriData"**: { **"uri"**: string, **"uriType"**: string, <br>**Available values:** "APP_URI", "WEB_URI" }, **"methodAttributes"**: { **"windowType"**: string, <br>**Available values:** "POP_UP", **"challengeIndicator"**: string }, **"authenticationSubject"**: string, <br>**Available values:** "CARDHOLDER", "CONSUMER", "CARD", **"authenticationMethodType"**: string, <br>**Available values:** "SRCS_HOSTED_AUTHENTICATION", "3DS", **"authenticationCredentialReference"**: string } ] }, **"paymentCardType"**: string, **"srcDigitalCardId"**: string (uuid), **"srcPaymentCardId"**: string (uuid), **"dateOfCardCreated"**: string (number), **"panExpirationYear"**: string, **"complianceSettings"**: { **"communications"**: { **"allowCall"**: boolean, **"allowPush"**: boolean, **"allowText"**: boolean, **"allowEmail"**: boolean, **"communicationsOptIn"**: boolean, **"affiliateCommunicationsOptIn"**: boolean }, **"complianceResources"**: [ { **"uri"**: string, **"version"**: string, **"datePublished"**: dateTime, **"complianceType"**: string, <br>**Available values:** "PRIVACY_POLICY", "TERMS_AND_CONDITIONS" } ] }, **"dateOfCardLastUsed"**: string (number), **"panExpirationMonth"**: string, **"digitalCardFeatures"**: [ { **"style"**: string, **"width"**: string (number), **"height"**: string (number), **"content"**: string, **"contentType"**: string, <br>**Available values:** "TEXT_STRING", "IMAGE_URL", "CONTENT_URL", "LINK_URL" } ], **"maskedBillingAddress"**: { **"zip"**: string, **"city"**: string, **"name"**: string, **"line1"**: string, **"line2"**: string, **"line3"**: string, **"state"**: string, **"addressId"**: string (uuid), **"createTime"**: string (number), **"countryCode"**: string (ISO 3166-1-alpha2), **"lastUsedTime"**: string (number) }, **"paymentCardDescriptor"**: string, **"enrollmentReferenceData"**: { **"enrollmentReferenceId"**: string, **"enrollmentReferenceType"**: string, <br>**Available values:** "SRC_DIGITAL_CARD_ID", "SRC_PAYMENT_CARD_ID", "COF_REFERENCE_ID", **"enrollmentReferenceProvider"**: string }, **"paymentAccountReference"**: string, **"maskedCardholderFullName"**: string, **"maskedCardholderLastName"**: string, **"maskedCardholderFirstName"**: string } | Masked card. | No |
| assuranceData | { **"eci"**: string, <br>**Available values:** "05", "06", "07", **"verificationData"**: [ { **"methodResults"**: { **"threeDsData"**: { **"dsTransId"**: string, **"acsTransId"**: string, **"transStatus"**: string, <br>**Available values:** "Y", "R", "C", "N", "U", "A", "D", "I" } }, **"additionalData"**: string, **"verificationType"**: string, <br>**Available values:** "CARDHOLDER", "CARD", **"verificationEntity"**: string, <br>**Available values:** "01", "02", "03", **"verificationEvents"**: [ string (number), <br>**Available values:** "01" ], **"verificationMethod"**: string (number), <br>**Available values:** "01", "02", "07", **"verificationResults"**: string (number), <br>**Available values:** "01", "02", "03", "04", "21", **"verificationTimestamp"**: string (number) } ] } | Set of verification data structures relating to different types of assurance. Includes information about any risk assessment operations performed by the SRC system.  | No |
| maskedConsumer | { **"status"**: string, <br>**Available values:** "ACTIVE", "SUSPENDED", "LOCKED", **"countryCode"**: string (ISO 3166-1-alpha2), **"languageCode"**: string, **"srcConsumerId"**: string (uuid), **"maskedFullName"**: string, **"maskedLastName"**: string, **"maskedFirstName"**: string, **"dateConsumerAdded"**: string (number), **"complianceSettings"**: { **"communications"**: { **"allowCall"**: boolean, **"allowPush"**: boolean, **"allowText"**: boolean, **"allowEmail"**: boolean, **"communicationsOptIn"**: boolean, **"affiliateCommunicationsOptIn"**: boolean }, **"complianceResources"**: [ { **"uri"**: string, **"version"**: string, **"datePublished"**: dateTime, **"complianceType"**: string, <br>**Available values:** "PRIVACY_POLICY", "TERMS_AND_CONDITIONS" } ] }, **"maskedEmailAddress"**: string (email), **"maskedMobileNumber"**: { **"countryCode"**: string, **"phoneNumber"**: string }, **"dateConsumerLastUsed"**: string (number), **"maskedConsumerIdentity"**: { **"identityType"**: string, <br>**Available values:** "EMAIL_ADDRESS", "MOBILE_PHONE_NUMBER", **"identityProvider"**: string, <br>**Available values:** "SRC", "SRCI", **"maskedIdentityValue"**: string }, **"maskedNationalIdentifier"**: string } | Consumer data. | No |
| customOutputData | object | Represents a free-form JSON object data structure. | No |
| encryptedPayload | string (jwe) | JWE<Payload> - SRC payload (as defined in the payload schema) encrypted for the specific recipient (without signing).  To use this field: 1. Decrypt the JWE using the recipient's private key according to RFC 7516. 2. Parse the resulting JSON as a payload object (see payload schema).  The decrypted payload will contain card or token data, shipping address, billing address, and other consumer information based on the payloadTypeIndicator value.  Conditionality: Either encryptedSignedPayload or encryptedPayload must be present in the response. See: #/components/schemas/Payload  | No |
| srcCorrelationId | string | Unique identifier generated by an SRC system. Conditionality: • Required for the checkout. • Required if received in the request.  | Yes |
| srciTransactionId | string | A unique transaction ID provided by the SRCi, which may be created on the merchant page. It must be passed through to all networks (SRC systems) and DCFs. Conditionality: Required when received in the request  | No |

#### DpaData Schema

Digital Payment Application Data

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dpaUri | string | (Conditional) Specifies the browser origin of the merchant’s parent window. This value is used by the step‑up Application  to ensure the authentication result is only delivered to the correct and trusted origin.          | No |
| dpaPresentationName | string | Display name of the DPA. Required to facilitate transaction authentication. | No |

#### CardPendingEvent Schema

Card pending event.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CardPendingEvent | string, <br>**Available values:** "PENDING_AVS", "PENDING_CSC", "PENDING_CONSUMER_IDV", "PENDING_CARDHOLDER_AUTHENTICATION" | Card pending event. |  |

#### ConsumerIdentity Schema

Consumer identity.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| identityType | string, <br>**Available values:** "EMAIL_ADDRESS", "MOBILE_PHONE_NUMBER" | (Required) Type of consumer identity transmitted or collected.<br>*Enum:* `"EMAIL_ADDRESS"`, `"MOBILE_PHONE_NUMBER"` | Yes |
| identityValue | string | (Required) Consumer identity value that corresponds to the consumer identity type. Format: String for a valid email address. For a mobile number, use the E.164 format with a maximum length of 15, including the country code. Remove special characters: All spaces, dashes, and parentheses should be removed, and all characters should be numeric. The mobile number must not include "+". Example: user@example.com, 61423123456  | Yes |
| identityProvider | string, <br>**Available values:** "SRC", "SRCI" | (Optional) Identity provider of the Consumer Identity. The default value is SRC<br>*Enum:* `"SRC"`, `"SRCI"` | No |

#### CheckoutResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CheckoutResponse |  |  |  |

#### idToken-1 Schema

Federated idToken in JWT Format. The token is a JSON Web Token (JWT) compliant with RFC 7519 and signed
using JSON Web Signature (JWS). The API returns the compact serialized JWT string in this field. The decoded JWT structure is 
documented by FederatedIdTokenDecoded, FederatedIdTokenHeader and FederatedIdTokenClaims.
See: #/components/schemas/FederatedIdTokenDecoded

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| idToken-1 | string (jwt) | Federated idToken in JWT Format. The token is a JSON Web Token (JWT) compliant with RFC 7519 and signed using JSON Web Signature (JWS). The API returns the compact serialized JWT string in this field. The decoded JWT structure is  documented by FederatedIdTokenDecoded, FederatedIdTokenHeader and FederatedIdTokenClaims. See: #/components/schemas/FederatedIdTokenDecoded  |  |

#### ServiceId Schema

To indicate to the SRC System that the Digital Card is the merchant Digital Card-on-file or partner token.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ServiceId | string, <br>**Available values:** "CARD_ON_FILE", "PARTNER_TOKEN" | To indicate to the SRC System that the Digital Card is the merchant Digital Card-on-file or partner token.  |  |

#### FederatedIdTokenHeader Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| alg | string, <br>**Available values:** "PS256", "RS256" | Algorithm used to digitally sign the payload according to RFC 7518. 'none' is not supported. 'PS256' is preferred to 'RS256'. <br>*Enum:* `"PS256"`, `"RS256"` | Yes |
| kid | string | Key ID for the SRC System public key to be used to verify the signature.  | Yes |
| typ | string, <br>**Available values:** "JWT+ext.id_token" | Media type of the token. For JWT tokens the value should be JWT+ext.id_token. <br>*Enum:* `"JWT+ext.id_token"` | Yes |

#### ComplianceResource Schema

Compliance resource.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| uri | string | URI. | Yes |
| version | string | Version. | No |
| datePublished | dateTime | Date the resource was published. UTC time in Unix epoch format. | No |
| complianceType | string, <br>**Available values:** "PRIVACY_POLICY", "TERMS_AND_CONDITIONS" | Compliance type.<br>*Enum:* `"PRIVACY_POLICY"`, `"TERMS_AND_CONDITIONS"` | Yes |

#### ConfirmationData Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| assuranceData | { **"eci"**: string, <br>**Available values:** "05", "06", "07", **"verificationData"**: [ { **"methodResults"**: { **"threeDsData"**: { **"dsTransId"**: string, **"acsTransId"**: string, **"transStatus"**: string, <br>**Available values:** "Y", "R", "C", "N", "U", "A", "D", "I" } }, **"additionalData"**: string, **"verificationType"**: string, <br>**Available values:** "CARDHOLDER", "CARD", **"verificationEntity"**: string, <br>**Available values:** "01", "02", "03", **"verificationEvents"**: [ string (number), <br>**Available values:** "01" ], **"verificationMethod"**: string (number), <br>**Available values:** "01", "02", "07", **"verificationResults"**: string (number), <br>**Available values:** "01", "02", "03", "04", "21", **"verificationTimestamp"**: string (number) } ] } | Set of verification data structures relating to different types of assurance. Includes information about any risk assessment operations performed by the SRC system.  | No |
| checkoutEventType | string (number) | Event type associated with the confirmation. Valid values are: • 00 Place Order • 01 Authorise • 02 Capture • 03 Refund • 04 Cancel (Auth Reversal) • 05 Fraud • 06 Chargeback • 07 Cancel before Auth • 08 Auth for account validation • 09 - 50 EMVCo future use • 51 - 99 SRC System specific  | Yes |
| transactionAmount | { **"transactionAmount"**: number (decimal), **"transactionCurrencyCode"**: string } | Transaction amount details. | No |
| confirmationReason | string | Description of the reason for the event associated with the order | No |
| confirmationStatus | string (number) | Status related to the checkoutEventType as provided by the SRC Initiator. Valid values are: • 01 Success • 02 Failure • 03 Other • 04 Timeout  | Yes |
| checkoutEventStatus | string (number) | Event status associated with the order. Valid values are: • 01 Created • 02 Confirmed • 03 Cancelled • 04 Fraud Cancelled • 05 Others • 06 - 50 EMVCo future use • 51 - 99 SRC System specific  | No |
| confirmationTimestamp | string (number) | UTC time in Unix epoch format. Date and time of the event set by the SRC Initiator | Yes |
| paymentNetworkReference | string | Transaction identifier as provided by a Payment Network payment authorisation has been completed | No |
| networkAuthorizationCode | string | (Conditional) Authorisation 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)  | No |
| networkTransactionIdentifier | string | Unique authorisation related tracing identifier assigned by a Payment Network and provided in an payment authorisation response | No |

#### MaskedConsumerIdentity Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| identityType | string, <br>**Available values:** "EMAIL_ADDRESS", "MOBILE_PHONE_NUMBER" | Type of consumer identity transmitted or collected.<br>*Enum:* `"EMAIL_ADDRESS"`, `"MOBILE_PHONE_NUMBER"` | Yes |
| identityProvider | string, <br>**Available values:** "SRC", "SRCI" | Identity provider of the consumer identity.<br>*Enum:* `"SRC"`, `"SRCI"` | No |
| maskedIdentityValue | string | Masked consumer identity value (for example, masked email address or masked mobile phone number). | Yes |

#### AssuranceData Schema

Set of verification data structures relating to different types of assurance. Includes information about any risk assessment operations performed by
the SRC system.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| eci | string, <br>**Available values:** "05", "06", "07" | (Optional) 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. Format: String; maximum 2 digits. It is one of the following values: 05 - Successful authentication 06 - Authentication attempted 07 - Authentication not performed <br>*Enum:* `"05"`, `"06"`, `"07"` | No |
| verificationData | [ { **"methodResults"**: { **"threeDsData"**: { **"dsTransId"**: string, **"acsTransId"**: string, **"transStatus"**: string, <br>**Available values:** "Y", "R", "C", "N", "U", "A", "D", "I" } }, **"additionalData"**: string, **"verificationType"**: string, <br>**Available values:** "CARDHOLDER", "CARD", **"verificationEntity"**: string, <br>**Available values:** "01", "02", "03", **"verificationEvents"**: [ string (number), <br>**Available values:** "01" ], **"verificationMethod"**: string (number), <br>**Available values:** "01", "02", "07", **"verificationResults"**: string (number), <br>**Available values:** "01", "02", "03", "04", "21", **"verificationTimestamp"**: string (number) } ] | (Required) Verification data. Set of verification data structures relating to different types of assurance. | Yes |

#### TokenReferenceData Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| clientAppId | string (uuid) | (Conditional) Client Application Id, which identifies the wallet provider application. Format: UUID, 36 Conditionality: Required for Token for Token use-case or deferred authentication flows.  | No |

#### PayloadTypeIndicator Schema

Identifies the type of encrypted payload to be returned.
Format: One of the following values: 
 * FULL — Includes all PCI and PII data (card or token, billing, shipping, consumer).

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayloadTypeIndicator | string, <br>**Available values:** "FULL", "PAYMENT" | Identifies the type of encrypted payload to be returned. Format: One of the following values:   * FULL — Includes all PCI and PII data (card or token, billing, shipping, consumer).  |  |

#### AcceptanceChannelData Schema

Acceptance channel data.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| sellerData | object | Represents a free-form JSON object data structure. | No |
| consumerData | object | Represents a free-form JSON object data structure. | No |

#### EnrollmentReferenceData Schema

Enrollment reference data.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| enrollmentReferenceId | string | Identifier of the enrollment reference. | Yes |
| enrollmentReferenceType | string, <br>**Available values:** "SRC_DIGITAL_CARD_ID", "SRC_PAYMENT_CARD_ID", "COF_REFERENCE_ID" | Type of the enrollment reference.<br>*Enum:* `"SRC_DIGITAL_CARD_ID"`, `"SRC_PAYMENT_CARD_ID"`, `"COF_REFERENCE_ID"` | Yes |
| enrollmentReferenceProvider | string | Provider of the enrollment reference. | No |

#### SignedData Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| signedDataType | string, <br>**Available values:** "EXT_OIDC_JWT" | Type of signed data.<br>*Enum:* `"EXT_OIDC_JWT"` | Yes |
| signedDataValue | string | Signed data value.<br>*Example:* `"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."` | Yes |

#### CommunicationsConsent Schema

Communications consent.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| allowCall | boolean | Consumer's preference for receiving communications via voice calls. | No |
| allowPush | boolean | Consumer's preference for receiving communications via a notification channel. | No |
| allowText | boolean | Consumer's preference for receiving communications via SMS. | No |
| allowEmail | boolean | Consumer's preference for receiving communications via email. | No |
| communicationsOptIn | boolean | Consumer's communications opt-in preference. | No |
| affiliateCommunicationsOptIn | boolean | Consumer's affiliate communications opt-in preference. | No |

#### TokenRequestData Schema

Represents a free-form JSON object data structure.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TokenRequestData | object | Represents a free-form JSON object data structure. |  |

#### ComplianceSettings Schema

Compliance settings.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| communications | { **"allowCall"**: boolean, **"allowPush"**: boolean, **"allowText"**: boolean, **"allowEmail"**: boolean, **"communicationsOptIn"**: boolean, **"affiliateCommunicationsOptIn"**: boolean } | Communications consent. | No |
| complianceResources | [ { **"uri"**: string, **"version"**: string, **"datePublished"**: dateTime, **"complianceType"**: string, <br>**Available values:** "PRIVACY_POLICY", "TERMS_AND_CONDITIONS" } ] | (Conditional) Compliance resources.  Conditionality: Refer to country-specific regulations or requirements.  | Yes |

#### BusinessIdentification Schema

Business identification.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| acquirerMerchantId | string | Acquirer-assigned merchant identifier. | No |
| businessIdentificationType | string | Conditionality: Required when acquirerMerchantId is not present or when business Identification Value is present.  | No |
| businessIdentificationValue | string | Conditionality: Required when acquirerMerchantId is not present or when businessIdentificationType is present.  | No |

#### Error Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | Error reason associated with the HTTP status code are \| Reason Code                \| Description                                                                          \| \|----------------------------\|--------------------------------------------------------------------------------------\| \| INVALID_PARAMETER           \| The value provided for one or more request parameters is considered invalid. This error is also generated in case of a missing, required, request parameter. \| \| INVALID_REQUEST            \| The server is not able to adequately parse the request. Usually occurs when some request parameter is expected to be in a particular format but is not. \| \| NOT_FOUND                  \| The requested resource/business entity does not exist. The resource might also be hidden for security reasons  \| AUTH_INVALID               \| Invalid federated idToken                                                            \| \| ACCT_INACCESSIBLE          \| The account exists but is not currently accessible (e.g. is locked)                  \| \| INTERNAL_ERROR             \| Some error happened on the server which caused the error. Either show a generic message or retry the same request again (it might succeed).  \| SERVICE_UNAVAILABLE        \| The service is currently unavailable. Retry after some time.                         \| \|-------------------------------------------------------------------------------------------------------------------\|  | Yes |
| status | string | HTTP status code to categorize the errors. | Yes |
| message | string | Error message associated with the HTTP status code. | Yes |
| errorDetail | [ { **"reason"**: string, **"source"**: string, **"message"**: string, **"sourceType"**: string } ] | List of error details providing additional information about the error. | No |

#### threeDsInputData Schema

Input data for 3DS processing.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| acquirerBin | string | Acquiring institution identification code as assigned by the DS receiving the AReq message.  | No |
| merchantName | string | Merchant name assigned by the acquirer or payment system. | No |
| acquirerMerchantId | string | Acquirer-assigned merchant identifier. This may be the same value used in authorization requests sent on behalf of the 3DS requestor and is represented in ISO 8583 formatting requirements.  | No |
| merchantCountryCode | string (ISO 3166-1-alpha2) | Country code of the merchant.  | No |
| merchantCategoryCode | string | Describes the merchant’s type of business, product, or service (MCC).  | No |

#### DynamicDataType Schema

Type of dynamic data required in the payload.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DynamicDataType | string, <br>**Available values:** "CARD_APPLICATION_CRYPTOGRAM_SHORT_FORM", "CARD_APPLICATION_CRYPTOGRAM_LONG_FORM", "DYNAMIC_CARD_SECURITY_CODE", "CARDHOLDER_AUTHENTICATION_CRYPTOGRAM", "NONE" | Type of dynamic data required in the payload. |  |

#### TransactionAmount Schema

Transaction amount details.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionAmount | number (decimal) | Amount of the transaction represented as a floating-point number, with 9 digits for the integer part and 4 digits for the decimal part.  | Yes |
| transactionCurrencyCode | string | ISO 4217 currency code. Currency in which the transaction amount is expressed. | Yes |

#### ThreeDsData Schema

3DS data.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dsTransId | string | (Optional) ID assigned by the DS to identify the transaction (for 3DS authentication). | No |
| acsTransId | string | (Optional) ID assigned by the ACS to identify the transaction (for 3DS authentication). | No |
| transStatus | string, <br>**Available values:** "Y", "R", "C", "N", "U", "A", "D", "I" | (Optional) Indicates whether a transaction qualifies as an authenticated transaction (for 3DS authentication).<br>*Enum:* `"Y"`, `"R"`, `"C"`, `"N"`, `"U"`, `"A"`, `"D"`, `"I"` | No |

#### UriData Schema

URI data.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| uri | string | URI. | No |
| uriType | string, <br>**Available values:** "APP_URI", "WEB_URI" | Type of the URI. Valid values are APP_URI and WEB_URI.<br>*Enum:* `"APP_URI"`, `"WEB_URI"` | No |

#### CardholderData Schema

Cardholder information, which is required for token provisioning.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| fullName | string | Required - Cardholder name. | No |
| lastName | string | Required - Cardholder last name. | No |
| firstName | string | Required - Cardholder first name. | No |
| emailAddress | string (email) | Email address. | No |
| mobileNumber | { **"countryCode"**: string, **"phoneNumber"**: string } | Phone number. | No |
| issuerIdentity | string | Cardholder identity as known by the card issuer. This generally enables access to an application, website, or other resource.  Examples include username, email address, or mobile number.  | No |
| billingPhoneNumber | { **"countryCode"**: string, **"phoneNumber"**: string } | Phone number. | No |

#### FederatedIdTokenDecoded Schema

Documentation-only schema representing the decoded JWT structure of the
Federated ID Token. The API does not return this object directly.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| claims | { **"amr"**: [ string, <br>**Available values:** "sms_otp", "email_otp", "merchant_rememberme", "fido_pop", "ext_validation" ], **"aud"**: [ string (uri) ], **"exp"**: integer, **"iat"**: integer, **"iss"**: string (uri), **"jti"**: string, **"sub"**: string, **"email"**: string, **"ext_amr"**: [ string ], **"ext_aud"**: string or [ string ], **"ext_exp"**: integer, **"ext_iat"**: integer, **"ext_iss"**: string (uri), **"ext_sub"**: string, **"auth_time"**: integer, **"signed_data"**: [ { **"signedDataType"**: string, <br>**Available values:** "EXT_OIDC_JWT", **"signedDataValue"**: string } ], **"phone_number"**: string, **"ext_auth_time"**: integer, **"email_verified"**: boolean, **"src_email_mask"**: string, **"phone_number_verified"**: boolean, **"src_phone_number_mask"**: string } |  | No |
| header | { **"alg"**: string, <br>**Available values:** "PS256", "RS256", **"kid"**: string, **"typ"**: string, <br>**Available values:** "JWT+ext.id_token" } |  | No |
| signature | string | Base64URL-encoded JWS signature segment. | No |

#### SrcDigitalCardId Schema

Reference identifier for the digital card representing the PAN or payment token.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SrcDigitalCardId | string (uuid) | Reference identifier for the digital card representing the PAN or payment token.  |  |

#### SignedDataType Schema

Type of signed data.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SignedDataType | string, <br>**Available values:** "EXT_OIDC_JWT" | Type of signed data. |  |

#### ShippingAddress Schema

Delivery address and contact details.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ShippingAddress | { **"zip"**: string, **"city"**: string, **"name"**: string, **"line1"**: string, **"line2"**: string, **"line3"**: string, **"state"**: string, **"addressId"**: string (uuid), **"countryCode"**: string (ISO 3166-1-alpha2) } & { **"deliveryContactDetails"**: { **"instructions"**: string, **"contactFullName"**: string, **"contactPhoneNumber"**: { **"countryCode"**: string, **"phoneNumber"**: string }, **"contactEmailAddress"**: string (email) } } | Delivery address and contact details. |  |

#### AuthenticationPreferences Schema

Authentication preferences.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payloadRequested | string, <br>**Available values:** "AUTHENTICATED", "NON_AUTHENTICATED" | Indicates whether the SRCI or Merchant prefers an authenticated or non-authenticated payload<br>*Enum:* `"AUTHENTICATED"`, `"NON_AUTHENTICATED"` | No |
| authenticationMethods | [ { **"uriData"**: { **"uri"**: string, **"uriType"**: string, <br>**Available values:** "APP_URI", "WEB_URI" }, **"methodAttributes"**: { **"windowType"**: string, <br>**Available values:** "POP_UP", **"challengeIndicator"**: string }, **"authenticationSubject"**: string, <br>**Available values:** "CARDHOLDER", "CONSUMER", "CARD", **"authenticationMethodType"**: string, <br>**Available values:** "SRCS_HOSTED_AUTHENTICATION", "3DS", **"authenticationCredentialReference"**: string } ] | The list of authentication methods and associated parameters is populated by the SRCI: • in its preferred order; or • as instructed by the SRC System  | No |

#### idToken Schema

Federated idToken in JWT Format

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| idToken | string (application/jwt) | Federated idToken in JWT Format |  |

#### PhoneNumber Schema

Phone number.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode | string | (Required) Country code associated with the consumer phone number. Format: The E.164 format includes the country code, local area code, and local phone number. No spaces: When adding the number as a contact, there should be no spaces. Remove special characters: All spaces, dashes, and parentheses should be removed, and all characters should be numeric. The country code must not include "+".  | Yes |
| phoneNumber | string | (Required) Phone number without the country code. Format: The E.164 format. No spaces: When adding the number as a contact, there should be no spaces. Remove special characters: All spaces, dashes, and parentheses should be removed, and all characters should be numeric. For some countries, such as Australia, the leading “0” of the local number must be removed when converting to E.164. For example, “0423 123 456” becomes “61423123456.” Minimum length = 4 Maximum length = 14, with the condition that the maximum length including the country code must not exceed 15 digits.  | Yes |
