You can refer to the screenshots I provided below for your convenience. When following the instructions in the guides provided below, make sure your follow the guide step by step and in its specific sequence.
Troubleshooting tips for error 400 - 9501 Invalid input found, please correct the input data.
You'll need to make sure that you're using the right credentials, such as username and password.
Adding to that, the error could also be caused by the Certificates not being sent with the request. Check File > Settings >SSL Settings and make sure the KeyStore and KeyStore Password are populated in Soap UI.
The Certificate Signing Request is a prerequisite to get your application certificate (cert.pem), which is required to establish a two-way SSL connection. Additionally, you will need a root certificate (VICA-SBX.pem) and your private key. Please refer to the Two-Way SSL guide and watch the Two-Way SSL Tutorial Video: https://developer.visa.com/pages/working-with-visa-apis/two-way-ssl#configuring_a_twoway_ssl_keystor...
You have two options to generate a Certificate Signing Request (CSR):
Have Visa generate a CSR for you (recommended)
Select "generate a CSR from me" when you create a new Visa Developer application. When you select this option, Visa will generate a CSR for you, and you will be prompted to save your private key file when it is downloaded through your browser. Once you save your private key, go to your Visa app page and download your client certificate (cert.pem), as well as your root certificate (VICA-SBX.pem). You will then have everything you need to create a key store.
Generate your own CSR
You can choose to create your own CSR. The Visa Developer Getting Started Guide provides detailed steps on how to generate CSRs: https://developer.visa.com/pages/working-with-visa-apis/two-way-ssl. Please note that you have to fill out all required fields in your Certificate Request. Also, note that the organization name and unit fields do not accept punctuation characters – your CSR will be deemed invalid if you use these characters. Once you have a CSR file, go ahead and create a Visa app, choose "Submit my own CSR", and upload your CSR file. During the CSR creation process, take note of the file containing your private key. Once you upload your CSR, go to your Visa app page, and download your client certificate (cert.pem), as well as your root certificate (VICA-SBX.pem). You will then have everything you need to create a key store.
Continuing to the Key Store
Once you have a private key and two certificate files in your local directory, you will need to combine them into a key store. You can decide whether to use Java Key Store (JKS) or PKCS (P12) key store, depending on what your development environment requires. There are sections in “Getting Started with Visa Developer” > “Two-Way SSL (Mutual Authentication)” (https://developer.visa.com/pages/working-with-visa-apis/two-way-ssl), that describe how to create each type of key store, please follow those steps. Note, that the root certificate is not needed for a P12 file, you can create a P12 file out of two files: private key and cert.pem
Troubleshooting Tips for error 400 Bad Request:
For Visa Developer Error Codes and Cause/Resolution, go here - https://developer.visa.com/pages/visa-developer-error-codes
This error could be due to a variety of reasons.
Check for the following:
- The url has a space after the ?.
- Whitespace issues, in general, anywhere in the url.
- Ideally the following fields need to be checked for correctness:
- The API endpoint you are trying to use only supports Two-Way SSL authentication. Please ensure you are not using any other token type.
- Invalid input found in the request payload.
If you continue to get this issue, please provide us the following information and correlation ID and we can further investigate the issue.
1. End Point
2. Request Header
3. Request Body
4. Response Header (include the x-correlation-id)
5. Response Body
Using SoapUI, you can find the x-correlation-id in the Raw Tab of the response header.
Please perform these steps and let us know your findings.
Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.