Enroll PAN --> encPaymentInstrument in invalid or inconsistent with the profile

tintilinic82
Regular Visitor

Enroll PAN --> encPaymentInstrument in invalid or inconsistent with the profile

Hi, 

i'm trying to Enroll PAN via Visa Token Service api but i'm getting an error: "Input for encPaymentInstrument is invalid or inconsistent with the profile."

As I have seen in the Forum few people have the same issue but i didnt see any resolution. Is the cvv2 in the encPaymentInstrument tag problem? Can it be set to any value?

Also in the Questions in forums I have seen that there is no clear reference of what should encPaymentInstrument consist of?

In the API it is just: "Payment instrument contains: accountNumber, cvv2, last4, name, billingAddress, expirationDatePlease see note below regarding internationalization support for encPaymentInstrument." THERE IS NO NOTE regarding internationalization support on this site.

On this link it says that the cvv2 is optional. (https://community.developer.visa.com/t5/Visa-Developer-Capabilities/encPaymentInstrument-field-descr...)

Where can i find a good example of what the PaymentInstrument has to have.

I have also tried this (https://community.developer.visa.com/t5/Getting-Started-with-Visa/Problem-with-calling-vts-panEnroll...) but the error stays the same.

I have tried number of variation of the PaymentInstrument but every one failed.

 

 

Now my PaymentInstrument tag loks like before enc:

{\"accountNumber\":\"49570344196790042\",\"cvv2\":\"758\",\"name\":\"Nesto\",\"billingAddress\":{\"country\":\"BAN\"},"\"expirationDate\":{\"month\":\"10\",\"year\":\"2020\"}}");

 

Request sent to VTS

{
"clientAppID" : "XXXXXXXXXXXXXXXX",
"encPaymentInstrument" : " {
"clientAppID" : "B9UR9xm9WD4xSEQoXKyF",
"encPaymentInstrument" : "eyJhbGciOiJBMjU2R0NNS1ciLCJlbmMiOiJBMjU2R0NNIiwia2lkIjoiM0RROTlKNTdaOTdNSUVFOTg2TVAyMVZ4eGdkZGVDOTgzYlVvMWEzeTJZZlc1dzlSNCIsIml2IjoicWk5YlB4MDBqdGlZam1LQyIsInRhZyI6IkctcXN2bXRwcFlDaWw2emNRbjRqM1EifQ.OwVPU35eiPKhgqndSTwMjGQkrfMBE3kTAv2uSytDX30.156M5TlMZNTE7R_o.PFPtKtPRDrtO3_ruPvkJXt21zLPcbqkHMyRWuPlwYj7raixlTeZhbLAWu1tLXHQVie-LMm5b72VKg2c3WQS1HW6MA8DAvTpOHH7iJOIPYsvoqEKeVdkgIQTolgjUKG8bLQ-ou4AZlyuMj6oQXnousPTnQnpRmVVtxfLltrJbpkCOp5to3BDBfsRL0VwCdwEXkhI.l-Z2aTaT7H4wfLgc5sHwcg",
"locale" : "en_US",
"panSource" : "MOBILEAPP"
}"

 

Can you please help me and tell me what I'm doing wrong and posibly give mw a good example of the content of PaymentInstrument before encryption.

 

Thank you

 

Tin

 

 

2 REPLIES 2
Sanobar
Frequent Helper

Re: Enroll PAN --> encPaymentInstrument in invalid or inconsistent with the profile

Hello,

Let me look into it and get back to you. 

Thanks

Sanobar

 

kvaidya
Helper

Re: Enroll PAN --> encPaymentInstrument in invalid or inconsistent with the profile

Hello Tin,

 

Thank you for your inquiry/question.  You have a fair question.   Please see the list of field that needs to be part of Encrypted Payment Instrument as below and CVV2 is not optional but conditional that is mandatory for the use case when the panSource is MANUALLYENTERED by consumer for tokenisation.

 

Encrypted Payment Instrument

 

Field Description

accountNumber PAN of the card to be enrolled and provisioned

Format: Numeric. Size: 13-19

 

cvv2 (Conditional) 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; Size: 256

 

expirationDate (Conditional) 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.

 

billingAddress Billing address associated with the payment instrument

Format: billingAddress structure.

 

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.

 

Hope that helps answer your question.

 

Best,

Kalpesh Vaidya