Getting 400 While Calling /vcpe/v2/pan/enrollment
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Getting 400 While Calling /vcpe/v2/pan/enrollment
I'm trying to reach https://sandbox.api.visa.com/vcpe/v2/pan/enrollment but I'm getting a 400 error with the message "Expected input credential was not present". I'm able to reach the helloworld endpoint so my certs should be correct. I'm also using MLE for my payload.
Here is the response:
{
"responseStatus": {
"status": 400,
"code": "9125",
"severity": "ERROR",
"message": "Expected input credential was not present",
"info": ""
}
}
Code:
ng productID = "G";
String primaryAccountNumber = "xx01";
String referenceID = IdUtils.getRandomString(22);
String date = DateUtils.parseDateToStr("yyyyMMdd",DateUtils.getNowDate());
System.out.println("=======>> "+date+" referenceID:"+referenceID);
Enrollment enrollment = new Enrollment();
enrollment.setOperationType("UPDATE");
enrollment.setUpdateReferenceID(referenceID);
EnrollmentInfo enrollmentInfo = new EnrollmentInfo();
CardholderInfo cardholderInfo = new CardholderInfo();
cardholderInfo.setPrimaryAccountNumber(primaryAccountNumber);
enrollmentInfo.setCardholderInfo(cardholderInfo);
enrollment.setEnrollmentInfo(enrollmentInfo);
AccountLevelInfo accountLevelInfo = new AccountLevelInfo();
accountLevelInfo.setProductID(productID);
LinkEnrollment likeEnrollment = new LinkEnrollment();
Group group = new Group();
group.setAction("Add");
group.setGroupID("dnVgrLnzKICYNAM6PMBHbw");
group.setGroupType("LOC");
group.setIsPrimaryAccount("");
likeEnrollment.setGroup(Arrays.asList(group));
accountLevelInfo.setLinkEnrollment(likeEnrollment);
RpinEnrollment rpinEnrollment = new RpinEnrollment();
rpinEnrollment.setAccountOpenDate(date);
rpinEnrollment.setAction("Add");
rpinEnrollment.setRpin("123456");
rpinEnrollment.setRpinEffectiveDate(date);
rpinEnrollment.setRpinIssuerRefNumber("684226");
accountLevelInfo.setRpinEnrollment(rpinEnrollment);
// ReplaceEnrollment replaceEnrollment = new ReplaceEnrollment();
// replaceEnrollment.setLinkReasonCode("L");
// replaceEnrollment.setUnlinkIndicator("");
// replaceEnrollment.setOldAccountNumber("xx");
// accountLevelInfo.setReplaceEnrollment(replaceEnrollment);
CustomerContactInfo customerContactInfo = new CustomerContactInfo();
Address address = new Address();
address.setZip("");
address.setCity("FC");
address.setLine1("123 main st");
address.setLine2("apt 1");
address.setState("CA");
address.setCompanyName("VISA TEST Inc");
customerContactInfo.setAction("Add");
customerContactInfo.setEmail("test001@adbc.com");
customerContactInfo.setAddress(address);
customerContactInfo.setLastName("Smith");
customerContactInfo.setFirstName("John");
customerContactInfo.setNamePrefix("Mr");
customerContactInfo.setNameSuffix("Sr");
customerContactInfo.setMobileNumber("1000012120");
customerContactInfo.setMiddleInitial("S");
customerContactInfo.setPrefMethodOfContact("M");
accountLevelInfo.setCustomerContactInfo(customerContactInfo);
enrollmentInfo.setAccountLevelInfo(accountLevelInfo);
enrollment.setEnrollmentInfo(enrollmentInfo);
String jsonBody = JSON.toJSONString(enrollment);
String url = "https://sandbox.api.visa.com/vcpe/v2/pan/enrollment";
Map<String,String> headers = new HashMap<>();
headers.put("Content-Type","application/json");
headers.put("Accept","application/json");
headers.put("X-Request-ID", enrollment.getUpdateReferenceID());
String res = VisaOkHttpUtils.postJSON(url, jsonBody, headers);
JSONObject resObject = JSONObject.parseObject(res);
JSONObject responseStatus = resObject.getJSONObject("responseStatus");
if (responseStatus.getInteger("code")==200){
System.out.println(res);
}else{
System.err.println(responseStatus.getString("message"));
}
Request Header:
{
Accept=application/json,
X-Request-ID=F6xd0YdOcFr2H0vMJZBsAk,
Content-Type=application/json,
Authorization=Basic S1BHSk1UXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}
Request Body:
{
"enrollmentInfo": {
"accountLevelInfo": {
"customerContactInfo": {
"action": "Add",
"address": {
"city": "FC",
"companyName": "VISA TEST Inc",
"line1": "123 main st",
"line2": "apt 1",
"state": "CA",
"zip": ""
},
"email": "test001@adbc.com",
"firstName": "John",
"lastName": "Smith",
"middleInitial": "S",
"mobileNumber": "1000012120",
"namePrefix": "Mr",
"nameSuffix": "Sr",
"prefMethodOfContact": "M"
},
"linkEnrollment": {
"group": [{
"action": "Add",
"groupID": "dnVgrLnzKICYNAM6PMBHbw",
"groupType": "LOC",
"isPrimaryAccount": ""
}]
},
"productID": "G",
"rpinEnrollment": {
"accountOpenDate": "20240118",
"action": "Add",
"rpin": "123456",
"rpinEffectiveDate": "20240118",
"rpinIssuerRefNumber": "684226"
}
},
"cardholderInfo": {
"primaryAccountNumber": "xx01"
}
},
"operationType": "UPDATE",
"updateReferenceID": "F6xd0YdOcFr2H0vMJZBsAk"
}
Response Header:
x-correlation-id:1705544507_609_1022119580_-54d479d6b66_VDP_Ws
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Getting 400 While Calling /vcpe/v2/pan/enrollment
Hi @mifapay, Thank you for reaching out! One of our agents will look into this and get back to you soon. Until then, if any community members know a solution, please feel free to respond in this thread.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Getting 400 While Calling /vcpe/v2/pan/enrollment
{
"code": "NPPS003",
"message": "Internal error occured",
"status": "INTERNAL_SERVER_ERROR"
}
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Getting 400 While Calling /vcpe/v2/pan/enrollment
Hi @mifapay,
To investigate, please provide the following information:
1. End Point
2. Request Header
3. Request Body
4. Response Header (include the x-correlation-id)
5. Response Body
You can find the x-correlation-id in the response header.
Thanks,
Diana
Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Getting 400 While Calling /vcpe/v2/pan/enrollment
2. Request Header:
{Accept=application/json, X-Request-ID=qoVH2VWflacRKa3w22kJBq, keyId=3ac14999-fdf5-42fd-a203-4d44047b568c, Content-Type=application/json,Authorization:Basic S1BHSk1UVkQySVJDVUNDQ0ZIQTgyMXNwTExYV0NZMU1qLU1uWlNsZTJ3T2hoaWJ2MDpkNmVjMUVwNlBXNjdBVVFCSnpkQU9LMjczWnJNSFEyd0FnM0REc2k=}
3. Request Body:{"encData":"eyJlbmMiOiJBMTI4R0NNIiwiaWF0IjoxNzA1OTc1OTUxNjEzLCJhbGciOiJSU0EtT0FFUC0yNTYiLCJraWQiOiIzYWMxNDk5OS1mZGY1LTQyZmQtYTIwMy00ZDQ0MDQ3YjU2OGMifQ.RjUEdWETgBlpSNEATZdWQQZ8Ccd_ahztiafe7OnKcTPA2xe3-Liw9VZyWeehXmBjozyKmMpOwsZ1NUFsJ0J_ZE0dcPTuh1DWNwkl0Tvw_5lVUzVQL_7QMudUxpWWcz0k8hpmgrUZ_mOnwQeWNayNiEcYbWyrbs6FYJaVDgNwerv7vKAcCG9Vx3llBPE05fNi4TIL9PsJTwzMcZvDzOvoIV3_xueEAqJNhsE4HIpyixJFE96bT1yvQAPNvqSiqqp0S3PZFd59Wu-8jgWk4o6N0tonK7pYG0fDtTXokQW7hAyWmwPCr1p6IGK6aVlvw-w_Mqn8FsBW7-AN-G3cMTZFbw.fkycktaKr4eipLKS.-NV7MHvlPv48dVtq1b4cAje_y07qpRuMJlUYEi0DsXyQnW01NDxDWHcDw3P9S4mDf3_FybW_aGGrPt-xIuPLSx0pGSxtdeWZe5DSvv3u-JQI-z471nZaSLYgyLLfknF1DjqayZ7_7SthrY2XOSn60i3NlkbAnByTecNOOpAG3K-5QWZKqRlcpOrTzSNGcgkVYBBNw_LpBJS0wcTuWHvs5YnsmdAj-ZC6pItVWVJZxFUV7e0IRwHF81dnNKCy98jKi1uzaXcjEALqy072yZvNk3BkeoBaiSzAwOMlKXjCcAQaLZZ3AWu_q6I-VtLi-J3W3Juh7ASSH036blPnMb5GhcyvCPo6rVNwR_ylO232Mwt4fiD31cfvC7EbbuXJkyqMgxHgUbYjhObmNjAFIVCAp93IZLnu3VcDfdPkeYRQw9EHJdZeB5U21UExIKmfa8G7sMytGeGSc0D0GJBuKn4f-4kU8e_ao_UP19COZo614k95nvlykh9Oe8wiYqS4asfadX7kgDVwxwv4WHWgv8YKq7aOIHYGKnxlrwO1fILJfMh3Q5iD2DtweKWihqOVy0xT_YjgOGfidU_B8zkqypVi1etKNfztIYd7Hy7cmC2pGnNpu8MZFsc8hpD_dbR3DErH1i9XJ9d9LUrVds23poa-phUuo0YW0k2AwM7m9n4ujaRD7zlXBtYznh1IxIh4Pq7e2UPKX4ppa7tkkk_eD6dfDfehLsggQ0l9j_Y4W_C85ou5QJ8eittRy7bObdkauKSraYQ6-lLBTTf-te547n7tXlALB9udm4CHwU-JIUqHKdBcIN3nl9HCa1n03z5wL9ifHwnKNgeE44U27IOfEuY9zRPNHGFefLHIt0sVpBvOlvER4VqE8AnANnTiynccDo7Pe1uLHYHwZTtQ3Nzp9V1LZqJSPtC7hnjBCp_m11zPnNabSTM7KlBcs9aZ3ug3abhMxF2pcZQLQLEbhH55EQQCtBIaemPL8OMM-uoSXfTWQ2pME83-x_FIPJVsq1I5rg_cGKcTrIJDHdxJfiAwtcnIDMyEa1QF-PXxstQ0wtkb7E5kgg.Y6Oe-wCaih0UM5Z7xTr35g"}
4. Response Header (include the x-correlation-id)
Content-Type: application/json;charset=UTF-8
Content-Length: 86
Connection: keep-alive
X-SERVED-BY: -54d479d6n7
X-CORRELATION-ID: 1705975955_035_592742376_-54d479d6n7_VDP_WS
X-APP-STATUS: 500
X-ERROR-ORIGIN: 9300
Cache-Control: no-cache, no-store, must-revalidate
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 0
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000;includeSubdomains
Pragma: no-cache
Expires: -1
Content-Security-Policy-Report-Only: default-src 'self' https://*.v.me https://*.visa.com;script-src 'self' 'unsafe-inline' 'unsafe-eval' https://*.visa.com https://*.v.me;img-src 'self' https://*.v.me https://*.visa.com https://*.unica.com https://ad.doubleclick.net;style-src 'self' 'unsafe-inline' https://*.visa.com;object-src https://*.v.me https://*.visa.com data:;report-uri /logging/logCSPReport;
X-Content-Security-Policy-Report-Only: default-src 'self' https://*.v.me https://*.visa.com;script-src 'self' 'unsafe-inline' 'unsafe-eval' https://*.visa.com https://*.v.me;img-src 'self' https://*.v.me https://*.visa.com https://*.unica.com https://ad.doubleclick.net;style-src 'self' 'unsafe-inline' https://*.visa.com;object-src https://*.v.me https://*.visa.com data:;report-uri /logging/logCSPReport;
X-WebKit-CSP-Report-Only: default-src 'self' https://*.v.me https://*.visa.com;script-src 'self' 'unsafe-inline' 'unsafe-eval' https://*.visa.com https://*.v.me;img-src 'self' https://*.v.me https://*.visa.com https://*.unica.com https://ad.doubleclick.net;style-src 'self' 'unsafe-inline' https://*.visa.com;object-src https://*.v.me https://*.visa.com data:;report-uri /logging/logCSPReport;
5. Response Body
{"status":"INTERNAL_SERVER_ERROR","code":"NPPS003","message":"Internal error occured"}
You can find the x-correlation-id in the response header.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Getting 400 While Calling /vcpe/v2/pan/enrollment
Hi @mifapay,
Thanks for providing this information. I've logged incident INC17596815 for our engineering team to investigate. We'll get back soon.
Thanks,
Diana
Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Getting 400 While Calling /vcpe/v2/pan/enrollment
Hi @mifapay,
This API is not supported in sandbox. You'll need to submit a go live request to move into the certification environment for testing. You can refer to the Going Live guide for details.