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 Instrument Identifier API
host: apitest.cybersource.com
basePath: /
schemes:
- https
consumes:
- application/json;charset=utf-8
produces:
- application/hal+json;charset=utf-8
tags:
- name: Instrument Identifier
description: 'An Instrument Identifier represents a unique card number(PAN) or bank account (echeck).
It can also be associated with a Network Token that can be used for payment transactions.
'
paths:
/tms/v1/instrumentidentifiers:
post:
summary: Create an Instrument Identifier
description: '| | | |
| --- | --- | --- |
|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).
**Creating an Instrument Identifier**
It is recommended you [create an Instrument Identifier via a Payment Authorization](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-with-instrument-identifier-token-creation_liveconsole-tab-request-body), this can be for a zero amount.
An Instrument Identifier will also be created if you [create a Customer via a Payment Authorization](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-with-customer-token-creation_liveconsole-tab-request-body)
In Europe: You should perform Payer Authentication alongside the Authorization.| |**Payment Network Tokens**
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Payment Network Token will be automatically created and used in future payments if you are enabled for the service.
A Payment Network Token can also be [provisioned for an existing Instrument Identifier](#token-management_instrument-identifier_enroll-an-instrument-identifier-for-payment-network-token).
For more information about Payment Network Tokens see the Developer Guide.
**Payments with Instrument Identifiers**
To perform a payment with an Instrument Identifier simply specify the [Instrument Identifier Id in the payments request along with the expiration date, card type, & billing address](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-instrument-identifier-token-id_liveconsole-tab-request-body).
When an Instrument Identifier is used in a payment the **_previousTransactionId_** and **_originalAuthorizedAmount_** values are automatically recorded.
These values will be added for you to future Merchant Initiated Transaction payments.
'
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: retrieveBinDetails
in: query
description: Retrieve the Bin Details of PAN or network token
required: false
type: boolean
- name: postInstrumentIdentifierRequest
in: body
description: Specify either a Card, Bank Account or Enrollable Card
required: true
schema:
type: object
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifier.
'
example: tms/v1/instrumentidentifiers/7010000000016241111
paymentInstruments:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifiers Payment Instruments.
'
example: tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments
tokenized-cards:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Tokenized Card if network token is present.
'
example: tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3
id:
type: string
description: 'The Id of the Instrument Identifier Token.
'
object:
type: string
readOnly: true
example: instrumentIdentifier
description: 'The type.
Possible Values:
- instrumentIdentifier
'
state:
type: string
readOnly: true
example: ACTIVE
description: 'Issuers state for the card number.
Possible Values:
- ACTIVE
- CLOSED : The account has been closed.
'
type:
type: string
description: 'The type of Instrument Identifier.
Possible Values:
- enrollable card
- enrollable token
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- CONTACTLESS_TAP
'
tokenProvisioningInformation:
type: object
properties:
consumerConsentObtained:
type: boolean
description: 'Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has consented to tokenization of their credentials.
- `false`: Consumer has not consented to tokenization of their credentials.
'
multiFactorAuthenticated:
type: boolean
description: 'Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has been authenticated by the issuer.
- `false`: Consumer has not been authenticated by the issuer.
'
card:
type: object
description: 'The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
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`.
'
securityCode:
type: string
maxLength: 4
description: "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n"
pointOfSaleInformation:
type: object
required:
- emvTags
properties:
emvTags:
type: array
minItems: 1
maxItems: 50
items:
type: object
required:
- tag
- value
- source
properties:
tag:
type: string
minLength: 1
maxLength: 10
pattern: ^[0-9A-Fa-f]{1,10}$
description: EMV tag, 1-10 hex characters.
value:
type: string
minLength: 1
maxLength: 64
description: EMV tag value, 1-64 characters.
source:
type: string
description: "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n"
example:
tag: 5A
value: '4111111111111111'
source: CARD
bankAccount:
type: object
properties:
number:
type: string
maxLength: 17
description: 'Account number.
When processing encoded account numbers, use this field for the encoded account number.
'
routingNumber:
type: string
description: 'Bank routing number. This is also called the transit number.
# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)
'
tokenizedCard:
title: tmsv2TokenizedCard
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.
issuer:
type: object
readOnly: true
properties:
paymentAccountReference:
type: string
readOnly: true
maxLength: 32
description: 'This reference number serves as a link to the cardholder account and to all transactions for that account.
'
processingInformation:
type: object
properties:
authorizationOptions:
type: object
title: tmsAuthorizationOptions
properties:
initiator:
type: object
properties:
merchantInitiatedTransaction:
type: object
properties:
previousTransactionId:
type: string
maxLength: 15
description: 'Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_
in the reply message for either the original merchant-initiated payment in the series or the previous
merchant-initiated payment in the series.
'
originalAuthorizedAmount:
type: string
maxLength: 15
description: 'Amount of the original authorization.
'
billTo:
type: object
description: 'This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
properties:
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
address2:
type: string
maxLength: 60
description: 'Additional address information.
'
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
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.
'
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`
'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
metadata:
type: object
readOnly: true
properties:
creator:
type: string
readOnly: true
description: The creator of the Instrument Identifier.
_embedded:
type: object
readOnly: true
properties:
binLookup:
title: TmsBinLookup
description: 'Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.
'
readOnly: true
type: object
properties:
paymentAccountInformation:
type: object
properties:
card:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
currency:
type: string
maxLength: 3
description: 'This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.
'
maxLength:
type: string
maxLength: 2
description: 'This field contains the max length of the card.
'
credentialType:
type: string
maxLength: 5
description: "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
brands:
description: Array of brands
type: array
items:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
features:
type: object
properties:
accountFundingSource:
type: string
maxLength: 20
description: "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
accountFundingSourceSubType:
type: string
maxLength: 20
description: "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
cardProduct:
type: string
maxLength: 50
description: "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
messageType:
type: string
maxLength: 1
description: "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
acceptanceLevel:
type: string
maxLength: 2
description: "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
cardPlatform:
type: string
maxLength: 20
description: "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
comboCard:
type: string
maxLength: 1
description: "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n"
corporatePurchase:
type: boolean
description: "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
healthCard:
type: boolean
description: "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
sharedBIN:
type: boolean
description: "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
posDomesticOnly:
type: boolean
description: "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
gamblingAllowed:
type: boolean
description: "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel2:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel3:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
exemptBIN:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
accountLevelManagement:
type: boolean
description: "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
onlineGamblingBlock:
type: boolean
description: "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
autoSubstantiation:
type: boolean
description: "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
flexCredential:
type: boolean
description: "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
productId:
type: string
description: "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n"
productIdSubtype:
type: string
description: "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n"
threeDSSupport:
type: boolean
description: "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n"
siEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n"
emiEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n"
fleetCard:
type: boolean
description: "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n"
atmEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n"
posEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n"
ecomEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n"
network:
type: object
properties:
id:
type: string
description: 'This field contains a code that identifies the network.
[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)
'
issuerInformation:
type: object
properties:
name:
type: string
maxLength: 200
description: 'This field contains the issuer name.
'
country:
type: string
maxLength: 2
description: 'This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.
'
binLength:
type: string
maxLength: 2
description: 'This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.
'
accountPrefix:
type: string
maxLength: 8
description: 'This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.
'
phoneNumber:
type: string
maxLength: 50
description: 'This field contains the customer service phone number for the issuer.
'
tags:
- Instrument Identifier
operationId: postInstrumentIdentifier
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-ii-tkn/tms-manage-ii-tkn/tms-ii-tkn-create-intro.html
mleForRequest: optional
consumes:
- application/json;charset=utf-8
produces:
- application/json;charset=utf-8
responses:
'200':
description: Returns an existing Instrument Identifier associated with the supplied Id.
headers:
ETag:
description: An ETag is an identifier assigned to a specific version of a resource.
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
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifier.
'
example: tms/v1/instrumentidentifiers/7010000000016241111
paymentInstruments:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifiers Payment Instruments.
'
example: tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments
tokenized-cards:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Tokenized Card if network token is present.
'
example: tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3
id:
type: string
description: 'The Id of the Instrument Identifier Token.
'
object:
type: string
readOnly: true
example: instrumentIdentifier
description: 'The type.
Possible Values:
- instrumentIdentifier
'
state:
type: string
readOnly: true
example: ACTIVE
description: 'Issuers state for the card number.
Possible Values:
- ACTIVE
- CLOSED : The account has been closed.
'
type:
type: string
description: 'The type of Instrument Identifier.
Possible Values:
- enrollable card
- enrollable token
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- CONTACTLESS_TAP
'
tokenProvisioningInformation:
type: object
properties:
consumerConsentObtained:
type: boolean
description: 'Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has consented to tokenization of their credentials.
- `false`: Consumer has not consented to tokenization of their credentials.
'
multiFactorAuthenticated:
type: boolean
description: 'Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has been authenticated by the issuer.
- `false`: Consumer has not been authenticated by the issuer.
'
card:
type: object
description: 'The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
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`.
'
securityCode:
type: string
maxLength: 4
description: "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n"
pointOfSaleInformation:
type: object
required:
- emvTags
properties:
emvTags:
type: array
minItems: 1
maxItems: 50
items:
type: object
required:
- tag
- value
- source
properties:
tag:
type: string
minLength: 1
maxLength: 10
pattern: ^[0-9A-Fa-f]{1,10}$
description: EMV tag, 1-10 hex characters.
value:
type: string
minLength: 1
maxLength: 64
description: EMV tag value, 1-64 characters.
source:
type: string
description: "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n"
example:
tag: 5A
value: '4111111111111111'
source: CARD
bankAccount:
type: object
properties:
number:
type: string
maxLength: 17
description: 'Account number.
When processing encoded account numbers, use this field for the encoded account number.
'
routingNumber:
type: string
description: 'Bank routing number. This is also called the transit number.
# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)
'
tokenizedCard:
title: tmsv2TokenizedCard
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.
issuer:
type: object
readOnly: true
properties:
paymentAccountReference:
type: string
readOnly: true
maxLength: 32
description: 'This reference number serves as a link to the cardholder account and to all transactions for that account.
'
processingInformation:
type: object
properties:
authorizationOptions:
type: object
title: tmsAuthorizationOptions
properties:
initiator:
type: object
properties:
merchantInitiatedTransaction:
type: object
properties:
previousTransactionId:
type: string
maxLength: 15
description: 'Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_
in the reply message for either the original merchant-initiated payment in the series or the previous
merchant-initiated payment in the series.
'
originalAuthorizedAmount:
type: string
maxLength: 15
description: 'Amount of the original authorization.
'
billTo:
type: object
description: 'This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
properties:
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
address2:
type: string
maxLength: 60
description: 'Additional address information.
'
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
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.
'
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`
'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
metadata:
type: object
readOnly: true
properties:
creator:
type: string
readOnly: true
description: The creator of the Instrument Identifier.
_embedded:
type: object
readOnly: true
properties:
binLookup:
title: TmsBinLookup
description: 'Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.
'
readOnly: true
type: object
properties:
paymentAccountInformation:
type: object
properties:
card:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
currency:
type: string
maxLength: 3
description: 'This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.
'
maxLength:
type: string
maxLength: 2
description: 'This field contains the max length of the card.
'
credentialType:
type: string
maxLength: 5
description: "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
brands:
description: Array of brands
type: array
items:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
features:
type: object
properties:
accountFundingSource:
type: string
maxLength: 20
description: "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
accountFundingSourceSubType:
type: string
maxLength: 20
description: "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
cardProduct:
type: string
maxLength: 50
description: "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
messageType:
type: string
maxLength: 1
description: "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
acceptanceLevel:
type: string
maxLength: 2
description: "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
cardPlatform:
type: string
maxLength: 20
description: "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
comboCard:
type: string
maxLength: 1
description: "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n"
corporatePurchase:
type: boolean
description: "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
healthCard:
type: boolean
description: "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
sharedBIN:
type: boolean
description: "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
posDomesticOnly:
type: boolean
description: "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
gamblingAllowed:
type: boolean
description: "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel2:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel3:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
exemptBIN:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
accountLevelManagement:
type: boolean
description: "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
onlineGamblingBlock:
type: boolean
description: "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
autoSubstantiation:
type: boolean
description: "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
flexCredential:
type: boolean
description: "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
productId:
type: string
description: "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n"
productIdSubtype:
type: string
description: "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n"
threeDSSupport:
type: boolean
description: "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n"
siEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n"
emiEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n"
fleetCard:
type: boolean
description: "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n"
atmEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n"
posEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n"
ecomEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n"
network:
type: object
properties:
id:
type: string
description: 'This field contains a code that identifies the network.
[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)
'
issuerInformation:
type: object
properties:
name:
type: string
maxLength: 200
description: 'This field contains the issuer name.
'
country:
type: string
maxLength: 2
description: 'This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.
'
binLength:
type: string
maxLength: 2
description: 'This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.
'
accountPrefix:
type: string
maxLength: 8
description: 'This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.
'
phoneNumber:
type: string
maxLength: 50
description: 'This field contains the customer service phone number for the issuer.
'
'201':
description: A new Instrument Identifier has been created.
headers:
Location:
description: Location of the Instrument Identifier.
type: string
ETag:
description: An ETag is an identifier assigned to a specific version of a resource.
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
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifier.
'
example: tms/v1/instrumentidentifiers/7010000000016241111
paymentInstruments:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifiers Payment Instruments.
'
example: tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments
tokenized-cards:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Tokenized Card if network token is present.
'
example: tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3
id:
type: string
description: 'The Id of the Instrument Identifier Token.
'
object:
type: string
readOnly: true
example: instrumentIdentifier
description: 'The type.
Possible Values:
- instrumentIdentifier
'
state:
type: string
readOnly: true
example: ACTIVE
description: 'Issuers state for the card number.
Possible Values:
- ACTIVE
- CLOSED : The account has been closed.
'
type:
type: string
description: 'The type of Instrument Identifier.
Possible Values:
- enrollable card
- enrollable token
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- CONTACTLESS_TAP
'
tokenProvisioningInformation:
type: object
properties:
consumerConsentObtained:
type: boolean
description: 'Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has consented to tokenization of their credentials.
- `false`: Consumer has not consented to tokenization of their credentials.
'
multiFactorAuthenticated:
type: boolean
description: 'Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has been authenticated by the issuer.
- `false`: Consumer has not been authenticated by the issuer.
'
card:
type: object
description: 'The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
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`.
'
securityCode:
type: string
maxLength: 4
description: "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n"
pointOfSaleInformation:
type: object
required:
- emvTags
properties:
emvTags:
type: array
minItems: 1
maxItems: 50
items:
type: object
required:
- tag
- value
- source
properties:
tag:
type: string
minLength: 1
maxLength: 10
pattern: ^[0-9A-Fa-f]{1,10}$
description: EMV tag, 1-10 hex characters.
value:
type: string
minLength: 1
maxLength: 64
description: EMV tag value, 1-64 characters.
source:
type: string
description: "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n"
example:
tag: 5A
value: '4111111111111111'
source: CARD
bankAccount:
type: object
properties:
number:
type: string
maxLength: 17
description: 'Account number.
When processing encoded account numbers, use this field for the encoded account number.
'
routingNumber:
type: string
description: 'Bank routing number. This is also called the transit number.
# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)
'
tokenizedCard:
title: tmsv2TokenizedCard
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.
issuer:
type: object
readOnly: true
properties:
paymentAccountReference:
type: string
readOnly: true
maxLength: 32
description: 'This reference number serves as a link to the cardholder account and to all transactions for that account.
'
processingInformation:
type: object
properties:
authorizationOptions:
type: object
title: tmsAuthorizationOptions
properties:
initiator:
type: object
properties:
merchantInitiatedTransaction:
type: object
properties:
previousTransactionId:
type: string
maxLength: 15
description: 'Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_
in the reply message for either the original merchant-initiated payment in the series or the previous
merchant-initiated payment in the series.
'
originalAuthorizedAmount:
type: string
maxLength: 15
description: 'Amount of the original authorization.
'
billTo:
type: object
description: 'This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
properties:
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
address2:
type: string
maxLength: 60
description: 'Additional address information.
'
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
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.
'
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`
'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
metadata:
type: object
readOnly: true
properties:
creator:
type: string
readOnly: true
description: The creator of the Instrument Identifier.
_embedded:
type: object
readOnly: true
properties:
binLookup:
title: TmsBinLookup
description: 'Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.
'
readOnly: true
type: object
properties:
paymentAccountInformation:
type: object
properties:
card:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
currency:
type: string
maxLength: 3
description: 'This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.
'
maxLength:
type: string
maxLength: 2
description: 'This field contains the max length of the card.
'
credentialType:
type: string
maxLength: 5
description: "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
brands:
description: Array of brands
type: array
items:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
features:
type: object
properties:
accountFundingSource:
type: string
maxLength: 20
description: "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
accountFundingSourceSubType:
type: string
maxLength: 20
description: "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
cardProduct:
type: string
maxLength: 50
description: "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
messageType:
type: string
maxLength: 1
description: "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
acceptanceLevel:
type: string
maxLength: 2
description: "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
cardPlatform:
type: string
maxLength: 20
description: "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
comboCard:
type: string
maxLength: 1
description: "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n"
corporatePurchase:
type: boolean
description: "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
healthCard:
type: boolean
description: "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
sharedBIN:
type: boolean
description: "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
posDomesticOnly:
type: boolean
description: "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
gamblingAllowed:
type: boolean
description: "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel2:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel3:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
exemptBIN:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
accountLevelManagement:
type: boolean
description: "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
onlineGamblingBlock:
type: boolean
description: "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
autoSubstantiation:
type: boolean
description: "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
flexCredential:
type: boolean
description: "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
productId:
type: string
description: "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n"
productIdSubtype:
type: string
description: "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n"
threeDSSupport:
type: boolean
description: "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n"
siEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n"
emiEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n"
fleetCard:
type: boolean
description: "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n"
atmEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n"
posEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n"
ecomEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n"
network:
type: object
properties:
id:
type: string
description: 'This field contains a code that identifies the network.
[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)
'
issuerInformation:
type: object
properties:
name:
type: string
maxLength: 200
description: 'This field contains the issuer name.
'
country:
type: string
maxLength: 2
description: 'This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.
'
binLength:
type: string
maxLength: 2
description: 'This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.
'
accountPrefix:
type: string
maxLength: 8
description: 'This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.
'
phoneNumber:
type: string
maxLength: 50
description: 'This field contains the customer service phone number for the issuer.
'
'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 Instrument Identifier using Card
value:
card:
number: '4111111111111111'
example1:
summary: Create Instrument Identifier using Bank Account
value:
bankAccount:
number: '4100'
routingNumber: 071923284
example2:
summary: Create Instrument Identifier using Card and Create Network Token
value:
type: enrollable card
card:
number: '4622943123116478'
expirationMonth: '12'
expirationYear: '2026'
example3:
summary: Create Instrument Identifier using Card and Create Network Token with Billing Address
value:
type: enrollable card
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: test@cybs.com
example4:
summary: Create Instrument Identifier using Token (e.g digital PAN) and Create Network Token
value:
type: enrollable token
card:
number: '4895370017256311'
expirationMonth: '12'
expirationYear: '2031'
example5:
summary: Create Instrument Identifier using Card EMV Tags and Create Network Token
value:
type: enrollable card
source: CONTACTLESS_TAP
card:
number: '4622943123116478'
securityCode: '123'
pointOfSaleInformation:
emvTags:
- tag: 5F24
value: '261215'
source: CARD
example6:
summary: Create Instrument Identifier using Card and Account Updater Subscription
value:
type: enrollable card
card:
number: '4000007113112087'
expirationMonth: '12'
/tms/v1/instrumentidentifiers/{instrumentIdentifierId}:
get:
summary: Retrieve an Instrument Identifier
description: '| | | |
| --- | --- | --- |
|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).
**Retrieving an Instrument Identifier**
Your system can use this API to retrieve an Instrument Identifier.
**Note: the actual card data will be masked.**
The Instrument Identifier will also be returned when retrieving a [Customer](#token-management_customer_retrieve-a-customer), [Customer Payment Instrument](#token-management_customer-payment-instrument_retrieve-a-customer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_retrieve-a-payment-instrument).| |**Payment Network Tokens**
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Payment Network Token will be automatically created and used in future payments if you are enabled for the service.
A Payment Network Token can also be [provisioned for an existing Instrument Identifier](#token-management_instrument-identifier_enroll-an-instrument-identifier-for-payment-network-token).
For more information about Payment Network Tokens see the Developer Guide.
**Payments with Instrument Identifiers**
To perform a payment with an Instrument Identifier simply specify the [Instrument Identifier Id in the payments request along with the expiration date, card type, & billing address](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-instrument-identifier-token-id_liveconsole-tab-request-body).
When an Instrument Identifier is used in a payment the **_previousTransactionId_** and **_originalAuthorizedAmount_** values are automatically recorded.
These values will be added for you to future Merchant Initiated Transaction payments.
'
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: retrieveBinDetails
in: query
description: Retrieve the Bin Details of PAN or network token
required: false
type: boolean
- name: instrumentIdentifierId
in: path
description: The Id of an Instrument Identifier.
required: true
type: string
minLength: 12
maxLength: 32
tags:
- Instrument Identifier
operationId: getInstrumentIdentifier
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-ii-tkn/tms-manage-ii-tkn/tms-ii-tkn-retrieve-intro.html
produces:
- application/json;charset=utf-8
x-depends:
example:
path: /tms/v1/instrumentidentifiers
verb: post
exampleId: example0
fieldMapping:
- sourceField: id
destinationField: instrumentIdentifierId
fieldTypeInDestination: path
responses:
'200':
description: Returns an existing Instrument Identifier associated with the supplied Id.
headers:
ETag:
description: An ETag is an identifier assigned to a specific version of a resource.
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
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifier.
'
example: tms/v1/instrumentidentifiers/7010000000016241111
paymentInstruments:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifiers Payment Instruments.
'
example: tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments
tokenized-cards:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Tokenized Card if network token is present.
'
example: tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3
id:
type: string
description: 'The Id of the Instrument Identifier Token.
'
object:
type: string
readOnly: true
example: instrumentIdentifier
description: 'The type.
Possible Values:
- instrumentIdentifier
'
state:
type: string
readOnly: true
example: ACTIVE
description: 'Issuers state for the card number.
Possible Values:
- ACTIVE
- CLOSED : The account has been closed.
'
type:
type: string
description: 'The type of Instrument Identifier.
Possible Values:
- enrollable card
- enrollable token
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- CONTACTLESS_TAP
'
tokenProvisioningInformation:
type: object
properties:
consumerConsentObtained:
type: boolean
description: 'Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has consented to tokenization of their credentials.
- `false`: Consumer has not consented to tokenization of their credentials.
'
multiFactorAuthenticated:
type: boolean
description: 'Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has been authenticated by the issuer.
- `false`: Consumer has not been authenticated by the issuer.
'
card:
type: object
description: 'The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
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`.
'
securityCode:
type: string
maxLength: 4
description: "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n"
pointOfSaleInformation:
type: object
required:
- emvTags
properties:
emvTags:
type: array
minItems: 1
maxItems: 50
items:
type: object
required:
- tag
- value
- source
properties:
tag:
type: string
minLength: 1
maxLength: 10
pattern: ^[0-9A-Fa-f]{1,10}$
description: EMV tag, 1-10 hex characters.
value:
type: string
minLength: 1
maxLength: 64
description: EMV tag value, 1-64 characters.
source:
type: string
description: "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n"
example:
tag: 5A
value: '4111111111111111'
source: CARD
bankAccount:
type: object
properties:
number:
type: string
maxLength: 17
description: 'Account number.
When processing encoded account numbers, use this field for the encoded account number.
'
routingNumber:
type: string
description: 'Bank routing number. This is also called the transit number.
# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)
'
tokenizedCard:
title: tmsv2TokenizedCard
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.
issuer:
type: object
readOnly: true
properties:
paymentAccountReference:
type: string
readOnly: true
maxLength: 32
description: 'This reference number serves as a link to the cardholder account and to all transactions for that account.
'
processingInformation:
type: object
properties:
authorizationOptions:
type: object
title: tmsAuthorizationOptions
properties:
initiator:
type: object
properties:
merchantInitiatedTransaction:
type: object
properties:
previousTransactionId:
type: string
maxLength: 15
description: 'Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_
in the reply message for either the original merchant-initiated payment in the series or the previous
merchant-initiated payment in the series.
'
originalAuthorizedAmount:
type: string
maxLength: 15
description: 'Amount of the original authorization.
'
billTo:
type: object
description: 'This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
properties:
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
address2:
type: string
maxLength: 60
description: 'Additional address information.
'
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
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.
'
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`
'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
metadata:
type: object
readOnly: true
properties:
creator:
type: string
readOnly: true
description: The creator of the Instrument Identifier.
_embedded:
type: object
readOnly: true
properties:
binLookup:
title: TmsBinLookup
description: 'Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.
'
readOnly: true
type: object
properties:
paymentAccountInformation:
type: object
properties:
card:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
currency:
type: string
maxLength: 3
description: 'This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.
'
maxLength:
type: string
maxLength: 2
description: 'This field contains the max length of the card.
'
credentialType:
type: string
maxLength: 5
description: "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
brands:
description: Array of brands
type: array
items:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
features:
type: object
properties:
accountFundingSource:
type: string
maxLength: 20
description: "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
accountFundingSourceSubType:
type: string
maxLength: 20
description: "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
cardProduct:
type: string
maxLength: 50
description: "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
messageType:
type: string
maxLength: 1
description: "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
acceptanceLevel:
type: string
maxLength: 2
description: "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
cardPlatform:
type: string
maxLength: 20
description: "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
comboCard:
type: string
maxLength: 1
description: "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n"
corporatePurchase:
type: boolean
description: "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
healthCard:
type: boolean
description: "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
sharedBIN:
type: boolean
description: "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
posDomesticOnly:
type: boolean
description: "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
gamblingAllowed:
type: boolean
description: "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel2:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel3:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
exemptBIN:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
accountLevelManagement:
type: boolean
description: "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
onlineGamblingBlock:
type: boolean
description: "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
autoSubstantiation:
type: boolean
description: "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
flexCredential:
type: boolean
description: "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
productId:
type: string
description: "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n"
productIdSubtype:
type: string
description: "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n"
threeDSSupport:
type: boolean
description: "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n"
siEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n"
emiEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n"
fleetCard:
type: boolean
description: "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n"
atmEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n"
posEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n"
ecomEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n"
network:
type: object
properties:
id:
type: string
description: 'This field contains a code that identifies the network.
[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)
'
issuerInformation:
type: object
properties:
name:
type: string
maxLength: 200
description: 'This field contains the issuer name.
'
country:
type: string
maxLength: 2
description: 'This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.
'
binLength:
type: string
maxLength: 2
description: 'This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.
'
accountPrefix:
type: string
maxLength: 8
description: 'This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.
'
phoneNumber:
type: string
maxLength: 50
description: 'This field contains the customer service phone number for the issuer.
'
'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.
'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.
patch:
summary: Update an Instrument Identifier
description: '| | | |
| --- | --- | --- |
|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).| |**Updating an Instrument Identifier**
When an Instrument Identifier is used in a payment the **_previousTransactionId_** and **_originalAuthorizedAmount_** values are automatically recorded.
These values will be added for you to future Merchant Initiated Transaction payments.
Your system can use this API to update these values.
'
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: retrieveBinDetails
in: query
description: Retrieve the Bin Details of PAN or network token
required: false
type: boolean
- name: instrumentIdentifierId
in: path
description: The Id of an Instrument Identifier.
required: true
type: string
minLength: 12
maxLength: 32
- name: if-match
in: header
description: Contains an ETag value from a GET request to make the request conditional.
required: false
type: string
minLength: 1
maxLength: 32
- name: patchInstrumentIdentifierRequest
in: body
description: Specify the previous transaction Id to update.
required: true
schema:
type: object
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifier.
'
example: tms/v1/instrumentidentifiers/7010000000016241111
paymentInstruments:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifiers Payment Instruments.
'
example: tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments
tokenized-cards:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Tokenized Card if network token is present.
'
example: tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3
id:
type: string
description: 'The Id of the Instrument Identifier Token.
'
object:
type: string
readOnly: true
example: instrumentIdentifier
description: 'The type.
Possible Values:
- instrumentIdentifier
'
state:
type: string
readOnly: true
example: ACTIVE
description: 'Issuers state for the card number.
Possible Values:
- ACTIVE
- CLOSED : The account has been closed.
'
type:
type: string
description: 'The type of Instrument Identifier.
Possible Values:
- enrollable card
- enrollable token
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- CONTACTLESS_TAP
'
tokenProvisioningInformation:
type: object
properties:
consumerConsentObtained:
type: boolean
description: 'Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has consented to tokenization of their credentials.
- `false`: Consumer has not consented to tokenization of their credentials.
'
multiFactorAuthenticated:
type: boolean
description: 'Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has been authenticated by the issuer.
- `false`: Consumer has not been authenticated by the issuer.
'
card:
type: object
description: 'The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
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`.
'
securityCode:
type: string
maxLength: 4
description: "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n"
pointOfSaleInformation:
type: object
required:
- emvTags
properties:
emvTags:
type: array
minItems: 1
maxItems: 50
items:
type: object
required:
- tag
- value
- source
properties:
tag:
type: string
minLength: 1
maxLength: 10
pattern: ^[0-9A-Fa-f]{1,10}$
description: EMV tag, 1-10 hex characters.
value:
type: string
minLength: 1
maxLength: 64
description: EMV tag value, 1-64 characters.
source:
type: string
description: "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n"
example:
tag: 5A
value: '4111111111111111'
source: CARD
bankAccount:
type: object
properties:
number:
type: string
maxLength: 17
description: 'Account number.
When processing encoded account numbers, use this field for the encoded account number.
'
routingNumber:
type: string
description: 'Bank routing number. This is also called the transit number.
# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)
'
tokenizedCard:
title: tmsv2TokenizedCard
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.
issuer:
type: object
readOnly: true
properties:
paymentAccountReference:
type: string
readOnly: true
maxLength: 32
description: 'This reference number serves as a link to the cardholder account and to all transactions for that account.
'
processingInformation:
type: object
properties:
authorizationOptions:
type: object
title: tmsAuthorizationOptions
properties:
initiator:
type: object
properties:
merchantInitiatedTransaction:
type: object
properties:
previousTransactionId:
type: string
maxLength: 15
description: 'Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_
in the reply message for either the original merchant-initiated payment in the series or the previous
merchant-initiated payment in the series.
'
originalAuthorizedAmount:
type: string
maxLength: 15
description: 'Amount of the original authorization.
'
billTo:
type: object
description: 'This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
properties:
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
address2:
type: string
maxLength: 60
description: 'Additional address information.
'
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
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.
'
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`
'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
metadata:
type: object
readOnly: true
properties:
creator:
type: string
readOnly: true
description: The creator of the Instrument Identifier.
_embedded:
type: object
readOnly: true
properties:
binLookup:
title: TmsBinLookup
description: 'Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.
'
readOnly: true
type: object
properties:
paymentAccountInformation:
type: object
properties:
card:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
currency:
type: string
maxLength: 3
description: 'This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.
'
maxLength:
type: string
maxLength: 2
description: 'This field contains the max length of the card.
'
credentialType:
type: string
maxLength: 5
description: "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
brands:
description: Array of brands
type: array
items:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
features:
type: object
properties:
accountFundingSource:
type: string
maxLength: 20
description: "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
accountFundingSourceSubType:
type: string
maxLength: 20
description: "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
cardProduct:
type: string
maxLength: 50
description: "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
messageType:
type: string
maxLength: 1
description: "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
acceptanceLevel:
type: string
maxLength: 2
description: "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
cardPlatform:
type: string
maxLength: 20
description: "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
comboCard:
type: string
maxLength: 1
description: "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n"
corporatePurchase:
type: boolean
description: "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
healthCard:
type: boolean
description: "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
sharedBIN:
type: boolean
description: "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
posDomesticOnly:
type: boolean
description: "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
gamblingAllowed:
type: boolean
description: "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel2:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel3:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
exemptBIN:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
accountLevelManagement:
type: boolean
description: "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
onlineGamblingBlock:
type: boolean
description: "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
autoSubstantiation:
type: boolean
description: "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
flexCredential:
type: boolean
description: "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
productId:
type: string
description: "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n"
productIdSubtype:
type: string
description: "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n"
threeDSSupport:
type: boolean
description: "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n"
siEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n"
emiEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n"
fleetCard:
type: boolean
description: "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n"
atmEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n"
posEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n"
ecomEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n"
network:
type: object
properties:
id:
type: string
description: 'This field contains a code that identifies the network.
[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)
'
issuerInformation:
type: object
properties:
name:
type: string
maxLength: 200
description: 'This field contains the issuer name.
'
country:
type: string
maxLength: 2
description: 'This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.
'
binLength:
type: string
maxLength: 2
description: 'This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.
'
accountPrefix:
type: string
maxLength: 8
description: 'This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.
'
phoneNumber:
type: string
maxLength: 50
description: 'This field contains the customer service phone number for the issuer.
'
tags:
- Instrument Identifier
operationId: patchInstrumentIdentifier
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-ii-tkn/tms-manage-ii-tkn/tms-ii-tkn-update-intro.html
mleForRequest: optional
consumes:
- application/json;charset=utf-8
produces:
- application/json;charset=utf-8
x-depends:
example:
path: /tms/v1/instrumentidentifiers
verb: post
exampleId: example0
fieldMapping:
- sourceField: id
destinationField: instrumentIdentifierId
fieldTypeInDestination: path
responses:
'200':
description: Returns an existing Instrument Identifier associated with the supplied Id.
headers:
ETag:
description: An ETag is an identifier assigned to a specific version of a resource.
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
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifier.
'
example: tms/v1/instrumentidentifiers/7010000000016241111
paymentInstruments:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifiers Payment Instruments.
'
example: tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments
tokenized-cards:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Tokenized Card if network token is present.
'
example: tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3
id:
type: string
description: 'The Id of the Instrument Identifier Token.
'
object:
type: string
readOnly: true
example: instrumentIdentifier
description: 'The type.
Possible Values:
- instrumentIdentifier
'
state:
type: string
readOnly: true
example: ACTIVE
description: 'Issuers state for the card number.
Possible Values:
- ACTIVE
- CLOSED : The account has been closed.
'
type:
type: string
description: 'The type of Instrument Identifier.
Possible Values:
- enrollable card
- enrollable token
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- CONTACTLESS_TAP
'
tokenProvisioningInformation:
type: object
properties:
consumerConsentObtained:
type: boolean
description: 'Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has consented to tokenization of their credentials.
- `false`: Consumer has not consented to tokenization of their credentials.
'
multiFactorAuthenticated:
type: boolean
description: 'Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has been authenticated by the issuer.
- `false`: Consumer has not been authenticated by the issuer.
'
card:
type: object
description: 'The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
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`.
'
securityCode:
type: string
maxLength: 4
description: "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n"
pointOfSaleInformation:
type: object
required:
- emvTags
properties:
emvTags:
type: array
minItems: 1
maxItems: 50
items:
type: object
required:
- tag
- value
- source
properties:
tag:
type: string
minLength: 1
maxLength: 10
pattern: ^[0-9A-Fa-f]{1,10}$
description: EMV tag, 1-10 hex characters.
value:
type: string
minLength: 1
maxLength: 64
description: EMV tag value, 1-64 characters.
source:
type: string
description: "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n"
example:
tag: 5A
value: '4111111111111111'
source: CARD
bankAccount:
type: object
properties:
number:
type: string
maxLength: 17
description: 'Account number.
When processing encoded account numbers, use this field for the encoded account number.
'
routingNumber:
type: string
description: 'Bank routing number. This is also called the transit number.
# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)
'
tokenizedCard:
title: tmsv2TokenizedCard
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.
issuer:
type: object
readOnly: true
properties:
paymentAccountReference:
type: string
readOnly: true
maxLength: 32
description: 'This reference number serves as a link to the cardholder account and to all transactions for that account.
'
processingInformation:
type: object
properties:
authorizationOptions:
type: object
title: tmsAuthorizationOptions
properties:
initiator:
type: object
properties:
merchantInitiatedTransaction:
type: object
properties:
previousTransactionId:
type: string
maxLength: 15
description: 'Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_
in the reply message for either the original merchant-initiated payment in the series or the previous
merchant-initiated payment in the series.
'
originalAuthorizedAmount:
type: string
maxLength: 15
description: 'Amount of the original authorization.
'
billTo:
type: object
description: 'This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
properties:
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
address2:
type: string
maxLength: 60
description: 'Additional address information.
'
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
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.
'
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`
'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
metadata:
type: object
readOnly: true
properties:
creator:
type: string
readOnly: true
description: The creator of the Instrument Identifier.
_embedded:
type: object
readOnly: true
properties:
binLookup:
title: TmsBinLookup
description: 'Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.
'
readOnly: true
type: object
properties:
paymentAccountInformation:
type: object
properties:
card:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
currency:
type: string
maxLength: 3
description: 'This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.
'
maxLength:
type: string
maxLength: 2
description: 'This field contains the max length of the card.
'
credentialType:
type: string
maxLength: 5
description: "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
brands:
description: Array of brands
type: array
items:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
features:
type: object
properties:
accountFundingSource:
type: string
maxLength: 20
description: "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
accountFundingSourceSubType:
type: string
maxLength: 20
description: "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
cardProduct:
type: string
maxLength: 50
description: "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
messageType:
type: string
maxLength: 1
description: "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
acceptanceLevel:
type: string
maxLength: 2
description: "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
cardPlatform:
type: string
maxLength: 20
description: "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
comboCard:
type: string
maxLength: 1
description: "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n"
corporatePurchase:
type: boolean
description: "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
healthCard:
type: boolean
description: "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
sharedBIN:
type: boolean
description: "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
posDomesticOnly:
type: boolean
description: "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
gamblingAllowed:
type: boolean
description: "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel2:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel3:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
exemptBIN:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
accountLevelManagement:
type: boolean
description: "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
onlineGamblingBlock:
type: boolean
description: "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
autoSubstantiation:
type: boolean
description: "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
flexCredential:
type: boolean
description: "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
productId:
type: string
description: "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n"
productIdSubtype:
type: string
description: "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n"
threeDSSupport:
type: boolean
description: "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n"
siEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n"
emiEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n"
fleetCard:
type: boolean
description: "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n"
atmEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n"
posEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n"
ecomEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n"
network:
type: object
properties:
id:
type: string
description: 'This field contains a code that identifies the network.
[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)
'
issuerInformation:
type: object
properties:
name:
type: string
maxLength: 200
description: 'This field contains the issuer name.
'
country:
type: string
maxLength: 2
description: 'This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.
'
binLength:
type: string
maxLength: 2
description: 'This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.
'
accountPrefix:
type: string
maxLength: 8
description: 'This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.
'
phoneNumber:
type: string
maxLength: 50
description: 'This field contains the customer service phone number for the issuer.
'
'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.
'412':
description: 'Precondition Failed: The If-Match request header value does not match the current resources ETag'
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 - 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 if-match header value does not match the token etag
'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: Update Instrument Identifier Merchant Initiated Transaction Values
value:
processingInformation:
authorizationOptions:
initiator:
merchantInitiatedTransaction:
previousTransactionId: '123456789012345'
originalAuthorizedAmount: '100.00'
delete:
summary: Delete an Instrument Identifier
description: '| | | |
| --- | --- | --- |
|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing
and account numbers.
The same token Id is returned for a specific card number or bank account & routing number allowing the
Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument)
or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).| |**Deleting an Instrument Identifier**
Your system can use this API to delete an existing Instrument Identifier.
An Instrument Identifier cannot be deleted if it is linked to any Payment Instruments.
You can [retrieve all Payment Instruments associated with an Instrument Identifier](#token-management_instrument-identifier_list-payment-instruments-for-an-instrument-identifier).
'
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: instrumentIdentifierId
in: path
description: The Id of an Instrument Identifier.
required: true
type: string
minLength: 12
maxLength: 32
tags:
- Instrument Identifier
operationId: deleteInstrumentIdentifier
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-ii-tkn/tms-manage-ii-tkn/tms-ii-tkn-delete-intro.html
produces:
- application/json;charset=utf-8
x-depends:
example:
path: /tms/v1/instrumentidentifiers
verb: post
exampleId: example0
fieldMapping:
- sourceField: id
destinationField: instrumentIdentifierId
fieldTypeInDestination: path
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
'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.
/tms/v1/instrumentidentifiers/{instrumentIdentifierId}/paymentinstruments:
get:
summary: List Payment Instruments for an Instrument Identifier
description: '| | | |
| --- | --- | --- |
|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing
and account numbers.
The same token Id is returned for a specific card number or bank account & routing number allowing the
Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument)
or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).| |**Retrieving all Payment Instruments associated with an Instrument Identifier**
Your system can use this API to retrieve all Payment Instruments linked to an Instrument Identifier.
'
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: retrieveBinDetails
in: query
description: Retrieve the Bin Details of PAN or network token
required: false
type: boolean
- name: instrumentIdentifierId
in: path
description: The Id of an Instrument Identifier.
required: true
type: string
minLength: 12
maxLength: 32
- name: offset
in: query
description: Starting record in zero-based dataset that should be returned as the first object in the array. Default is 0.
required: false
type: integer
format: int64
default: 0
minimum: 0
- name: limit
in: query
description: The maximum number that can be returned in the array starting from the offset record in zero-based dataset. Default is 20, maximum is 100.
required: false
type: integer
format: int64
default: 20
minimum: 1
maximum: 100
tags:
- Instrument Identifier
operationId: getInstrumentIdentifierPaymentInstrumentsList
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-ii-tkn/tms-manage-ii-tkn/tms-ii-tkn-retrieve-pi-intro.html
produces:
- application/json;charset=utf-8
x-depends:
example:
path: /tms/v1/instrumentidentifiers
verb: post
exampleId: example0
fieldMapping:
- sourceField: id
destinationField: instrumentIdentifierId
fieldTypeInDestination: path
responses:
'200':
description: Returns all existing Payment Instruments 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
X-Total-Count:
description: The total number of Payment Instruments associated with the Customer or Instrument Identifier.
type: string
schema:
title: PaymentInstrumentList
type: object
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the current page.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1
first:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the first page.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1
prev:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the previous page.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1
next:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the next page.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1
last:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the last page.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1
offset:
type: integer
readOnly: true
default: 0
example: 0
description: The offset parameter supplied in the request.
limit:
type: integer
readOnly: true
default: 20
example: 20
description: The limit parameter supplied in the request.
count:
type: integer
readOnly: true
example: 1
description: The number of Payment Instruments returned in the array.
total:
type: integer
readOnly: true
example: 1
description: The total number of Payment Instruments associated with the Customer or Instrument Identifier.
_embedded:
type: object
readOnly: true
description: 'Payment Instrument Resources.
'
properties:
paymentInstruments:
type: array
readOnly: true
items:
type: object
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Payment Instrument.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments
customer:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Customer.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3
id:
type: string
minLength: 1
maxLength: 32
description: The Id of the Payment Instrument Token.
object:
type: string
readOnly: true
example: paymentInstrument
description: 'The type.
Possible Values:
- paymentInstrument
'
default:
type: boolean
description: "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n"
state:
type: string
readOnly: true
example: ACTIVE
description: 'Issuers state for the card number.
Possible Values:
- ACTIVE
- CLOSED : The account has been closed.
'
type:
type: string
readOnly: true
description: 'The type of Payment Instrument.
Possible Values:
- cardHash
'
bankAccount:
type: object
properties:
type:
type: string
maxLength: 18
description: "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n"
card:
type: object
properties:
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: "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"
issueNumber:
type: string
maxLength: 2
description: 'Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.
**Note** The issue number is not required for Maestro (UK Domestic) transactions.
'
startMonth:
type: string
maxLength: 2
description: 'Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.
Possible Values: 01 through 12.
**Note** The start date is not required for Maestro (UK Domestic) transactions.
'
startYear:
type: string
maxLength: 4
description: 'Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.
**Note** The start date is not required for Maestro (UK Domestic) transactions.
'
useAs:
type: string
example: pinless debit
description: '''Payment Instrument was created / updated as part of a pinless debit transaction.''
'
hash:
type: string
minLength: 32
maxLength: 34
readOnly: true
description: 'Hash value representing the card.
'
tokenizedInformation:
type: object
properties:
requestorID:
type: string
maxLength: 11
description: 'Value that identifies your business and indicates that the cardholder''s account number is tokenized. This value
is assigned by the token service provider and is unique within the token service provider''s database.
**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.
'
transactionType:
type: string
maxLength: 1
description: 'Type of transaction that provided the token data. This value does not specify the token service provider; it
specifies the entity that provided you with information about the token.
Set the value for this field to 1. An application on the customer''s mobile device provided the token data.
'
buyerInformation:
type: object
properties:
companyTaxID:
type: string
maxLength: 9
description: 'Company''s tax identifier. This is only used for eCheck service.
'
currency:
type: string
maxLength: 3
description: 'Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)
For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.
#### DCC for First Data
Your local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).
# For details about currency as used in partial authorizations, see "Features for Debit Cards and Prepaid Cards" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)
'
dateOfBirth:
type: string
format: date
example: '1960-12-30'
description: 'Date of birth of the customer. Format: YYYY-MM-DD
'
personalIdentification:
type: array
items:
type: object
properties:
id:
type: string
maxLength: 26
description: 'The value of the identification type.
'
type:
type: string
description: "The type of the identification.\n\nPossible Values:\n - driver license\n"
issuedBy:
type: object
properties:
administrativeArea:
type: string
description: 'The State or province where the customer''s driver''s license was issued.
Use the two-character State, Province, and Territory Codes for the United States and Canada.
'
maxLength: 20
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.
'
lastName:
type: string
maxLength: 60
description: 'Customer''s last name. This name must be the same as the name on the card.
'
company:
type: string
maxLength: 60
description: 'Name of the customer''s company.
'
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
address2:
type: string
maxLength: 60
description: 'Additional address information.
'
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
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.
'
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`
'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
phoneNumber:
type: string
maxLength: 15
description: 'Customer''s phone number.
'
processingInformation:
type: object
title: tmsPaymentInstrumentProcessingInfo
properties:
billPaymentProgramEnabled:
type: boolean
description: 'Flag that indicates that this is a payment for a bill or for an existing contractual loan.
Possible Values:
- `true`: Bill payment or loan payment.
- `false` (default): Not a bill payment or loan payment.
# For processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)
'
bankTransferOptions:
type: object
properties:
SECCode:
type: string
maxLength: 3
description: 'Specifies the authorization method for the transaction.
#### TeleCheck
Possible Values:
- `ARC`: account receivable conversion
- `CCD`: corporate cash disbursement
- `POP`: point of purchase conversion
- `PPD`: prearranged payment and deposit entry
- `TEL`: telephone-initiated entry
- `WEB`: internet-initiated entry
# For details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)
'
merchantInformation:
type: object
title: TmsMerchantInformation
properties:
merchantDescriptor:
type: object
properties:
alternateName:
type: string
description: 'Alternate contact information for your business,such as an email address or URL.
This value might be displayed on the cardholder''s statement.
When you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.
Important This value must consist of English characters
'
maxLength: 13
instrumentIdentifier:
type: object
properties:
id:
type: string
minLength: 12
maxLength: 32
description: 'The Id of the Instrument Identifier linked to the Payment Instrument.
'
metadata:
type: object
readOnly: true
properties:
creator:
type: string
readOnly: true
description: 'The creator of the Payment Instrument.
'
_embedded:
type: object
readOnly: true
description: 'Additional resources for the Payment Instrument.
'
properties:
instrumentIdentifier:
readOnly: true
title: tmsEmbeddedInstrumentIdentifier
type: object
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifier.
'
example: tms/v1/instrumentidentifiers/7010000000016241111
paymentInstruments:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifiers Payment Instruments.
'
example: tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments
tokenized-cards:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Tokenized Card if network token is present.
'
example: tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3
id:
type: string
description: 'The Id of the Instrument Identifier Token.
'
object:
type: string
readOnly: true
example: instrumentIdentifier
description: 'The type.
Possible Values:
- instrumentIdentifier
'
state:
type: string
readOnly: true
example: ACTIVE
description: 'Issuers state for the card number.
Possible Values:
- ACTIVE
- CLOSED : The account has been closed.
'
type:
type: string
description: 'The type of Instrument Identifier.
Possible Values:
- enrollable card
- enrollable token
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- CONTACTLESS_TAP
'
tokenProvisioningInformation:
type: object
properties:
consumerConsentObtained:
type: boolean
description: 'Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has consented to tokenization of their credentials.
- `false`: Consumer has not consented to tokenization of their credentials.
'
multiFactorAuthenticated:
type: boolean
description: 'Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has been authenticated by the issuer.
- `false`: Consumer has not been authenticated by the issuer.
'
card:
type: object
description: 'The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
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`.
'
securityCode:
type: string
maxLength: 4
description: "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n"
pointOfSaleInformation:
type: object
required:
- emvTags
properties:
emvTags:
type: array
minItems: 1
maxItems: 50
items:
type: object
required:
- tag
- value
- source
properties:
tag:
type: string
minLength: 1
maxLength: 10
pattern: ^[0-9A-Fa-f]{1,10}$
description: EMV tag, 1-10 hex characters.
value:
type: string
minLength: 1
maxLength: 64
description: EMV tag value, 1-64 characters.
source:
type: string
description: "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n"
example:
tag: 5A
value: '4111111111111111'
source: CARD
bankAccount:
type: object
properties:
number:
type: string
maxLength: 17
description: 'Account number.
When processing encoded account numbers, use this field for the encoded account number.
'
routingNumber:
type: string
description: 'Bank routing number. This is also called the transit number.
# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)
'
tokenizedCard:
title: tmsv2TokenizedCard
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.
issuer:
type: object
readOnly: true
properties:
paymentAccountReference:
type: string
readOnly: true
maxLength: 32
description: 'This reference number serves as a link to the cardholder account and to all transactions for that account.
'
processingInformation:
type: object
properties:
authorizationOptions:
type: object
title: tmsAuthorizationOptions
properties:
initiator:
type: object
properties:
merchantInitiatedTransaction:
type: object
properties:
previousTransactionId:
type: string
maxLength: 15
description: 'Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_
in the reply message for either the original merchant-initiated payment in the series or the previous
merchant-initiated payment in the series.
'
originalAuthorizedAmount:
type: string
maxLength: 15
description: 'Amount of the original authorization.
'
billTo:
type: object
description: 'This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
properties:
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
address2:
type: string
maxLength: 60
description: 'Additional address information.
'
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
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.
'
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`
'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
metadata:
type: object
readOnly: true
properties:
creator:
type: string
readOnly: true
description: The creator of the Instrument Identifier.
_embedded:
type: object
readOnly: true
properties:
binLookup:
title: TmsBinLookup
description: 'Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.
'
readOnly: true
type: object
properties:
paymentAccountInformation:
type: object
properties:
card:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
currency:
type: string
maxLength: 3
description: 'This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.
'
maxLength:
type: string
maxLength: 2
description: 'This field contains the max length of the card.
'
credentialType:
type: string
maxLength: 5
description: "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
brands:
description: Array of brands
type: array
items:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
features:
type: object
properties:
accountFundingSource:
type: string
maxLength: 20
description: "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
accountFundingSourceSubType:
type: string
maxLength: 20
description: "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
cardProduct:
type: string
maxLength: 50
description: "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
messageType:
type: string
maxLength: 1
description: "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
acceptanceLevel:
type: string
maxLength: 2
description: "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
cardPlatform:
type: string
maxLength: 20
description: "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
comboCard:
type: string
maxLength: 1
description: "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n"
corporatePurchase:
type: boolean
description: "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
healthCard:
type: boolean
description: "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
sharedBIN:
type: boolean
description: "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
posDomesticOnly:
type: boolean
description: "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
gamblingAllowed:
type: boolean
description: "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel2:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel3:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
exemptBIN:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
accountLevelManagement:
type: boolean
description: "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
onlineGamblingBlock:
type: boolean
description: "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
autoSubstantiation:
type: boolean
description: "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
flexCredential:
type: boolean
description: "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
productId:
type: string
description: "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n"
productIdSubtype:
type: string
description: "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n"
threeDSSupport:
type: boolean
description: "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n"
siEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n"
emiEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n"
fleetCard:
type: boolean
description: "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n"
atmEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n"
posEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n"
ecomEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n"
network:
type: object
properties:
id:
type: string
description: 'This field contains a code that identifies the network.
[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)
'
issuerInformation:
type: object
properties:
name:
type: string
maxLength: 200
description: 'This field contains the issuer name.
'
country:
type: string
maxLength: 2
description: 'This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.
'
binLength:
type: string
maxLength: 2
description: 'This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.
'
accountPrefix:
type: string
maxLength: 8
description: 'This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.
'
phoneNumber:
type: string
maxLength: 50
description: 'This field contains the customer service phone number for the issuer.
'
'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.
'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/v1/instrumentidentifiers/{instrumentIdentifierId}/enrollment:
post:
summary: Enroll an Instrument Identifier for Payment Network Token
description: '| | | |
| --- | --- | --- |
|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).| |**Enroll an Instrument Identifier for a Payment Network Token**
Your system can use this API to provision a Network token for an existing Instrument Identifier.
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Network token can be [provisioned when creating an Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier_samplerequests-dropdown_create-instrument-identifier-card-enroll-for-network-token_liveconsole-tab-request-body).This will occur automatically when creating a [Customer](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-with-customer-token-creation_liveconsole-tab-request-body), [Payment Instrument](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-create-default-payment-instrument-shipping-address-for-existing-customer_liveconsole-tab-request-body) or [Instrument Identifier](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-with-instrument-identifier-token-creation_liveconsole-tab-request-body) via the Payments API.
For more information about Payment Network Tokens see the Developer Guide.
'
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: instrumentIdentifierId
in: path
description: The Id of an Instrument Identifier.
required: true
type: string
minLength: 12
maxLength: 32
- name: postInstrumentIdentifierEnrollmentRequest
in: body
description: Specify Enrollable Card details
required: true
schema:
type: object
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifier.
'
example: tms/v1/instrumentidentifiers/7010000000016241111
paymentInstruments:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Instrument Identifiers Payment Instruments.
'
example: tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments
tokenized-cards:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Tokenized Card if network token is present.
'
example: tms/v2/tokenized-cards/352DAB7D2F3A9511E063AF598E0A2FE3
id:
type: string
description: 'The Id of the Instrument Identifier Token.
'
object:
type: string
readOnly: true
example: instrumentIdentifier
description: 'The type.
Possible Values:
- instrumentIdentifier
'
state:
type: string
readOnly: true
example: ACTIVE
description: 'Issuers state for the card number.
Possible Values:
- ACTIVE
- CLOSED : The account has been closed.
'
type:
type: string
description: 'The type of Instrument Identifier.
Possible Values:
- enrollable card
- enrollable token
'
source:
type: string
description: 'Source of the card details.
Possible Values:
- CONTACTLESS_TAP
'
tokenProvisioningInformation:
type: object
properties:
consumerConsentObtained:
type: boolean
description: 'Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has consented to tokenization of their credentials.
- `false`: Consumer has not consented to tokenization of their credentials.
'
multiFactorAuthenticated:
type: boolean
description: 'Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.
Possible Values:
- `true`: Consumer has been authenticated by the issuer.
- `false`: Consumer has not been authenticated by the issuer.
'
card:
type: object
description: 'The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
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`.
'
securityCode:
type: string
maxLength: 4
description: "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n"
pointOfSaleInformation:
type: object
required:
- emvTags
properties:
emvTags:
type: array
minItems: 1
maxItems: 50
items:
type: object
required:
- tag
- value
- source
properties:
tag:
type: string
minLength: 1
maxLength: 10
pattern: ^[0-9A-Fa-f]{1,10}$
description: EMV tag, 1-10 hex characters.
value:
type: string
minLength: 1
maxLength: 64
description: EMV tag value, 1-64 characters.
source:
type: string
description: "Source of the tag.\n\nPossible Values:\n - CARD\n - TERMINAL\n"
example:
tag: 5A
value: '4111111111111111'
source: CARD
bankAccount:
type: object
properties:
number:
type: string
maxLength: 17
description: 'Account number.
When processing encoded account numbers, use this field for the encoded account number.
'
routingNumber:
type: string
description: 'Bank routing number. This is also called the transit number.
# For details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)
'
tokenizedCard:
title: tmsv2TokenizedCard
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.
issuer:
type: object
readOnly: true
properties:
paymentAccountReference:
type: string
readOnly: true
maxLength: 32
description: 'This reference number serves as a link to the cardholder account and to all transactions for that account.
'
processingInformation:
type: object
properties:
authorizationOptions:
type: object
title: tmsAuthorizationOptions
properties:
initiator:
type: object
properties:
merchantInitiatedTransaction:
type: object
properties:
previousTransactionId:
type: string
maxLength: 15
description: 'Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_
in the reply message for either the original merchant-initiated payment in the series or the previous
merchant-initiated payment in the series.
'
originalAuthorizedAmount:
type: string
maxLength: 15
description: 'Amount of the original authorization.
'
billTo:
type: object
description: 'This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.
'
properties:
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
'
address2:
type: string
maxLength: 60
description: 'Additional address information.
'
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
'
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.
'
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`
'
country:
type: string
maxLength: 2
description: 'Payment card billing country. Use the two-character ISO Standard Country Codes.
'
email:
type: string
maxLength: 255
description: 'Customer''s email address, including the full domain name.
'
metadata:
type: object
readOnly: true
properties:
creator:
type: string
readOnly: true
description: The creator of the Instrument Identifier.
_embedded:
type: object
readOnly: true
properties:
binLookup:
title: TmsBinLookup
description: 'Bin Information of the PAN provided by BinLookUp Service. This is only retrieved when retrieveBinDetails=true is passed as a query parameter.
'
readOnly: true
type: object
properties:
paymentAccountInformation:
type: object
properties:
card:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
currency:
type: string
maxLength: 3
description: 'This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.
'
maxLength:
type: string
maxLength: 2
description: 'This field contains the max length of the card.
'
credentialType:
type: string
maxLength: 5
description: "This field contains the type of the payment credential.\nPossible values:\n - PAN\n - TOKEN \n"
brands:
description: Array of brands
type: array
items:
type: object
properties:
type:
type: string
maxLength: 3
description: 'This field contains a 3-digit numeric value that indicates the card type within Cybersource eco-system.
Possible values from BIN Lookup Service (based on availability and enablement):
- `000`: Unsupported Card Type
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `007`: JCB
- `036`: Cartes Bancaire
- `042`: Maestro
- `054`: Elo
- `058`: Carnet
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `064`: Prompt Card
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `081`: Jaywan
- `082`: TPN
Glossary of possible values in the payments ecosystem:
- `001`: Visa
- `002`: Mastercard
- `003`: American Express
- `004`: Discover
- `005`: Diners Club
- `006`: Carte Blanche
- `007`: JCB
- `008`: Optima
- `009`: GE Private Label
- `010`: Beneficial Private Label
- `011`: Twinpay Credit Card
- `012`: Twinpay Debit Card
- `013`: Walmart
- `014`: EnRoute
- `015`: Lowe''s Consumer
- `016`: Home Depot Consumer
- `017`: MBNA
- `018`: Dick''s Sportwear
- `019`: Casual Corner
- `020`: Sears
- `021`: JAL
- `023`: Disney Card
- `024`: Switch/Solo
- `025`: Sam''s Club Consumer
- `026`: Sam''s Club Business
- `027`: Nico''s
- `028`: Paymentech Bill Me Later
- `029`: Bebe
- `030`: Restoration Hardware
- `031`: Delta Online
- `032`: Solo
- `033`: Visa Electron
- `034`: Dankort
- `035`: Laser
- `036`: Cartes Bancaire
- `037`: Carta Si
- `040`: UATP
- `041`: HOUSEHOLD
- `042`: Maestro
- `043`: GE MONEY
- `044`: Korean Cards
- `045`: Style Cards
- `046`: J.Crew
- `047`: Payeasecn eWallet
- `048`: Payeasecn Bank Transfer
- `049`: Meijer
- `050`: Hipercard
- `051`: Aura
- `052`: Redecard
- `053`: Orico Card
- `054`: Elo
- `055`: Capital One Private Label
- `057`: Costco Private Label
- `058`: Carnet
- `059`: ValueLink
- `060`: MADA
- `061`: RuPay
- `062`: China UnionPay
- `063`: Falabella Private Label
- `064`: Prompt Card
- `065`: Korean Domestic
- `066`: Banricompras
- `067`: Meeza
- `068`: PayPak
- `070`: EFTPOS
- `071`: Codensa
- `072`: Olimpica
- `073`: Colsubsidio
- `074`: Tuya
- `075`: Sodexo
- `076`: Naranja
- `077`: Cabal
- `078`: DINELCO
- `079`: PANAL
- `080`: EPM
- `081`: Jaywan
- `082`: TPN
'
brandName:
type: string
maxLength: 20
description: "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - MADA\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n - MEEZA\n - PAYPAK\n - JAYWAN\n - TPN\n"
features:
type: object
properties:
accountFundingSource:
type: string
maxLength: 20
description: "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n"
accountFundingSourceSubType:
type: string
maxLength: 20
description: "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n"
cardProduct:
type: string
maxLength: 50
description: "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n"
messageType:
type: string
maxLength: 1
description: "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n"
acceptanceLevel:
type: string
maxLength: 2
description: "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n"
cardPlatform:
type: string
maxLength: 20
description: "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `CORPORATE`\n - `COMMERCIAL`\n - `GOVERNMENT`\n"
comboCard:
type: string
maxLength: 1
description: "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n - 3 (Prepaid Credit and Prepaid Debit combo card)\n"
corporatePurchase:
type: boolean
description: "This field indicates if the instrument can be used for corporate purchasing. This field is only applicable for American Express cards.\nPossible values:\n - `true`\n - `false`\n"
healthCard:
type: boolean
description: "This field indicates if the BIN is for healthcare (HSA/FSA). Currently, this field is only supported for Visa BINs.\nPossible values:\n - `true`\n - `false`\n"
sharedBIN:
type: boolean
description: "This field indicates if the BIN is shared by multiple issuers\nPossible values:\n - `true`\n - `false`\n"
posDomesticOnly:
type: boolean
description: "This field indicates if the BIN is valid only for POS domestic usage.\nPossible values:\n - `true`\n - `false`\n"
gamblingAllowed:
type: boolean
description: "This field indicates if gambling transactions are allowed on the BIN.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel2:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 2 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
commercialCardLevel3:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for level 3 interchange rates.\nPossible values:\n - `true`\n - `false`\n"
exemptBIN:
type: boolean
description: "This field indicates if a transaction on the instrument qualifies for government exempt interchange fee.\nPossible values:\n - `true`\n - `false`\n"
accountLevelManagement:
type: boolean
description: "This field indicates if the BIN participates in Account Level Management (ALM).\nPossible values:\n - `true`\n - `false`\n"
onlineGamblingBlock:
type: boolean
description: "This field indicates if online gambling is blocked on the BIN.\nPossible values:\n - `true`\n - `false`\n"
autoSubstantiation:
type: boolean
description: "This field indicates if auto-substantiation is enabled on the BIN.\nPossible values:\n - `true`\n - `false`\n"
flexCredential:
type: boolean
description: "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n"
productId:
type: string
description: "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n"
productIdSubtype:
type: string
description: "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n"
threeDSSupport:
type: boolean
description: "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n"
siEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n"
emiEligible:
type: boolean
description: "This field indicates if the payment instrument is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n"
fleetCard:
type: boolean
description: "This field indicates if the BIN is designated for fuel/fleet usage. These specialized BINs support additional Level2/Level 3 transaction data.\nPossible values:\n - `true`\n - `false`\n"
atmEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ATM usage.\nPossible values:\n - `true`\n - `false`\n"
posEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for POS usage.\nPossible values:\n - `true`\n - `false`\n"
ecomEnabled:
type: boolean
description: "This field indicates if the payment instrument is enabled for ECOM usage.\nPossible values:\n - `true`\n - `false`\n"
network:
type: object
properties:
id:
type: string
description: 'This field contains a code that identifies the network.
[List of Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)
'
issuerInformation:
type: object
properties:
name:
type: string
maxLength: 200
description: 'This field contains the issuer name.
'
country:
type: string
maxLength: 2
description: 'This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.
'
binLength:
type: string
maxLength: 2
description: 'This field contains the length of the BIN. In some cases, this field may be absent if we do not receive accurate information from the network source.
'
accountPrefix:
type: string
maxLength: 8
description: 'This field contains the first 6 to 8 digits of a primary account number (PAN). The length of the field is determined by [PCI-DSS standards for truncation](https://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/What-are-acceptable-formats-for-truncation-of-primary-account-numbers).In case the input is not the full intrument (PAN or TOKEN), this field may be truncated.
'
phoneNumber:
type: string
maxLength: 50
description: 'This field contains the customer service phone number for the issuer.
'
tags:
- Instrument Identifier
operationId: postInstrumentIdentifierEnrollment
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-ii-intro.html
mleForRequest: optional
consumes:
- application/json;charset=utf-8
produces:
- application/json;charset=utf-8
x-depends:
example:
path: /tms/v1/instrumentidentifiers
verb: post
exampleId: example0
fieldMapping:
- sourceField: id
destinationField: instrumentIdentifierId
fieldTypeInDestination: path
responses:
'202':
description: The request has been accepted for processing, but the processing has not been completed.
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
'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
'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: Enroll Instrument Identifier (Card) for Network Tokenization
value:
type: enrollable card
card:
expirationMonth: '12'
expirationYear: '2031'
example1:
summary: Enroll Instrument Identifier (Token) for Network Tokenization
value:
type: enrollable token
card:
expirationMonth: '12'
expirationYear: '2032'
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).