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).