Re: encPaymentInstrument - is there any example of it?

dushan
Regular Visitor

encPaymentInstrument - is there any example of it?

Hi,

 

I'm trying to do a PAN enrollement using the Token Service, but I'm getting an error response (listed below). On this page is given how encPaymentInstrument looks like when is encoded https://developer.visa.com/products/vts/reference#vts__enroll_pan but I'm not able to find an example of encPaymentInstrument before it is encrypted. Any help would be higly appriciated! 

 

{
"errorResponse" : {
"status" : 400,
"message" : "Input for encPaymentInstrument is invalid or inconsistent with the profile.",
"reason" : "invalidParameter",
"details" : [ {
"location" : "encPaymentInstrument"
} ]
}
}

2 REPLIES 2
ricardo_visa
Community Scholar

Re: encPaymentInstrument - is there any example of it?

Hi Dushan,

 

Here is some info:

 

Encrypted Payment Instrument

Field Description

accountNumber PAN of the card to be enrolled and provisioned

Format: Numeric. Size: 13-19

cvv2 (Optional) CVV2 value associated with the PAN on the card

Format: String. Size: 3-4

name (Optional) The full name on the Visa card associated with the

enrolled payment instrument

Format: String; maximum 256 UTF-8 characters

expirationDate (Optional) Payment instrument's expiration date. Populate based

on the response from getPanData, which indicates whether this

information is printed on the card.

Format: expirationDate structure. (See Expiration Date.)

billingAddress Billing address associated with the payment instrument

Format: billingAddress structure. (See Billing Address.)

provider Information about the provider of the payment instrument and the

context in which it is provided. Required if the panSource is

ISSUER_PUSH_PROVISION.

Format: provider structure. (See Payment Instrument Provider)

 

 

 

Payment Instrument Provider

This object allows the Payment Instrument Provider to specify the intent under which the

PAN should be used for token provisioning. Some of the fields provided here will be

matched with the corresponding fields from the API payload.

Field Description

intent (Required) The intent of the encryptor, which specifies what the

encryptor of the data trying to do.

Format: It is one of the following values:

  • PUSH_PROV_MOBILE - Issuer is providing the PAN for

the purpose of provisioning a token for the consumer on a

particular device for a particular wallet/account.

 

clientWalletProvider (Required) Client provided consumer ID that identifies the

Wallet Account Holder entity. It must have the same value as

clientWalletAccountID field from the API payload.

Format: String. Size: 50, [0-9,A-Z, a-z,-, _]

clientWalletAccountID (Required) Client provided consumer ID that identifies the

Wallet Account Holder entity. It must have the same value as

clientWalletAccountID field from the API payload.

Format: String. Size: 24, [0-9,A-Z, a-z,-, _]

clientDeviceID Stable and unique identifier set by wallet provider for the

device. Required if intent is PUSH_PROV_MOBILE. This

field must have the same value as clientDeviceID field

provided in the API payload.

Format: String. Size: 24, [0-9,A-Z, a-z,-, _]

clientAppID Unique Identifier for the client application, used to provide

some of the encrypted values. Required if intent is

PUSH_PROV_MOBILE. Example: Issuer’s AppID used to select

the PAN and the wallet.

Format: String. Size: 36, [A-Z][a-z][0-9,-]

isIDnV (Optional) Specifies whether the issuer wants ID&V to be

performed.

Format: Boolean

 

Does this help?

 

-Ricardo




Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
bramleyt
Regular Visitor

Re: encPaymentInstrument - is there any example of it?

What is the format of billingAddress and expirationDate referenced above?