swagger: '2.0'
info:
description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
version: 0.0.1
title: CyberSource Merged Spec bankAccountValidation Network Tokens API
host: apitest.cybersource.com
basePath: /
schemes:
- https
consumes:
- application/json;charset=utf-8
produces:
- application/hal+json;charset=utf-8
tags:
- name: Network Tokens
description: 'A Network Token represents a tokenized version of a card number (PAN) that can be used for payment transactions and, it''s represented by a Tokenized Card in TMS.
'
paths:
/tms/v2/tokenized-cards:
post:
summary: Create a Tokenized Card
description: '**Tokenized cards**
A Tokenized card represents a network token.
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
This API submits a request to the card association to create a network token. If successful, a tokenized card will be created in TMS to represent the network token.
'
parameters:
- name: profile-id
in: header
description: The Id of a profile containing user specific TMS configuration.
required: false
type: string
minLength: 36
maxLength: 36
x-hide-field: true
- name: postTokenizedCardRequest
in: body
required: true
schema:
type: object
required:
- source
properties:
accountReferenceId:
type: string
description: 'An identifier provided by the issuer for the account.
**Required when source is ISSUER.**
'
consumerId:
type: string
maxLength: 36
description: Identifier of the consumer within the wallet. Maximum 24 characters for VTS.
createPanInstrumentIdentifier:
type: boolean
description: 'Specifies whether the Instrument Identifier should be created (true) or not (false) with the PAN provided for the Network Token Provision request.
Possible Values:
- `true`: The InstrumentIdentifier should be created.
- `false`: The InstrumentIdentifier should not be created.
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- ONFILE
- TOKEN
- ISSUER
'
card:
type: object
properties:
number:
type: string
minLength: 12
maxLength: 19
description: 'The customer''s payment card number, also known as the Primary Account Number (PAN). You
can also use this field for encoded account numbers.
'
expirationMonth:
type: string
maxLength: 2
description: 'Two-digit month in which the payment card expires.
Format: `MM`.
Possible Values: `01` through `12`.
'
expirationYear:
type: string
maxLength: 4
description: 'Four-digit year in which the credit card expires.
Format: `YYYY`.
'
type:
type: string
description: 'The type of card (Card Network).
Possible Values:
- 001: visa
**Required when source is ISSUER.**
'
passcode:
type: object
description: 'Passcode by issuer for ID&V.
'
properties:
value:
type: string
description: 'OTP generated at issuer.
'
billTo:
type: object
properties:
firstName:
type: string
maxLength: 60
description: 'Customer''s first name. This name must be the same as the name on the card.
'
example: John
lastName:
type: string
maxLength: 60
description: 'Customer''s last name. This name must be the same as the name on the card.
'
example: Doe
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
example: 1 Market St
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
example: San Francisco
administrativeArea:
type: string
maxLength: 20
description: 'State or province of the billing address. Use the State, Province, and Territory Codes for the United States
and Canada.
'
example: CA
postalCode:
type: string
maxLength: 10
description: 'Postal code for the billing address. The postal code must consist of 5 to 9 digits.
When the billing country is the U.S., the 9-digit postal code must follow this format:
[5 digits][dash][4 digits]
**Example** `12345-6789`
When the billing country is Canada, the 6-digit postal code must follow this format:
[alpha][numeric][alpha][space][numeric][alpha][numeric]
**Example** `A1B 2C3`
'
example: '94105'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
example: US
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
example: test@cybs.com
tags:
- Network Tokens
operationId: postTokenizedCard
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-net-tkn-intro/tms-net-tkn-card-create-cof-intro.html
mleForRequest: optional
consumes:
- application/json;charset=utf-8
produces:
- application/json;charset=utf-8
responses:
'200':
description: Returns an existing tokenized card associated with the supplied Id.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally-unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
properties:
href:
type: string
tokenizedCard:
type: object
properties:
id:
type: string
readOnly: true
description: 'The Id of the Tokenized Card.
'
object:
type: string
readOnly: true
example: tokenizedCard
description: 'The type.
Possible Values:
- tokenizedCard
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- ONFILE
- TOKEN
- ISSUER
'
state:
type: string
readOnly: true
example: ACTIVE
description: "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n"
enrollmentId:
type: string
readOnly: true
description: 'Unique id to identify this PAN/ enrollment.
'
tokenReferenceId:
type: string
readOnly: true
description: 'Unique ID for netwrok token.
'
number:
type: string
readOnly: true
description: 'The token requestor''s network token for the provided PAN and consumer Id, if available.
'
expirationMonth:
type: string
readOnly: true
description: 'Two-digit month in which the network token expires.
Format: `MM`.
Possible Values: `01` through `12`.
'
expirationYear:
type: string
readOnly: true
description: 'Four-digit year in which the network token expires.
Format: `YYYY`.
'
type:
type: string
description: 'The type of card (Card Network).
Possible Values:
- visa
- mastercard
- americanexpress
'
reason:
type: string
readOnly: true
example: ACTIVE
description: 'Indicates the reason why the network token provision request failed.
Possible Values:
- INVALID_REQUEST : The network token provision request contained invalid data.
- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.
- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.
- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.
- DECLINED : Card can currently not be used with issuer for tokenization.
- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.
- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.
'
cryptogram:
type: string
readOnly: true
description: 'Value generated by the card association to be used alongside the network token for processing a payment.
This field is returned by default for Visa and Mastercard network tokens.
It can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.
'
example: CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=
securityCode:
type: string
readOnly: true
description: 'Dynamic number generated by the card association to be used alongside the network token for processing a payment.
- For American Express: Dynamic Card Secure Code (DCSC) returned by default.
- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.
It can also be explicitly requested using paymentCredentialType: SECURITY_CODE.
'
example: '4523'
eci:
type: string
readOnly: true
description: 'Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.
'
requestorId:
type: string
readOnly: true
maxLength: 11
description: '11-digit identifier that uniquely identifies the Token Requestor.
'
paymentAccountReference:
type: string
readOnly: true
description: 'Payment account reference.
'
applicationTransactionCounter:
type: string
readOnly: true
description: 'A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.
This field is only returned for Visa network tokens.
'
card:
type: object
properties:
number:
type: string
minLength: 12
maxLength: 19
description: 'The latest customer''s payment card number associated to the network token.
'
expirationMonth:
type: string
maxLength: 2
description: 'Two-digit month in which the payment card expires.
Format: `MM`.
Possible Values: `01` through `12`.
'
expirationYear:
type: string
maxLength: 4
description: 'Four-digit year in which the credit card expires.
Format: `YYYY`.
'
type:
type: string
description: 'The type of card (Card Network).
Possible Values:
- 001: visa
- 002: mastercard
- 003: american express
- 007: jcb
'
suffix:
type: string
readOnly: true
description: 'The customer''s latest payment card number suffix.
'
issueDate:
type: string
readOnly: true
format: date
description: 'Card issuance date. XML date format: YYYY-MM-DD.'
example: '2030-12-15'
activationDate:
type: string
readOnly: true
format: date
description: 'Card activation date. XML date format: YYYY-MM-DD'
example: '2030-12-20'
expirationPrinted:
type: boolean
readOnly: true
description: Indicates if the expiration date is printed on the card.
example: true
securityCodePrinted:
type: boolean
readOnly: true
description: Indicates if the Card Verification Number is printed on the card.
example: true
termsAndConditions:
type: object
readOnly: true
properties:
url:
type: string
readOnly: true
description: Issuer Card Terms and Conditions url.
verificationResults:
type: object
description: 'Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.
Supported only for VTS tokens.
'
readOnly: true
properties:
securityCode:
type: string
readOnly: true
description: 'Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.
Supported only for VTS tokens.
Possible Values:
- MATCH: Verified, CVV2 data matched.
- NO_MATCH: Verified, CVV2 data did not match.
- NOT_SUPPORTED: Verification not supported by card issuer.
- SKIPPED: Verification was not performed.
'
address:
type: string
readOnly: true
description: 'Indicates whether the billing address was verified by the issuer during the provisioning request.
Supported only for VTS tokens.
Possible Values:
- MATCH: Verified, address and postal code data matched.
- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.
- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.
- NO_MATCH: Verified, address and postal code data did not match.
- NOT_SUPPORTED: Verification not supported by card issuer.
- SKIPPED: Verification was not performed.
'
metadata:
type: object
properties:
cardArt:
title: TmsCardArt
description: 'Card art associated with the tokenized card.
'
type: object
readOnly: true
properties:
foregroundColor:
description: 'Card foreground color.
'
type: string
readOnly: true
backgroundColor:
description: 'Card background color.
'
type: string
readOnly: true
labelColor:
description: 'Card label color.
'
type: string
readOnly: true
combinedAsset:
description: 'Combined card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined''
'
brandLogoAsset:
description: 'Brand logo card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/brand-logo''
'
issuerLogoAsset:
description: 'Issuer logo card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo''
'
iconAsset:
description: 'Icon card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/icon''
'
issuer:
description: 'Issuer associated with the tokenized card.
'
type: object
readOnly: true
properties:
name:
description: 'Issuer name.
'
type: string
readOnly: true
shortDescription:
description: 'Short description of the card.
'
type: string
readOnly: true
longDescription:
description: 'Long description of the card.
'
type: string
readOnly: true
email:
type: string
readOnly: true
description: 'Issuer customer service email address.
'
phoneNumber:
type: string
readOnly: true
description: 'Issuer customer service phone number.
'
url:
type: string
readOnly: true
description: 'Issuer customer service url.
'
privacyPolicyUrl:
type: string
readOnly: true
description: 'Issuer privacy policy url.
'
capabilities:
type: object
readOnly: true
description: 'Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.
Supported only for VTS Tokens.
'
properties:
deviceBindingSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports device binding.
'
cardholderVerificationSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer participates in step-up authentication that requires cardholder verification.
'
trustedBeneficiaryEnrollmentSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports trusted beneficiary enrollment.
e.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.
'
delegatedAuthenticationSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports delegated authentication.
e.g allowing approved thrird parties to perform authentication on behalf of the issuer.
'
oboDeviceBindingSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports on-behalf-of device binding.
e.g allowing approved third parties to perform device binding on behalf of the issuer.
'
tokenLcmNotificationsSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports receiving token lifecycle management notifications.
e.g receiving updates on changes to the token''s status or attributes.
'
fpanLcmNotificationsSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports receiving PAN lifecycle management notifications.
e.g receiving updates on changes to the underlying card''s status or attributes.
'
bankApplications:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: 'Bank application name.
'
address:
type: string
readOnly: true
description: 'Bank application address. (e.g. com.mybank.app)
'
creator:
type: string
readOnly: true
description: The creator of the Tokenized Card.
'201':
description: A new tokenized card has been created.
headers:
Location:
description: Location of the Tokenized Card.
type: string
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally-unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
properties:
href:
type: string
tokenizedCard:
type: object
properties:
id:
type: string
readOnly: true
description: 'The Id of the Tokenized Card.
'
object:
type: string
readOnly: true
example: tokenizedCard
description: 'The type.
Possible Values:
- tokenizedCard
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- ONFILE
- TOKEN
- ISSUER
'
state:
type: string
readOnly: true
example: ACTIVE
description: "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n"
enrollmentId:
type: string
readOnly: true
description: 'Unique id to identify this PAN/ enrollment.
'
tokenReferenceId:
type: string
readOnly: true
description: 'Unique ID for netwrok token.
'
number:
type: string
readOnly: true
description: 'The token requestor''s network token for the provided PAN and consumer Id, if available.
'
expirationMonth:
type: string
readOnly: true
description: 'Two-digit month in which the network token expires.
Format: `MM`.
Possible Values: `01` through `12`.
'
expirationYear:
type: string
readOnly: true
description: 'Four-digit year in which the network token expires.
Format: `YYYY`.
'
type:
type: string
description: 'The type of card (Card Network).
Possible Values:
- visa
- mastercard
- americanexpress
'
reason:
type: string
readOnly: true
example: ACTIVE
description: 'Indicates the reason why the network token provision request failed.
Possible Values:
- INVALID_REQUEST : The network token provision request contained invalid data.
- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.
- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.
- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.
- DECLINED : Card can currently not be used with issuer for tokenization.
- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.
- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.
'
cryptogram:
type: string
readOnly: true
description: 'Value generated by the card association to be used alongside the network token for processing a payment.
This field is returned by default for Visa and Mastercard network tokens.
It can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.
'
example: CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=
securityCode:
type: string
readOnly: true
description: 'Dynamic number generated by the card association to be used alongside the network token for processing a payment.
- For American Express: Dynamic Card Secure Code (DCSC) returned by default.
- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.
It can also be explicitly requested using paymentCredentialType: SECURITY_CODE.
'
example: '4523'
eci:
type: string
readOnly: true
description: 'Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.
'
requestorId:
type: string
readOnly: true
maxLength: 11
description: '11-digit identifier that uniquely identifies the Token Requestor.
'
paymentAccountReference:
type: string
readOnly: true
description: 'Payment account reference.
'
applicationTransactionCounter:
type: string
readOnly: true
description: 'A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.
This field is only returned for Visa network tokens.
'
card:
type: object
properties:
number:
type: string
minLength: 12
maxLength: 19
description: 'The latest customer''s payment card number associated to the network token.
'
expirationMonth:
type: string
maxLength: 2
description: 'Two-digit month in which the payment card expires.
Format: `MM`.
Possible Values: `01` through `12`.
'
expirationYear:
type: string
maxLength: 4
description: 'Four-digit year in which the credit card expires.
Format: `YYYY`.
'
type:
type: string
description: 'The type of card (Card Network).
Possible Values:
- 001: visa
- 002: mastercard
- 003: american express
- 007: jcb
'
suffix:
type: string
readOnly: true
description: 'The customer''s latest payment card number suffix.
'
issueDate:
type: string
readOnly: true
format: date
description: 'Card issuance date. XML date format: YYYY-MM-DD.'
example: '2030-12-15'
activationDate:
type: string
readOnly: true
format: date
description: 'Card activation date. XML date format: YYYY-MM-DD'
example: '2030-12-20'
expirationPrinted:
type: boolean
readOnly: true
description: Indicates if the expiration date is printed on the card.
example: true
securityCodePrinted:
type: boolean
readOnly: true
description: Indicates if the Card Verification Number is printed on the card.
example: true
termsAndConditions:
type: object
readOnly: true
properties:
url:
type: string
readOnly: true
description: Issuer Card Terms and Conditions url.
verificationResults:
type: object
description: 'Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.
Supported only for VTS tokens.
'
readOnly: true
properties:
securityCode:
type: string
readOnly: true
description: 'Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.
Supported only for VTS tokens.
Possible Values:
- MATCH: Verified, CVV2 data matched.
- NO_MATCH: Verified, CVV2 data did not match.
- NOT_SUPPORTED: Verification not supported by card issuer.
- SKIPPED: Verification was not performed.
'
address:
type: string
readOnly: true
description: 'Indicates whether the billing address was verified by the issuer during the provisioning request.
Supported only for VTS tokens.
Possible Values:
- MATCH: Verified, address and postal code data matched.
- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.
- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.
- NO_MATCH: Verified, address and postal code data did not match.
- NOT_SUPPORTED: Verification not supported by card issuer.
- SKIPPED: Verification was not performed.
'
metadata:
type: object
properties:
cardArt:
title: TmsCardArt
description: 'Card art associated with the tokenized card.
'
type: object
readOnly: true
properties:
foregroundColor:
description: 'Card foreground color.
'
type: string
readOnly: true
backgroundColor:
description: 'Card background color.
'
type: string
readOnly: true
labelColor:
description: 'Card label color.
'
type: string
readOnly: true
combinedAsset:
description: 'Combined card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined''
'
brandLogoAsset:
description: 'Brand logo card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/brand-logo''
'
issuerLogoAsset:
description: 'Issuer logo card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo''
'
iconAsset:
description: 'Icon card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/icon''
'
issuer:
description: 'Issuer associated with the tokenized card.
'
type: object
readOnly: true
properties:
name:
description: 'Issuer name.
'
type: string
readOnly: true
shortDescription:
description: 'Short description of the card.
'
type: string
readOnly: true
longDescription:
description: 'Long description of the card.
'
type: string
readOnly: true
email:
type: string
readOnly: true
description: 'Issuer customer service email address.
'
phoneNumber:
type: string
readOnly: true
description: 'Issuer customer service phone number.
'
url:
type: string
readOnly: true
description: 'Issuer customer service url.
'
privacyPolicyUrl:
type: string
readOnly: true
description: 'Issuer privacy policy url.
'
capabilities:
type: object
readOnly: true
description: 'Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.
Supported only for VTS Tokens.
'
properties:
deviceBindingSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports device binding.
'
cardholderVerificationSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer participates in step-up authentication that requires cardholder verification.
'
trustedBeneficiaryEnrollmentSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports trusted beneficiary enrollment.
e.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.
'
delegatedAuthenticationSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports delegated authentication.
e.g allowing approved thrird parties to perform authentication on behalf of the issuer.
'
oboDeviceBindingSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports on-behalf-of device binding.
e.g allowing approved third parties to perform device binding on behalf of the issuer.
'
tokenLcmNotificationsSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports receiving token lifecycle management notifications.
e.g receiving updates on changes to the token''s status or attributes.
'
fpanLcmNotificationsSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports receiving PAN lifecycle management notifications.
e.g receiving updates on changes to the underlying card''s status or attributes.
'
bankApplications:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: 'Bank application name.
'
address:
type: string
readOnly: true
description: 'Bank application address. (e.g. com.mybank.app)
'
creator:
type: string
readOnly: true
description: The creator of the Tokenized Card.
'400':
description: 'Bad Request: e.g. A required header value could be missing.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
details:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: The name of the field that caused the error.
location:
type: string
readOnly: true
description: The location of the field that caused the error.
examples:
Invalid Customer request body:
errors:
- type: invalidRequest
message: Invalid HTTP Body
'403':
description: 'Forbidden: e.g. The profile might not have permission to perform the operation.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - forbidden\n - declined\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: forbidden
message: Request not permitted
'409':
description: Conflict. The token is linked to a Payment Instrument.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: conflict
message: Action cannot be performed as the PaymentInstrument is the customers default
'424':
description: 'Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notFound\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notFound
message: Profile not found
'500':
description: Unexpected error.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
examples:
application/json:
errors:
- type: serverError
message: Internal server error
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - internalError\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
x-example:
example0:
summary: Create Network Token using a Card
value:
source: ONFILE
card:
number: '4622943123116478'
expirationMonth: '12'
expirationYear: '2026'
example1:
summary: Create Network Token using a Card and a Consumer Id
value:
source: ONFILE
consumerId: consumerId-1234
card:
number: '4622943123116478'
expirationMonth: '12'
expirationYear: '2026'
example2:
summary: Create Network Token and an Instrument Identifier using the Card
value:
createPanInstrumentIdentifier: true
source: ONFILE
card:
number: '4622943123116478'
expirationMonth: '12'
expirationYear: '2026'
example3:
summary: Create Network Token using an Issuer Account Reference Id
value:
createInstrumentIdentifier: true
source: ISSUER
accountReferenceId:
card:
type: '001'
example4:
summary: Create Network Token using a Network Token (e.g digital PAN)
value:
createInstrumentIdentifier: true
source: TOKEN
card:
number: '4895370017256311'
expirationMonth: '12'
expirationYear: '2031'
example5:
summary: Create Network Token using a Card with billing information
value:
source: ONFILE
card:
number: '4622943123116544'
expirationMonth: '12'
expirationYear: '2026'
securityCode: '416'
billTo:
firstName: John
lastName: Doe
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
email: john.doe@example.com
phoneNumber: '4158880000'
/tms/v2/tokenized-cards/{tokenizedCardId}:
get:
summary: Retrieve a Tokenized Card
description: '|**Tokenized Cards**
A Tokenized Card represents a network token.
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
This API returns the details of a tokenized card stored in TMS. You can use this API to check the status of a tokenized card and retrieve details such as the last four digits of the underlying card, expiration date, and card type.
'
parameters:
- name: profile-id
in: header
description: The Id of a profile containing user specific TMS configuration.
required: false
type: string
minLength: 36
maxLength: 36
x-hide-field: true
- name: tokenizedCardId
in: path
description: The Id of a tokenized card.
required: true
type: string
minLength: 12
maxLength: 32
tags:
- Network Tokens
operationId: getTokenizedCard
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-net-tkn-intro/tms-net-tkn-card-retrieve-tkn-consumer-intro.html
produces:
- application/json;charset=utf-8
x-depends:
example:
path: /tms/v2/tokenized-cards
verb: post
exampleId: example0
fieldMapping:
- sourceField: id
destinationField: tokenizedCardId
fieldTypeInDestination: path
responses:
'200':
description: Returns an existing tokenized card associated with the supplied Id.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally-unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
properties:
href:
type: string
tokenizedCard:
type: object
properties:
id:
type: string
readOnly: true
description: 'The Id of the Tokenized Card.
'
object:
type: string
readOnly: true
example: tokenizedCard
description: 'The type.
Possible Values:
- tokenizedCard
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- ONFILE
- TOKEN
- ISSUER
'
state:
type: string
readOnly: true
example: ACTIVE
description: "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n"
enrollmentId:
type: string
readOnly: true
description: 'Unique id to identify this PAN/ enrollment.
'
tokenReferenceId:
type: string
readOnly: true
description: 'Unique ID for netwrok token.
'
number:
type: string
readOnly: true
description: 'The token requestor''s network token for the provided PAN and consumer Id, if available.
'
expirationMonth:
type: string
readOnly: true
description: 'Two-digit month in which the network token expires.
Format: `MM`.
Possible Values: `01` through `12`.
'
expirationYear:
type: string
readOnly: true
description: 'Four-digit year in which the network token expires.
Format: `YYYY`.
'
type:
type: string
description: 'The type of card (Card Network).
Possible Values:
- visa
- mastercard
- americanexpress
'
reason:
type: string
readOnly: true
example: ACTIVE
description: 'Indicates the reason why the network token provision request failed.
Possible Values:
- INVALID_REQUEST : The network token provision request contained invalid data.
- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.
- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.
- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.
- DECLINED : Card can currently not be used with issuer for tokenization.
- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.
- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.
'
cryptogram:
type: string
readOnly: true
description: 'Value generated by the card association to be used alongside the network token for processing a payment.
This field is returned by default for Visa and Mastercard network tokens.
It can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.
'
example: CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=
securityCode:
type: string
readOnly: true
description: 'Dynamic number generated by the card association to be used alongside the network token for processing a payment.
- For American Express: Dynamic Card Secure Code (DCSC) returned by default.
- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.
It can also be explicitly requested using paymentCredentialType: SECURITY_CODE.
'
example: '4523'
eci:
type: string
readOnly: true
description: 'Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.
'
requestorId:
type: string
readOnly: true
maxLength: 11
description: '11-digit identifier that uniquely identifies the Token Requestor.
'
paymentAccountReference:
type: string
readOnly: true
description: 'Payment account reference.
'
applicationTransactionCounter:
type: string
readOnly: true
description: 'A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.
This field is only returned for Visa network tokens.
'
card:
type: object
properties:
number:
type: string
minLength: 12
maxLength: 19
description: 'The latest customer''s payment card number associated to the network token.
'
expirationMonth:
type: string
maxLength: 2
description: 'Two-digit month in which the payment card expires.
Format: `MM`.
Possible Values: `01` through `12`.
'
expirationYear:
type: string
maxLength: 4
description: 'Four-digit year in which the credit card expires.
Format: `YYYY`.
'
type:
type: string
description: 'The type of card (Card Network).
Possible Values:
- 001: visa
- 002: mastercard
- 003: american express
- 007: jcb
'
suffix:
type: string
readOnly: true
description: 'The customer''s latest payment card number suffix.
'
issueDate:
type: string
readOnly: true
format: date
description: 'Card issuance date. XML date format: YYYY-MM-DD.'
example: '2030-12-15'
activationDate:
type: string
readOnly: true
format: date
description: 'Card activation date. XML date format: YYYY-MM-DD'
example: '2030-12-20'
expirationPrinted:
type: boolean
readOnly: true
description: Indicates if the expiration date is printed on the card.
example: true
securityCodePrinted:
type: boolean
readOnly: true
description: Indicates if the Card Verification Number is printed on the card.
example: true
termsAndConditions:
type: object
readOnly: true
properties:
url:
type: string
readOnly: true
description: Issuer Card Terms and Conditions url.
verificationResults:
type: object
description: 'Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.
Supported only for VTS tokens.
'
readOnly: true
properties:
securityCode:
type: string
readOnly: true
description: 'Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.
Supported only for VTS tokens.
Possible Values:
- MATCH: Verified, CVV2 data matched.
- NO_MATCH: Verified, CVV2 data did not match.
- NOT_SUPPORTED: Verification not supported by card issuer.
- SKIPPED: Verification was not performed.
'
address:
type: string
readOnly: true
description: 'Indicates whether the billing address was verified by the issuer during the provisioning request.
Supported only for VTS tokens.
Possible Values:
- MATCH: Verified, address and postal code data matched.
- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.
- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.
- NO_MATCH: Verified, address and postal code data did not match.
- NOT_SUPPORTED: Verification not supported by card issuer.
- SKIPPED: Verification was not performed.
'
metadata:
type: object
properties:
cardArt:
title: TmsCardArt
description: 'Card art associated with the tokenized card.
'
type: object
readOnly: true
properties:
foregroundColor:
description: 'Card foreground color.
'
type: string
readOnly: true
backgroundColor:
description: 'Card background color.
'
type: string
readOnly: true
labelColor:
description: 'Card label color.
'
type: string
readOnly: true
combinedAsset:
description: 'Combined card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/card-art-combined''
'
brandLogoAsset:
description: 'Brand logo card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/brand-logo''
'
issuerLogoAsset:
description: 'Issuer logo card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/issuer-logo''
'
iconAsset:
description: 'Icon card art asset associated with the tokenized card.
'
type: object
readOnly: true
properties:
id:
type: string
description: 'Unique identifier for the asset
'
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the card art asset.
example: ''tms/v2/tokens/7020000000010603216/visa/assets/icon''
'
issuer:
description: 'Issuer associated with the tokenized card.
'
type: object
readOnly: true
properties:
name:
description: 'Issuer name.
'
type: string
readOnly: true
shortDescription:
description: 'Short description of the card.
'
type: string
readOnly: true
longDescription:
description: 'Long description of the card.
'
type: string
readOnly: true
email:
type: string
readOnly: true
description: 'Issuer customer service email address.
'
phoneNumber:
type: string
readOnly: true
description: 'Issuer customer service phone number.
'
url:
type: string
readOnly: true
description: 'Issuer customer service url.
'
privacyPolicyUrl:
type: string
readOnly: true
description: 'Issuer privacy policy url.
'
capabilities:
type: object
readOnly: true
description: 'Flags indicating what authentication, binding, and trusted-beneficiary enrollment capabilities the issuer supports.
Supported only for VTS Tokens.
'
properties:
deviceBindingSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports device binding.
'
cardholderVerificationSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer participates in step-up authentication that requires cardholder verification.
'
trustedBeneficiaryEnrollmentSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports trusted beneficiary enrollment.
e.g allowing cardholders to designate trusted merchants or payment recipients that can be exempt from step-up authentication.
'
delegatedAuthenticationSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports delegated authentication.
e.g allowing approved thrird parties to perform authentication on behalf of the issuer.
'
oboDeviceBindingSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports on-behalf-of device binding.
e.g allowing approved third parties to perform device binding on behalf of the issuer.
'
tokenLcmNotificationsSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports receiving token lifecycle management notifications.
e.g receiving updates on changes to the token''s status or attributes.
'
fpanLcmNotificationsSupported:
type: boolean
readOnly: true
description: 'Indicates if the issuer supports receiving PAN lifecycle management notifications.
e.g receiving updates on changes to the underlying card''s status or attributes.
'
bankApplications:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: 'Bank application name.
'
address:
type: string
readOnly: true
description: 'Bank application address. (e.g. com.mybank.app)
'
creator:
type: string
readOnly: true
description: The creator of the Tokenized Card.
'400':
description: 'Bad Request: e.g. A required header value could be missing.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
details:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: The name of the field that caused the error.
location:
type: string
readOnly: true
description: The location of the field that caused the error.
examples:
Invalid Customer request body:
errors:
- type: invalidRequest
message: Invalid HTTP Body
'403':
description: 'Forbidden: e.g. The profile might not have permission to perform the operation.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - forbidden\n - declined\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: forbidden
message: Request not permitted
'404':
description: Token Not Found. The Id may not exist or was entered incorrectly.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notFound\n - subscriptionNotFound\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notFound
message: Token not found
'424':
description: 'Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notFound\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notFound
message: Profile not found
'500':
description: Unexpected error.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
examples:
application/json:
errors:
- type: serverError
message: Internal server error
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - internalError\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
/tms/v2/tokenized-cards/{tokenizedCardId}/delete:
post:
summary: Delete a Tokenized Card
description: 'This API attempts to delete a network token from the card association with a specified reason. |
If successful, the corresponding tokenized card will be deleted. |
The reason for deletion can be specified to provide context for the deletion operation.
'
parameters:
- name: profile-id
in: header
description: The Id of a profile containing user specific TMS configuration.
required: false
type: string
minLength: 36
maxLength: 36
x-hide-field: true
- name: tokenizedCardId
in: path
description: The Id of a tokenized card.
required: true
type: string
minLength: 12
maxLength: 32
- name: postTokenizedCardDeleteRequest
in: body
required: false
schema:
type: object
title: TmsTokenizedCardDeleteRequest
properties:
reason:
type: object
description: 'Reason for deleting the network token.
'
properties:
code:
type: string
description: "Reason code for deleting the network token.\n\nPossible Values:\n - FRAUD: Network token is being deleted due to fraud concerns.\n - PAYMENT_METHOD_REMOVED: Network Token is being deleted because the payment method was removed.\n\nDefault: PAYMENT_METHOD_REMOVED\n"
description:
type: string
maxLength: 255
description: 'Additional description providing context for the deletion reason.
'
example: Customer requested removal of network token.
tags:
- Network Tokens
operationId: postTokenizedCardDelete
x-devcenter-metaData:
categoryTag: Token_Management
mleForRequest: optional
consumes:
- application/json;charset=utf-8
produces:
- application/json;charset=utf-8
responses:
'204':
description: The request is fulfilled but does not need to return a body
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
'400':
description: 'Bad Request: e.g. A required header value could be missing.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
details:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: The name of the field that caused the error.
location:
type: string
readOnly: true
description: The location of the field that caused the error.
examples:
Invalid Customer request body:
errors:
- type: invalidRequest
message: Invalid HTTP Body
'403':
description: 'Forbidden: e.g. The profile might not have permission to perform the operation.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - forbidden\n - declined\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: forbidden
message: Request not permitted
'404':
description: Token Not Found. The Id may not exist or was entered incorrectly.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notFound\n - subscriptionNotFound\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notFound
message: Token not found
'409':
description: Conflict. The token is linked to a Payment Instrument.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: conflict
message: Action cannot be performed as the PaymentInstrument is the customers default
'410':
description: Token Not Available. The token has been deleted.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notAvailable\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notAvailable
message: Token not available.
'424':
description: 'Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notFound\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notFound
message: Profile not found
'500':
description: Unexpected error.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
examples:
application/json:
errors:
- type: serverError
message: Internal server error
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - internalError\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
x-example:
example0:
summary: Delete Tokenized Card with reason
value:
reason:
code: FRAUD
description: Suspected fraudulent activity detected
example1:
summary: Delete Tokenized Card with no reason (Defaults to PAYMENT_METHOD_REMOVED)
value: {}
/tms/v3/tokens/{tokenId}/payment-credentials:
post:
summary: Generate Payment Credentials Latest Version v3
description: '**Payment Credentials**
Contains payment information such as the network token, generated TAVV cryptogram for Visa & MasterCard, dynamic CVV for Amex, or DTVV cryptogram for VISA. This latest version (v3) returns the Primary Account Number details, if the network token is not present. The response is provided in JSON Web Encryption (JWE) format.
Your system can use this API to retrieve the Payment Credentials for an existing Customer, Payment Instrument, Instrument Identifier or Tokenized Card.
Optionally, **authenticated identities** information from Passkey authentication can be provided to potentially achieve liability shift, which may result in the return of an e-commerce indicator of 5 if successful.
'
parameters:
- name: profile-id
in: header
description: The Id of a profile containing user specific TMS configuration.
required: false
type: string
minLength: 36
maxLength: 36
x-hide-field: true
- name: tokenId
in: path
description: The Id of a token representing a Customer, Payment Instrument or Instrument Identifier.
required: true
type: string
minLength: 1
maxLength: 32
- name: postPaymentCredentialsRequest
in: body
required: true
schema:
type: object
properties:
paymentCredentialType:
type: string
description: "The type of payment credentials to be returned.\nBy default, payment credentials include network token and cryptogram or dynamic CVV.\nIf \"NETWORK_TOKEN\" is supplied then only network token card number will be returned and no cryptogram or dynamic CVV will be requested.\nIf \"SECURITY_CODE\" is supplied then dynamic CVV will be requested and returned with the network token card number. Dynamic CVV is only supported for Amex and SCOF.\nIf \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex.\n\nPossible Values:\n - NETWORK_TOKEN\n - SECURITY_CODE\n - CRYPTOGRAM\n"
example: CRYPTOGRAM
transactionType:
type: string
description: "Specifies the type of transaction for which the network token credentials are required.\nPossible Values:\n - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default.\n - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.\n"
example: ECOM
clientCorrelationId:
type: string
maxLength: 36
pattern: '[A-Za-z0-9]+'
description: 'Used to correlate authentication and payment credential requests.
'
example: ad30cf0c-b825-42ca-806c-bf06094b0b15
orderInformation:
type: object
properties:
amountDetails:
type: object
properties:
totalAmount:
type: string
description: Total amount for the order
example: '102.21'
currency:
type: string
description: 'Currency used for the order. Use an ISO 4217 numeric format currency code.
'
example: '978'
billTo:
type: object
properties:
firstName:
type: string
maxLength: 60
description: 'Customer''s first name. This name must be the same as the name on the card.
'
example: John
lastName:
type: string
maxLength: 60
description: 'Customer''s last name. This name must be the same as the name on the card.
'
example: Doe
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
example: 1 Market St
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
example: San Francisco
administrativeArea:
type: string
maxLength: 20
description: 'State or province of the billing address. Use the State, Province, and Territory Codes for the United States
and Canada.
'
example: CA
postalCode:
type: string
maxLength: 10
description: 'Postal code for the billing address. The postal code must consist of 5 to 9 digits.
When the billing country is the U.S., the 9-digit postal code must follow this format:
[5 digits][dash][4 digits]
**Example** `12345-6789`
When the billing country is Canada, the 6-digit postal code must follow this format:
[alpha][numeric][alpha][space][numeric][alpha][numeric]
**Example** `A1B 2C3`
'
example: '94105'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
example: US
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
example: test@cybs.com
merchantInformation:
type: object
properties:
merchantDescriptor:
type: object
properties:
name:
type: string
description: Merchant's name
example: TWVyY2hhbnQgVlphRjVYQmo
url:
type: string
description: Address of company's website provided by merchant
example: aHR0cHM6Ly93d3cuTWVyY2hhbnQtVlphRjVYQmouY29t
deviceInformation:
type: object
properties:
platformType:
type: string
description: "Platform type.\n\nPossible Values:\n - iOS: iOS app\n - ANDROID: Android app\n - WINDOWS: Windows app\n - WEB: Browser-based app\n"
example: WEB
ipAddress:
type: string
maxLength: 45
pattern: '[0-9A-Fa-f.]'
description: 'IP address of the customer.
'
example: 127.0.0.1
httpAcceptContent:
type: string
pattern: '[A-Za-z0-9]+'
maxLength: 2048
description: 'The exact content of the HTTP accept header.
'
example: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
httpBrowserLanguage:
type: string
pattern: '[A-Za-z0-9]+'
maxLength: 8
description: 'Value represents the browser language as defined in IETF BCP47.
Example:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.
'
example: en-US
httpBrowserJavaEnabled:
type: boolean
description: 'A Boolean value that represents the ability of the cardholder browser to execute Java.
Value is returned from the navigator.javaEnabled property. Possible Values:True/False
'
example: false
httpBrowserJavaScriptEnabled:
type: boolean
description: 'A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.
**Note**: Merchants should be able to know the values from fingerprint details of cardholder''s browser.
'
example: true
httpBrowserColorDepth:
type: string
pattern: '[0-9]+'
maxLength: 2
description: 'Value represents the bit depth of the color palette for displaying images, in bits per pixel.
Example : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details
'
example: '24'
httpBrowserScreenHeight:
type: string
pattern: '[0-9]+'
maxLength: 6
description: 'Total height of the Cardholder''s screen in pixels.
'
example: '1080'
httpBrowserScreenWidth:
type: string
pattern: '[0-9]+'
maxLength: 6
description: 'Total width of the cardholder''s screen in pixels.
'
example: '1920'
httpBrowserTimeDifference:
type: string
pattern: '[0-9]+'
maxLength: 5
description: 'Time difference between UTC time and the cardholder browser local time, in minutes.
'
example: '420'
userAgentBrowserValue:
type: string
pattern: '[A-Za-z0-9]+'
maxLength: 2048
description: 'Value of the User-Agent header sent by the customer''s web browser.
Note If the customer''s browser provides a value, you must include it in your request.
'
example: Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/134.0.0.0Safari/537.36Edg/134.0.0.0
authenticatedIdentities:
type: array
items:
type: object
properties:
id:
type: string
pattern: '[A-Za-z0-9=-_]+'
maxLength: 50
description: "The id from the authenticated identity.\n Base64URL encoded string (RFC4648). \n The encoding is the same as Base64, but uses '-' characters instead of '+' and '_' characters instead of '/'.\n"
example: 88662a11a11fa88627e217ab9cb00001
provider:
type: string
description: "The provider of the authenticated identity.\n\nPossible Values:\n - VISA_PAYMENT_PASSKEY\n - CLIENT_DEVICE_CERT_JWS\n"
example: VISA_PAYMENT_PASSKEY
data:
type: string
pattern: '[A-Za-z0-9=-_]+'
maxLength: 17000
description: 'The data from the authenticated identity.
For Passkey this could be the FIDO Attestation.
For Classic Cloud Token Framework (CTF) this could be a JWS containing device authentication information signed by a devices private key.
Base64URL encoded string (RFC4648).
The encoding is the same as Base64, but uses ''-'' characters instead of ''+'' and ''_'' characters instead of ''/''.
'
example: dj0xJmM9ezAwMX06QUFSTk
relyingPartyId:
type: string
pattern: '[A-Za-z0-9=-_]+'
maxLength: 2000
description: "The id of the Relying Party.\n Base64URL encoded string (RFC4648).\n The encoding is the same as Base64, but uses '-' characters instead of '+' and '_' characters instead of '/'.\n"
example: dnRzLmF1dGgudmlzYS5jb20=
userAuthenticationMethod:
type: string
description: "The method used to authenticate the user.\n\nPossible Values:\n - USERNAME_PASSWORD\n - PASSCODE_PASSWORD\n - PASSCODE\n - PASSWORD\n - PATTERN\n - BIOMETRIC_FINGERPRINT\n - BIOMETRIC_FACIAL\n - BIOMETRIC_IRIS\n - BIOMETRIC_VOICE\n - BIOMETRIC_BEHAVIORAL\n - DEVICE_UNLOCKED_METHOD_UNKNOWN\n - OTP_SMS\n - OTP_EMAIL\n - OTP_SMS_KNOWLEDGE\n - KNOWLEDGE_BASED_AUTHENTICATION\n - USER_UNVERIFIED\n - BIOMETRIC\n"
example: BIOMETRIC_FINGERPRINT
tags:
- Network Tokens
operationId: postTokenPaymentCredentialsV3
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-net-tkn-intro/tms-net-tkn-partner-retrieve-pay-cred-intro.html
mleForRequest: optional
consumes:
- application/json;charset=utf-8
produces:
- application/jose;charset=utf-8
responses:
'201':
description: "A base64 encoded JSON Web Encryption (JWE) response containing encrypted Payment Credentials.\n\nExample JWE Header:\n ```json\n {\n \"kid\": \"a0eb65d572e556fddb68eb3a4078555605f7b283\",\n \"cty\": \"json\",\n \"typ\": \"JWT\",\n \"enc\": \"A256GCM\",\n \"alg\": \"RSA-OAEP-256\"\n }\n ```\n\nWhen cryptogram is requested or returned by default (paymentCredentialType: CRYPTOGRAM), the response includes cryptogram and ECI values for Visa/Mastercard. \nWhen security code is requested (paymentCredentialType: SECURITY_CODE), the response includes:\n- For American Express: Dynamic Card Secure Code (DCSC) returned by default\n- For Visa: DTVV cryptogram when explicitly requested
\n\nThe decrypted Payment Credentials response may include:\n\n\n Decrypted Payment Credentials for Tokenized Card
\n \n```json\n{\n \"_links\": {\n \"tokenizedCard\": {\n \"href\": \"/tms/v2/tokenized-cards/47CA8267360FD3EAE063AF598E0A5792\"\n }\n },\n \"tokenizedCard\": {\n \"id\": \"47CA8267360FD3EAE063AF598E0A5792\",\n \"state\": \"ACTIVE\",\n \"enrollmentId\": \"8e823a4c6cd8299ee84a19346009e901\",\n \"tokenReferenceId\": \"8009397c2f12e5d741921d5b59837701\",\n \"number\": \"4323126880354068\",\n \"expirationMonth\": \"12\",\n \"expirationYear\": \"2026\",\n \"type\": \"visa\",\n \"cryptogram\": \"AwAAAAAAWx6z/7YAAAAAgBcAAAA=\",\n \"eci\": \"07\",\n \"requestorId\": \"40010052236\",\n \"applicationTransactionCounter\": \"12345\",\n \"card\": {\n \"suffix\": \"6726\",\n \"expirationMonth\": \"12\",\n \"expirationYear\": \"2026\",\n \"expirationPrinted\": true,\n \"securityCodePrinted\": true\n }\n },\n \"issuer\": {\n \"paymentAccountReference\": \"V0010013025198559200843564380\"\n }\n }\n```\n \n\n Decrypted Payment Credentials for TMS Token with Tokenized Card
\n \n```json\n{\n \"_links\": {\n \"instrumentIdentifier\": {\n \"href\": \"/tms/v1/instrumentidentifiers/47CA82673608D3EAE063AF598E0A5792\"\n },\n \"tokenizedCard\": {\n \"href\": \"/tms/v2/tokenized-cards/47CA8267360FD3EAE063AF598E0A5792\"\n }\n },\n \"card\": {\n \"number\": \"462294XXXXXX6726\"\n },\n \"tokenizedCard\": {\n \"id\": \"47CA8267360FD3EAE063AF598E0A5792\",\n \"state\": \"ACTIVE\",\n \"enrollmentId\": \"8e823a4c6cd8299ee84a19346009e901\",\n \"tokenReferenceId\": \"8009397c2f12e5d741921d5b59837701\",\n \"number\": \"4323126880354068\",\n \"expirationMonth\": \"12\",\n \"expirationYear\": \"2026\",\n \"type\": \"visa\",\n \"cryptogram\": \"AwAAAAAAUbSN0KoAAAAAgBcAAAA=\",\n \"eci\": \"07\",\n \"requestorId\": \"40010052236\",\n \"applicationTransactionCounter\": \"12345\",\n \"card\": {\n \"suffix\": \"6726\",\n \"expirationMonth\": \"12\",\n \"expirationYear\": \"2026\",\n \"expirationPrinted\": true,\n \"securityCodePrinted\": true\n }\n },\n \"issuer\": {\n \"paymentAccountReference\": \"V0010013025198559200843564380\"\n }\n }\n```\n \n\n Decrypted Payment Credentials for TMS Token without Tokenized Card
\n \n```json\n{\n \"_links\": {\n \"paymentInstruments\": {\n \"href\": \"/tms/v1/paymentinstruments/49133768477C678CE063AF598E0AD7CB\"\n },\n \"instrumentIdentifier\": {\n \"href\": \"/tms/v1/instrumentidentifiers/490DC5B225867B0EE063AF598E0A0174\"\n }\n },\n \"card\": {\n \"number\": \"462294XXXXXX6791\",\n \"expirationMonth\": \"12\",\n \"expirationYear\": \"2030\",\n \"type\": \"001\"\n },\n \"billTo\": {\n \"firstName\": \"MM\",\n \"lastName\": \"Doe\",\n \"company\": \"Visa\",\n \"address1\": \"1 Market St\",\n \"locality\": \"san francisco\",\n \"administrativeArea\": \"CA\",\n \"postalCode\": \"94105\",\n \"country\": \"US\",\n \"email\": \"test@cybs.com\",\n \"phoneNumber\": \"4158880000\"\n }\n }\n```\n \n"
headers:
uniqueTransactionID:
description: A globally unique id associated with your request.
type: string
v-c-correlation-id:
description: The mandatory correlation id passed by upstream (calling) system.
type: string
schema:
type: object
properties:
_links:
type: object
readOnly: true
properties:
customer:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Customer. Present when requesting payment credentials for a TMS customer token.
'
example: /tms/v2/customers/47CA82673612D3EAE063AF598E0A5792
paymentInstruments:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Payment Instrument. Present when requesting payment credentials for a TMS Customer Payment Instrument token.
'
example: /tms/v2/customers/47CA82673612D3EAE063AF598E0A5792/payment-instruments/47CA82673619D3EAE063AF598E0A5792
instrumentIdentifier:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifier. Present when requesting payment credentials for a TMS Instrument Identifier token.
'
example: /tms/v1/instrumentidentifiers/47CA82673608D3EAE063AF598E0A5792
tokenizedCard:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Tokenized Card. Present when a network token is available.
'
example: /tms/v2/tokenized-cards/47CA8267360FD3EAE063AF598E0A5792
card:
type: object
properties:
number:
type: string
minLength: 12
maxLength: 19
description: 'The customer''s payment card number, also known as the Primary Account Number (PAN). You can also use this field
for encoded account numbers.
'
example: 462294XXXXXX6726
expirationMonth:
type: string
maxLength: 2
description: 'Two-digit month in which the payment card expires.
Format: `MM`.
Possible Values: `01` through `12`.
'
example: 09
expirationYear:
type: string
maxLength: 4
description: 'Four-digit year in which the credit card expires.
Format: `YYYY`.
'
example: '2030'
type:
type: string
description: "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard—European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online — use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue — formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard — supported only by the Comercio Latino processor.\n * 051 : aura — supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo — supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n"
example: '001'
tokenizedCard:
type: object
properties:
id:
type: string
readOnly: true
description: 'The Id of the Tokenized Card.
'
object:
type: string
readOnly: true
example: tokenizedCard
description: 'The type.
Possible Values:
- tokenizedCard
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- ONFILE
- TOKEN
- ISSUER
'
state:
type: string
readOnly: true
example: ACTIVE
description: "State of the network token or network token provision.\nPossible Values:\n - ACTIVE : Network token is active.\n - SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n - DELETED : This is a final state for a network token instance.\n - UNPROVISIONED : A previous network token.\n"
enrollmentId:
type: string
readOnly: true
description: 'Unique id to identify this PAN/ enrollment.
'
tokenReferenceId:
type: string
readOnly: true
description: 'Unique ID for netwrok token.
'
number:
type: string
readOnly: true
description: 'The token requestor''s network token for the provided PAN and consumer Id, if available.
'
expirationMonth:
type: string
readOnly: true
description: 'Two-digit month in which the network token expires.
Format: `MM`.
Possible Values: `01` through `12`.
'
expirationYear:
type: string
readOnly: true
description: 'Four-digit year in which the network token expires.
Format: `YYYY`.
'
type:
type: string
description: 'The type of card (Card Network).
Possible Values:
- visa
- mastercard
- americanexpress
'
reason:
type: string
readOnly: true
example: ACTIVE
description: 'Indicates the reason why the network token provision request failed.
Possible Values:
- INVALID_REQUEST : The network token provision request contained invalid data.
- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.
- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.
- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.
- DECLINED : Card can currently not be used with issuer for tokenization.
- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.
- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.
'
cryptogram:
type: string
readOnly: true
description: 'Value generated by the card association to be used alongside the network token for processing a payment.
This field is returned by default for Visa and Mastercard network tokens.
It can also be explicitly requested using paymentCredentialType: CRYPTOGRAM.
'
example: CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=
securityCode:
type: string
readOnly: true
description: 'Dynamic number generated by the card association to be used alongside the network token for processing a payment.
- For American Express: Dynamic Card Secure Code (DCSC) returned by default.
- For Visa: DTVV cryptogram when explicitly requested using paymentCredentialType: SECURITY_CODE.
It can also be explicitly requested using paymentCredentialType: SECURITY_CODE.
'
example: '4523'
eci:
type: string
readOnly: true
description: 'Raw Electronic Commerce Indicator provided by the card association with the result of the cardholder authentication.
'
requestorId:
type: string
readOnly: true
maxLength: 11
description: '11-digit identifier that uniquely identifies the Token Requestor.
'
paymentAccountReference:
type: string
readOnly: true
description: 'Payment account reference.
'
applicationTransactionCounter:
type: string
readOnly: true
description: 'A sequence counter used as part of the input to the TAVV cryptogram and it is incremented for each cryptogram generation.
This field is only returned for Visa network tokens.
'
card:
type: object
properties:
number:
type: string
minLength: 12
maxLength: 19
description: 'The latest customer''s payment card number associated to the network token.
'
expirationMonth:
type: string
maxLength: 2
description: 'Two-digit month in which the payment card expires.
Format: `MM`.
Possible Values: `01` through `12`.
'
expirationYear:
type: string
maxLength: 4
description: 'Four-digit year in which the credit card expires.
Format: `YYYY`.
'
type:
type: string
description: 'The type of card (Card Network).
Possible Values:
- 001: visa
- 002: mastercard
- 003: american express
- 007: jcb
'
suffix:
type: string
readOnly: true
description: 'The customer''s latest payment card number suffix.
'
issueDate:
type: string
readOnly: true
format: date
description: 'Card issuance date. XML date format: YYYY-MM-DD.'
example: '2030-12-15'
activationDate:
type: string
readOnly: true
format: date
description: 'Card activation date. XML date format: YYYY-MM-DD'
example: '2030-12-20'
expirationPrinted:
type: boolean
readOnly: true
description: Indicates if the expiration date is printed on the card.
example: true
securityCodePrinted:
type: boolean
readOnly: true
description: Indicates if the Card Verification Number is printed on the card.
example: true
termsAndConditions:
type: object
readOnly: true
properties:
url:
type: string
readOnly: true
description: Issuer Card Terms and Conditions url.
verificationResults:
type: object
description: 'Verification results returned by the issuer during the provisioning when Security Code or Billing Address data is provided on the request.
Supported only for VTS tokens.
'
readOnly: true
properties:
securityCode:
type: string
readOnly: true
description: 'Indicates whether the security code (CVV/CVC) was verified by the issuer during the provisioning request.
Supported only for VTS tokens.
Possible Values:
- MATCH: Verified, CVV2 data matched.
- NO_MATCH: Verified, CVV2 data did not match.
- NOT_SUPPORTED: Verification not supported by card issuer.
- SKIPPED: Verification was not performed.
'
address:
type: string
readOnly: true
description: 'Indicates whether the billing address was verified by the issuer during the provisioning request.
Supported only for VTS tokens.
Possible Values:
- MATCH: Verified, address and postal code data matched.
- PARTIAL_MATCH: Verified, either address data matched or postal code data matched.
- PARTIAL_MATCH_FORMAT_UNSUPPORTED: Verified, either address data matched or postal code data matched, but the other could not be verified due to format issues.
- NO_MATCH: Verified, address and postal code data did not match.
- NOT_SUPPORTED: Verification not supported by card issuer.
- SKIPPED: Verification was not performed.
'
'400':
description: 'Bad Request: e.g. A required header value could be missing.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
details:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: The name of the field that caused the error.
location:
type: string
readOnly: true
description: The location of the field that caused the error.
examples:
Invalid Customer request body:
errors:
- type: invalidRequest
message: Invalid HTTP Body
'403':
description: 'Forbidden: e.g. The profile might not have permission to perform the operation.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - forbidden\n - declined\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: forbidden
message: Request not permitted
'404':
description: Token Not Found. The Id may not exist or was entered incorrectly.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notFound\n - subscriptionNotFound\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notFound
message: Token not found
'409':
description: Conflict. The token is linked to a Payment Instrument.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: conflict
message: Action cannot be performed as the PaymentInstrument is the customers default
'410':
description: Token Not Available. The token has been deleted.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notAvailable\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notAvailable
message: Token not available.
'500':
description: Unexpected error.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
examples:
application/json:
errors:
- type: serverError
message: Internal server error
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - internalError\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
'502':
description: Unexpected error.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
examples:
application/json:
errors:
- type: badGateway
message: An unexpected error occurred with network token service, check configuration
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - internalError\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
x-example:
example0:
summary: Generate Network Token Credentials (Cryptogram) for a Network Token Transaction (Default)
value:
paymentCredentialType: CRYPTOGRAM
transactionType: ECOM
example1:
summary: Generate Network Token Credentials (Security Code) for a Network Token Transaction
value:
paymentCredentialType: SECURITY_CODE
transactionType: ECOM
example2:
summary: Generate Network Token Credentials for an AFT Transaction
value:
paymentCredentialType: CRYPTOGRAM
transactionType: AFT
example3:
summary: Generate Network Token Credentials using Visa Payment Passkey (VPP) Authentication
value:
clientCorrelationId:
transactionType: ECOM
orderInformation:
amountDetails:
totalAmount: '1765.95'
currency: '978'
billTo:
firstName: John
lastName: Doe
email: test@cybs.com
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
merchantInformation:
merchantDescriptor:
name: TWVyY2hhbnQgVlphRjVYQmo
url: aHR0cHM6Ly93d3cuTWVyY2hhbnQtVlphRjVYQmouY29t
deviceInformation:
platformType: WEB
ipAddress: 127.0.0.1
httpAcceptContent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/41.0.2228.0 Safari/537.36
httpBrowserLanguage: en-US
httpBrowserJavaEnabled: true
httpBrowserJavaScriptEnabled: true
httpBrowserColorDepth: '24'
httpBrowserScreenHeight: '1080'
httpBrowserScreenWidth: '1920'
httpBrowserTimeDifference: '-480'
userAgentBrowserValue: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/41.0.2228.0 Safari/537.36
authenticatedIdentities:
- id:
provider: VISA_PAYMENT_PASSKEY
data:
relyingPartyId: dnRzLmF1dGgudmlzYS5jb20=
example4:
summary: Generate Network Token Credentials using Device Authentication
value:
transactionType: ECOM
orderInformation:
amountDetails:
totalAmount: '1765.95'
currency: '978'
billTo:
firstName: John
lastName: Doe
email: test@cybs.com
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
merchantInformation:
merchantDescriptor:
name: TWVyY2hhbnQgVlphRjVYQmo
url: aHR0cHM6Ly93d3cuTWVyY2hhbnQtVlphRjVYQmouY29t
deviceInformation:
ipAddress: 127.0.0.1
authenticatedIdentities:
- provider: CLIENT_DEVICE_CERT_JWS
data:
userAuthenticationMethod: BIOMETRIC_FINGERPRINT
/tms/v2/tokens/{tokenId}/payment-credentials:
post:
summary: Generate Payment Credentials v2
description: '**Note**: This resource will be replace by [payment credentials version 3](#/paths/~1tms~1v3~1tokens~1{tokenId}~1payment-credentials/post). The SDK will remain available for now; however, it will no longer be documented or maintain in the Developer Centre.
**Token**
A Token can represent your tokenized Customer, Payment Instrument, Instrument Identifier or Tokenized Card information.
**Payment Credentials**
Contains payment information such as the network token, generated cryptogram for Visa & MasterCard or dynamic CVV for Amex in a JSON Web Encryption (JWE) response.
Your system can use this API to retrieve the Payment Credentials for an existing Customer, Payment Instrument, Instrument Identifier or Tokenized Card.
Optionally, **authenticated identities** information from Passkey authentication can be provided to potentially achieve liability shift, which may result in the return of an e-commerce indicator of 5 if successful.
'
parameters:
- name: profile-id
in: header
description: The Id of a profile containing user specific TMS configuration.
required: false
type: string
minLength: 36
maxLength: 36
x-hide-field: true
- name: tokenId
in: path
description: The Id of a token representing a Customer, Payment Instrument or Instrument Identifier.
required: true
type: string
minLength: 1
maxLength: 32
- name: postPaymentCredentialsRequest
in: body
required: true
schema:
type: object
properties:
paymentCredentialType:
type: string
description: "The type of payment credentials to be returned.\nBy default, payment credentials include network token and cryptogram or dynamic CVV.\nIf \"NETWORK_TOKEN\" is supplied then only network token card number will be returned and no cryptogram or dynamic CVV will be requested.\nIf \"SECURITY_CODE\" is supplied then dynamic CVV will be requested and returned with the network token card number. Dynamic CVV is only supported for Amex and SCOF.\nIf \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex.\n\nPossible Values:\n - NETWORK_TOKEN\n - SECURITY_CODE\n - CRYPTOGRAM\n"
example: CRYPTOGRAM
transactionType:
type: string
description: "Specifies the type of transaction for which the network token credentials are required.\nPossible Values:\n - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default.\n - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.\n"
example: ECOM
clientCorrelationId:
type: string
maxLength: 36
pattern: '[A-Za-z0-9]+'
description: 'Used to correlate authentication and payment credential requests.
'
example: ad30cf0c-b825-42ca-806c-bf06094b0b15
orderInformation:
type: object
properties:
amountDetails:
type: object
properties:
totalAmount:
type: string
description: Total amount for the order
example: '102.21'
currency:
type: string
description: 'Currency used for the order. Use an ISO 4217 numeric format currency code.
'
example: '978'
billTo:
type: object
properties:
firstName:
type: string
maxLength: 60
description: 'Customer''s first name. This name must be the same as the name on the card.
'
example: John
lastName:
type: string
maxLength: 60
description: 'Customer''s last name. This name must be the same as the name on the card.
'
example: Doe
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
example: 1 Market St
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
example: San Francisco
administrativeArea:
type: string
maxLength: 20
description: 'State or province of the billing address. Use the State, Province, and Territory Codes for the United States
and Canada.
'
example: CA
postalCode:
type: string
maxLength: 10
description: 'Postal code for the billing address. The postal code must consist of 5 to 9 digits.
When the billing country is the U.S., the 9-digit postal code must follow this format:
[5 digits][dash][4 digits]
**Example** `12345-6789`
When the billing country is Canada, the 6-digit postal code must follow this format:
[alpha][numeric][alpha][space][numeric][alpha][numeric]
**Example** `A1B 2C3`
'
example: '94105'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
example: US
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
example: test@cybs.com
merchantInformation:
type: object
properties:
merchantDescriptor:
type: object
properties:
name:
type: string
description: Merchant's name
example: TWVyY2hhbnQgVlphRjVYQmo
url:
type: string
description: Address of company's website provided by merchant
example: aHR0cHM6Ly93d3cuTWVyY2hhbnQtVlphRjVYQmouY29t
deviceInformation:
type: object
properties:
platformType:
type: string
description: "Platform type.\n\nPossible Values:\n - iOS: iOS app\n - ANDROID: Android app\n - WINDOWS: Windows app\n - WEB: Browser-based app\n"
example: WEB
ipAddress:
type: string
maxLength: 45
pattern: '[0-9A-Fa-f.]'
description: 'IP address of the customer.
'
example: 127.0.0.1
httpAcceptContent:
type: string
pattern: '[A-Za-z0-9]+'
maxLength: 2048
description: 'The exact content of the HTTP accept header.
'
example: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
httpBrowserLanguage:
type: string
pattern: '[A-Za-z0-9]+'
maxLength: 8
description: 'Value represents the browser language as defined in IETF BCP47.
Example:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.
'
example: en-US
httpBrowserJavaEnabled:
type: boolean
description: 'A Boolean value that represents the ability of the cardholder browser to execute Java.
Value is returned from the navigator.javaEnabled property. Possible Values:True/False
'
example: false
httpBrowserJavaScriptEnabled:
type: boolean
description: 'A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.
**Note**: Merchants should be able to know the values from fingerprint details of cardholder''s browser.
'
example: true
httpBrowserColorDepth:
type: string
pattern: '[0-9]+'
maxLength: 2
description: 'Value represents the bit depth of the color palette for displaying images, in bits per pixel.
Example : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details
'
example: '24'
httpBrowserScreenHeight:
type: string
pattern: '[0-9]+'
maxLength: 6
description: 'Total height of the Cardholder''s screen in pixels.
'
example: '1080'
httpBrowserScreenWidth:
type: string
pattern: '[0-9]+'
maxLength: 6
description: 'Total width of the cardholder''s screen in pixels.
'
example: '1920'
httpBrowserTimeDifference:
type: string
pattern: '[0-9]+'
maxLength: 5
description: 'Time difference between UTC time and the cardholder browser local time, in minutes.
'
example: '420'
userAgentBrowserValue:
type: string
pattern: '[A-Za-z0-9]+'
maxLength: 2048
description: 'Value of the User-Agent header sent by the customer''s web browser.
Note If the customer''s browser provides a value, you must include it in your request.
'
example: Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/134.0.0.0Safari/537.36Edg/134.0.0.0
authenticatedIdentities:
type: array
items:
type: object
properties:
id:
type: string
pattern: '[A-Za-z0-9=-_]+'
maxLength: 50
description: "The id from the authenticated identity.\n Base64URL encoded string (RFC4648). \n The encoding is the same as Base64, but uses '-' characters instead of '+' and '_' characters instead of '/'.\n"
example: 88662a11a11fa88627e217ab9cb00001
provider:
type: string
description: "The provider of the authenticated identity.\n\nPossible Values:\n - VISA_PAYMENT_PASSKEY\n - CLIENT_DEVICE_CERT_JWS\n"
example: VISA_PAYMENT_PASSKEY
data:
type: string
pattern: '[A-Za-z0-9=-_]+'
maxLength: 17000
description: 'The data from the authenticated identity.
For Passkey this could be the FIDO Attestation.
For Classic Cloud Token Framework (CTF) this could be a JWS containing device authentication information signed by a devices private key.
Base64URL encoded string (RFC4648).
The encoding is the same as Base64, but uses ''-'' characters instead of ''+'' and ''_'' characters instead of ''/''.
'
example: dj0xJmM9ezAwMX06QUFSTk
relyingPartyId:
type: string
pattern: '[A-Za-z0-9=-_]+'
maxLength: 2000
description: "The id of the Relying Party.\n Base64URL encoded string (RFC4648).\n The encoding is the same as Base64, but uses '-' characters instead of '+' and '_' characters instead of '/'.\n"
example: dnRzLmF1dGgudmlzYS5jb20=
userAuthenticationMethod:
type: string
description: "The method used to authenticate the user.\n\nPossible Values:\n - USERNAME_PASSWORD\n - PASSCODE_PASSWORD\n - PASSCODE\n - PASSWORD\n - PATTERN\n - BIOMETRIC_FINGERPRINT\n - BIOMETRIC_FACIAL\n - BIOMETRIC_IRIS\n - BIOMETRIC_VOICE\n - BIOMETRIC_BEHAVIORAL\n - DEVICE_UNLOCKED_METHOD_UNKNOWN\n - OTP_SMS\n - OTP_EMAIL\n - OTP_SMS_KNOWLEDGE\n - KNOWLEDGE_BASED_AUTHENTICATION\n - USER_UNVERIFIED\n - BIOMETRIC\n"
example: BIOMETRIC_FINGERPRINT
tags:
- Network Tokens
operationId: postTokenPaymentCredentials
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-net-tkn-intro/tms-net-tkn-partner-retrieve-pay-cred-intro.html
mleForRequest: optional
consumes:
- application/json;charset=utf-8
produces:
- application/jose;charset=utf-8
responses:
'201':
description: 'A base64 encoded JSON Web Encryption (JWE) response containing encrypted Payment Credentials.
Example:
{
"kid":"a0eb65d572e556fddb68eb3a4078555605f7b283",
"cty":"json",
"typ":"JWT",
"enc":"A256GCM",
"alg":"RSA-OAEP-256"
}
[Encrypted Instrument Identifier Payment Credentials]
The encrypted Payment Credentials will contain the network token and cryptogram or dynamic CVV.
'
headers:
uniqueTransactionID:
description: A globally unique id associated with your request.
type: string
v-c-correlation-id:
description: The mandatory correlation id passed by upstream (calling) system.
type: string
schema:
type: string
example: eyJraWQiOiJhMGViNjVkNTcyZTU1NmZkZGI2OGViM2E0MDc4NTU1NjA1ZjdiMjgzIiwiY3R5IjoianNvbiIsInR5cCI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJhbGciOiJSU0EtT0FFUC0yNTYifQ.o3V2waZn8TQgFXVJItH3EFv9IidsMQ45mskDJyAc6HVvIsT2Pw2blK1BpXv9l6JIU4pqKXzeKPTZTOLUOUoUf7Vr8bliMqCwJuHqq9Nx_qDJrL1MIGV9db8Ssog70-Cz5S6kPzWEWvLB-X8WvUsRfk9EY5Ge8r3BhcLyd-NVsIUKUBADS4-Ovrp2USlLehwVuiqbJzjblfwFCbOwAcDUBP3DGi6oZt8odrBCMV_W-1RH8KAZnS7NzkDgIRzzJoTvPLM4tMF2aSvrQG_GmZndLKeleZNa1voAdk35a2PGAyTc85vb_Eju79vV4C2nlCbxC2yImjumlJ_BZaKhj8q2xA.pWQZef3L3O0SFQtU.tfp2L0Jqqw-c4s9m7e0e8Y7eWAHVOEryLQlL3rLYPmo8OdEUaz-ftm_wpdtsycA5-iRZozDyyas6v6zqbXCMIG_Tg6cBS6cESrnBlgnkELtItv9Zw3UPSNVzoA97T0GxJVPmMkaHUkf0IAd7SXH4Zj5zCCTTDbpIwq4-TaGIxvXd_PJ4L6E1wcqEVaI6sU_PoTWvLJOFLDY_H4pjgVENVuPKVPJZodQxvpLo9L9B0zzOs4YMiv-1ACS_91vYUygBbwZuRnOD6jrW6V0J_nRQik2rCOTwV0B-Mt8nEV0xJpUByScrj91I5HBG1SEVDQPc6RJdNPM7SrPWfEc42Vc9F0oSehCpaIk7QXBCYZez629Li0KhUfqhPa5IJUygH8NB_UgfR5AcyzDr76Kq9Dht8PHPmkJVbPRdyVgkZsMmp_6GQ7Q7r2c3WrHESgbjGgsv4cz8Xui3cqw0Ni0Atozh46Kkd6yOPHC6y6IgdR32020Fs0cwTJnsAAkXy_wX4ScI9ElfpqxF9EshA9l5sHNfCPFbA2eHJUSA0x3vaRCoGCdF4GWq-2zgUEANPwkMNvHsB3E5_4gefqJi8K_nMMfekNGxFabqgkLxpqxXuyJ4cADatuE.kxPM1qm305qmJ6KuIU-9-A
'400':
description: 'Bad Request: e.g. A required header value could be missing.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
details:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: The name of the field that caused the error.
location:
type: string
readOnly: true
description: The location of the field that caused the error.
examples:
Invalid Customer request body:
errors:
- type: invalidRequest
message: Invalid HTTP Body
'403':
description: 'Forbidden: e.g. The profile might not have permission to perform the operation.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - forbidden\n - declined\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: forbidden
message: Request not permitted
'404':
description: Token Not Found. The Id may not exist or was entered incorrectly.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notFound\n - subscriptionNotFound\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notFound
message: Token not found
'410':
description: Token Not Available. The token has been deleted.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notAvailable\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notAvailable
message: Token not available.
'500':
description: Unexpected error.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
examples:
application/json:
errors:
- type: serverError
message: Internal server error
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - internalError\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
'502':
description: Unexpected error.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
examples:
application/json:
errors:
- type: badGateway
message: An unexpected error occurred with network token service, check configuration
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - internalError\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
x-example:
example0:
summary: Generate Network Token Credentials (Cryptogram) for a Network Token Transaction (Default)
value:
paymentCredentialType: CRYPTOGRAM
transactionType: ECOM
example1:
summary: Generate Network Token Credentials (Security Code) for a Network Token Transaction
value:
paymentCredentialType: SECURITY_CODE
transactionType: ECOM
example2:
summary: Generate Network Token Credentials for an AFT Transaction
value:
paymentCredentialType: CRYPTOGRAM
transactionType: AFT
example3:
summary: Generate Network Token Credentials using Visa Payment Passkey (VPP) Authentication
value:
clientCorrelationId:
transactionType: ECOM
orderInformation:
amountDetails:
totalAmount: '1765.95'
currency: '978'
billTo:
firstName: John
lastName: Doe
email: test@cybs.com
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
merchantInformation:
merchantDescriptor:
name: TWVyY2hhbnQgVlphRjVYQmo
url: aHR0cHM6Ly93d3cuTWVyY2hhbnQtVlphRjVYQmouY29t
deviceInformation:
platformType: WEB
ipAddress: 127.0.0.1
httpAcceptContent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/41.0.2228.0 Safari/537.36
httpBrowserLanguage: en-US
httpBrowserJavaEnabled: true
httpBrowserJavaScriptEnabled: true
httpBrowserColorDepth: '24'
httpBrowserScreenHeight: '1080'
httpBrowserScreenWidth: '1920'
httpBrowserTimeDifference: '-480'
userAgentBrowserValue: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/41.0.2228.0 Safari/537.36
authenticatedIdentities:
- id:
provider: VISA_PAYMENT_PASSKEY
data:
relyingPartyId: dnRzLmF1dGgudmlzYS5jb20=
example4:
summary: Generate Network Token Credentials using Device Authentication
value:
transactionType: ECOM
orderInformation:
amountDetails:
totalAmount: '1765.95'
currency: '978'
billTo:
firstName: John
lastName: Doe
email: test@cybs.com
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
merchantInformation:
merchantDescriptor:
name: TWVyY2hhbnQgVlphRjVYQmo
url: aHR0cHM6Ly93d3cuTWVyY2hhbnQtVlphRjVYQmouY29t
deviceInformation:
ipAddress: 127.0.0.1
authenticatedIdentities:
- provider: CLIENT_DEVICE_CERT_JWS
data:
userAuthenticationMethod: BIOMETRIC_FINGERPRINT
/tms/v2/tokens/{instrumentIdentifierId}/{tokenProvider}/assets/{assetType}:
get:
summary: Retrieve Card Art
description: 'Retrieves Card Art for a specific Instrument Identifier. The Card Art is a visual representation of the cardholder''s payment card.
Card Art is only available if a Network Token is successfully provisioned.
'
parameters:
- name: instrumentIdentifierId
in: path
description: The Id of an Instrument Identifier.
required: true
type: string
minLength: 12
maxLength: 32
- name: tokenProvider
in: path
description: The token provider.
required: true
type: string
enum:
- vts
- mdes
- amex
- mscof
- name: assetType
in: path
description: The type of asset.
required: true
type: string
enum:
- card-art-combined
- brand-logo
- issuer-logo
- icon-logo
tags:
- Network Tokens
operationId: getCardArtAsset
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-card-art/tms-net-tkn-card-art-retrieve-intro.html
produces:
- application/json;charset=utf-8
responses:
'200':
description: Returns the Card Art Asset Content of a Network Token
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally-unique Id associated with your request.
type: string
schema:
type: object
description: 'Represents the Card Art Asset associated to the Network Token.
'
properties:
id:
type: string
description: 'Unique identifier for the Card Art Asset.
'
example: 84cfb836a0000859be62c766bdc9e510
type:
type: string
description: 'The type of Card Art Asset.
'
example: cardArtCombined
provider:
type: string
description: 'The provider of the Card Art Asset.
'
example: vts
content:
type: array
description: 'Array of content objects representing the Card Art Asset.
'
items:
type: object
properties:
type:
type: string
description: 'The MIME type of the Asset.
'
example: image/png
data:
type: string
description: 'The base64-encoded data of the Asset.
'
example: iVBORw0KGgoAAAANSUhEUgAA...
width:
type: integer
description: 'The width of the Asset in pixels.
'
example: 1536
height:
type: integer
description: 'The height of the Asset in pixels.
'
example: 969
/tms/v2/tokenized-cards/{tokenizedCardId}/issuer-life-cycle-event-simulations:
post:
summary: Simulate Issuer Life Cycle Management Events
description: '**Lifecycle Management Events**
Simulates an issuer life cycle manegement event for updates on the tokenized card.
The events that can be simulated are:
- Token status changes (e.g. active, suspended, deleted)
- Updates to the underlying card, including card art changes, expiration date changes, and card number suffix.
**Note:** This is only available in CAS environment.
'
parameters:
- name: profile-id
in: header
required: true
type: string
description: The Id of a profile containing user specific TMS configuration.
minLength: 36
maxLength: 36
- name: tokenizedCardId
in: path
description: The Id of a tokenized card.
required: true
type: string
minLength: 12
maxLength: 32
- name: postIssuerLifeCycleSimulationRequest
in: body
required: true
schema:
type: object
description: 'Represents the Issuer LifeCycle Event Simulation for a Tokenized Card.
'
properties:
state:
type: string
description: 'The new state of the Tokenized Card.
Possible Values:
- ACTIVE
- SUSPENDED
- DELETED
'
card:
type: object
properties:
last4:
type: string
maxLength: 4
description: 'The new last 4 digits of the card number associated to the Tokenized Card.
'
expirationMonth:
type: string
maxLength: 2
description: 'The new two-digit month of the card associated to the Tokenized Card.
Format: `MM`.
Possible Values: `01` through `12`.
'
expirationYear:
type: string
maxLength: 4
description: 'The new four-digit year of the card associated to the Tokenized Card.
Format: `YYYY`.
'
metadata:
type: object
properties:
cardArt:
type: object
properties:
combinedAsset:
type: object
properties:
update:
type: string
description: 'Set to "true" to simulate an update to the combined card art asset associated with the Tokenized Card.
'
tags:
- Network Tokens
operationId: postIssuerLifeCycleSimulation
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-net-tkn-intro/tms-net-tkn-lcm-simulate-intro.html
consumes:
- application/json;charset=utf-8
produces:
- application/json;charset=utf-8
responses:
'204':
description: The request is fulfilled but does not need to return a body
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
'400':
description: 'Bad Request: e.g. A required header value could be missing.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
details:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: The name of the field that caused the error.
location:
type: string
readOnly: true
description: The location of the field that caused the error.
examples:
Invalid Customer request body:
errors:
- type: invalidRequest
message: Invalid HTTP Body
'403':
description: 'Forbidden: e.g. The profile might not have permission to perform the operation.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - forbidden\n - declined\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: forbidden
message: Request not permitted
'404':
description: Token Not Found. The Id may not exist or was entered incorrectly.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notFound\n - subscriptionNotFound\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
examples:
application/json:
errors:
- type: notFound
message: Token not found
'500':
description: Unexpected error.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
type: string
examples:
application/json:
errors:
- type: serverError
message: Internal server error
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - internalError\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
x-example:
example0:
summary: Simulate Network Token Status Update
value:
state: SUSPENDED
example1:
summary: Simulate Network Token Card Metadata Update
value:
card:
last4: '9876'
expirationMonth: '11'
expirationYear: '2040'
example2:
summary: Simulate Network Token Card Art Update
value:
metadata:
cardArt:
combinedAsset:
update: 'true'
x-devcenter-metaData:
categoryTagArray:
- name: Payments
description: For more information about Payments transactions, see the [Payments Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html).
- name: Transaction_Batches
description: For more information about Transaction Batches, see the [Transaction Batches Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-transaction-batch-api/txn_batch_api_intro.html).
- name: eCheck_AVS
description: For more information about eCheck Account Validation, see the [Account Validation Developer Guides Page](https://...).
- name: Token_Management
description: For more information about the Token Management Service (TMS) see the [Token Management Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-overview.html)
- name: Flex_Microform
description: Microform Integration is a lightweight acceptance solution designed to safely and securely accept payment information within your web page. Microform is designed to a be embedded seamlessly within your existing webpage experience, blending in with your existing acceptance form. This solution allows for the replacement of sensitive payment date with a transient token (a short lived reference to the sensitive payment data). For more information about Flex Microform transactions, see the [Flex Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-flex/SAFlexibleToken.html). For examples on how to integrate Flex Microform within your webpage please see our [GitHub Flex Samples](https://github.com/CyberSource?q=flex&type=&language=)
- name: Flex_API
description: For more information about Flex API, please see [Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/digital-accept-flex/developer/all/rest/digital-accept-flex/da-flex-api-intro.html).
- name: Risk_Management
- name: Payouts
description: 'For more information about Payouts, see the [Payouts Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-payouts/Introduction.html).
'
- name: Installments
description: For more information about Installment contact Cybersource Support. For Visa installments contact VISthroughCYBS@visa.com
- name: Recurring_Billing_Subscriptions
description: For more information about Recurring Billing, see the [Recurring Billing Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-developer/recur-bill-services-intro.html).
- name: BIN_Lookup
description: 'The BIN Lookup Service is a versatile business tool that provides card network agnostic solution designed to ensure frictionless transaction experience by utilizing up-to-date Bank Identification Number (BIN) attributes sourced from multiple global and regional data sources.
This service helps to improve authorization rates by helping to route transactions to the best-suited card network, minimizes fraud through card detail verification and aids in regulatory compliance by identifying card properties. The service is flexible and provides businesses with a flexible choice of inputs such as primary account number (PAN), network token from major networks (such as Visa, American Express, Discover and regional networks) which includes device PAN (DPAN), and all types of tokens generated via CyberSource Token Management Service (TMS).
Currently, the range of available credentials is contingent on the networks enabled for the business entity. Therefore, the network information specified in this documentation is illustrative and subject to personalized offerings for each reseller or merchant.
'
- name: Transaction_Details
description: For more information about Transaction Details, see the [Transaction Details Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_details_api.html).
- name: Transaction_Search
description: For more information about Transaction Search, see the [Transaction Search Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_search_api.html).
- name: Reporting
description: 'For more information about Reporting, see the [Reporting Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-reporting-rest-api-dev-guide-102718/reporting_api.html).
'
- name: Secure_File_Share
description: For more information about Secure File Share, see the [Secure File Share Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-secure-file-share-api-102718/secure_file_share_api_intro.html).
- name: Invoices
description: For more information about Invoicing, see the [Invoicing Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html).
- name: Pay_By_Link
description: For more information about PayByLink, see the [PBL Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/boarding/user/all/rest/boarding/templates-matrix-intro/templates-matrix-pay-by-link.html).
- name: User_Management
description: For more information about User Management, see the [User Managment Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-user-management-api-102718/user_management_api_intro.html).
- name: Value_Added_Service
- name: Fee Service
- name: Merchant_Boarding
description: For more information about Merchant Boarding, please see [Developer Guides Page](https://developer.cybersource.com/api/developer-guides/Merchant-Boarding-API_ditamap/Merchant-Boarding-API.html).
- name: Webhooks
description: For more information about Webhooks, please see [Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html).
- name: Unified_Checkout
description: For more information about Unified Checkout, see the [Unified Checkout Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html).
- name: Unified_Checkoutv1
description: For more information about Unified Checkout, see the [Unified Checkout Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-about-guide.html).
- name: Account_Updater
description: For more information about Account Updater, see the [Account Updater Developer Guides Page:](https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html).
- name: Visa_Bank_Account_Validation
description: 'The Visa Bank Account Validation Service is a new standalone product designed to validate customer''s routing and bank account number combination for ACH transactions. Merchant''s can use this standalone product to validate their customer''s account prior to processing an ACH transaction against the customer''s account to comply with Nacha''s account validation mandate for Web-debit transactions.
'
- name: Currency Conversion
description: 'Empower global transactions with transparency and choice. Our Dynamic Currency Conversion API lets merchants offer customers the option to pay in their home currency at checkout, delivering real-time exchange rates and clear cost disclosure.
**Key Benefits:**
- **Enhanced Customer Experience:** Provide clarity and convenience for international shoppers.
- **Real-Time Rates:** Accurate currency conversion with all the data required for acquirers and their merchants to maintain compliance with card network rules.
- **Seamless Integration:** Flexible API endpoints for rate lookup, authorization, and capture.
- **Regulatory Compliance:** Provides the data required for acquirers and merchants to meet and maintain card scheme requirements for disclosure and consent.
Ideal for merchants and payment partners seeking to boost trust and conversion in cross-border commerce.
**Key Features:**
- **Rate Lookup:** Retrieves the most up-to-date exchange rate for eligible cards before authorization.
- **Currency Choice:** Enables the merchant to offer customers the option to select between the merchant''s local currency and their card''s billing currency.
- **Compliance:** Ensures merchants have the data required to adhere to card network regulations; exchange rates, markups, etc.
**Supported Scenarios:**
- Dynamic Currency Conversion when cardholder''s billing currency differs from merchant''s pricing currency.
- Merchant and acquirer must support the cardholder''s billing currency.
**Core API Endpoints:**
**Currency Conversion API**
Returns eligibility and exchange rate details, including:
- exchangeRate
- marginRate
- reconciliationId and Id (for subsequent payment requests)
**Payment Authorization with DCC***
POST /pts/v2/payments
Required fields include:
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.originalCurrency
- orderInformation.amountDetails.originalAmount
- orderInformation.amountDetails.exchangeRate
- currencyConversion.indicator (e.g., 1 = Converted, 2 = Nonconvertible, 3 = Declined)
**Capture with DCC***
POST /pts/v2/payments/{id}/captures
Maps from original authorization and includes original and converted amounts.
**Refund with DCC***
POST /pts/v2/captures/{id}/refunds
Maps from original authorization and includes original and converted amounts.
*Note: DCC is only supported on select processors. Contact your acquirer or account manager for more information.
**Compliance & Disclosure:**
Merchants must:
- Adhere to card network rules for Dynamic Currency Conversion (DCC) transactions.
- Display the converted amount, exchange rate, and markup percentage and other required disclosures.
- Obtain explicit cardholder consent before applying DCC.
- Work with your acquirer to obtain full set of compliance requirements.
For more information, see the [Currency Conversion Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/currency-conversion/developer/all/rest/currency-conversion/cc-intro.html).
'
- name: Intelligent_Commerce_Connect
description: For more information about Intelligent Commerce Cross Network Service API, please see [Developer Guides](https://developer.cybersource.com/docs/cybs/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-about-guide.html).