MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

Solved! Go to solution
fredzilla
Helper

MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

I'm trying to use the nodejs sample in the Visa Sandbox environment. Once I got past the complex authentication mess I now at least get API responses. Unfortunately, they always say "Internal Application Error":

{
  "statusCode": 200,
  "body": {
    "merchantSearchServiceResponse": {
      "header": {
        "startIndex": "3",
        "numRecordsMatched": 0,
        "numRecordsReturned": 0,
        "requestMessageId": "252d9aaf",
        "messageDateTime": "2019-06-12T22:49:41.122",
        "responseMessageId": "64VDP121620190612224941122",
        "endIndex": "0"
      },
      "status": {
        "statusDescription": "Internal Application Error",
        "statusCode": "CDI120"
      }
    }
  },
  "headers": {
    "server": "nginx",
    "content-type": "application/json;charset=UTF-8",
    "content-length": "328",
    "x-served-by": "l55c014",
    "x-correlation-id": "1560379780_805_1664449040_l55c014_VDP_WS",
    "x-backside-transport": "OK OK,OK OK",
    "cache-control": "no-cache, no-store, must-revalidate,no-cache, no-store, max-age=0 ,no-cache, no-store, must-revalidate",
    "pragma": "no-cache,no-cache ,no-cache",
    "x-download-options": "noopen",
    "expires": "-1,Thu, 01 Jan 1970 00:00:00 GMT ,-1",
    "content-language": "en-US",
    "x-global-transaction-id": "1610785709",
    "x-app-status": "200",
    "x-frame-options": "SAMEORIGIN",
    "x-xss-protection": "1; mode=block",
    "x-content-type-options": "nosniff",
    "strict-transport-security": "max-age=2592000;includeSubdomains",
    "date": "Wed, 12 Jun 2019 22:49:42 GMT",
    "connection": "close"
  },
  "request": {
    "uri": {
      "protocol": "https:",
      "slashes": true,
      "auth": null,
      "host": "sandbox.api.visa.com",
      "port": 443,
      "hostname": "sandbox.api.visa.com",
      "hash": null,
      "search": null,
      "query": null,
      "pathname": "/merchantsearch/v1/search",
      "path": "/merchantsearch/v1/search",
      "href": "<a href="https://sandbox.api.visa.com/merchantsearch/v1/search" target="_blank">https://sandbox.api.visa.com/merchantsearch/v1/search</a>"
    },
    "method": "POST",
    "headers": {
      "User-Agent": "VDP_SampleCode_Nodejs",
      "Authorization": "Basic VTQySTBYWFhVT1dUT0dLN1Q1UjMyMXR5bjFKd29Malg2Z1JoWUEwMUMwTHpFM0VCMDpjQTBCbjc4ZXJBMU8wR3duNg==",
      "x-correlation-id": "3uRiiEcIp8YF_SC",
      "x-client-transaction-id": "2d87d6cc",
      "accept": "application/json",
      "content-type": "application/json",
      "content-length": 425
    }
  }
}
12 REPLIES 12
fredzilla
Helper

Re: MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

If we are unable to verify this API we will need to choose another provider.
Does anyone at Visa monitor these threads?

API_Products
Visa Developer Support Specialist

Re: MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

Hi @fredzilla,

 

Yes, someone at Visa does monitor the community forum threads, and that would include myself and some other colleagues. 🙂

 

Can you please confirm that you are usisng Test Data?

 

Please note, that when you create a test App in our sandbox you will receive test data in your App. The test data for your Visa Developer application is available in the Dashboard under test data in the left navigation, this will ensure that you are using valid data that has been provisioned for specific scenarios. You will basically have a table per API that is split into the Request and Response sections and the values on the Request section are meant to be populated in the payload with the intention of obtaining results specified in the Response section.
 
Sandbox data is limited to what is provided in the Test Data tables and is not integrated to the Visa Network and you cannot test real data in sandbox (refer to example screenshots on Test Data below). 

 

20190521 Test Data.jpg

 

20190613 Merchant Search Test Data.png


If the issue persists, to further 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

Using SoapUI, you can find the x-correlation-id in the Raw Tab of 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.

fredzilla
Helper

Re: MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

This API "only" accepts the Test Data that you provide?

fredzilla
Helper

Re: MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

I cannot possibly validate that the service is useful if I can only provide it with a single hard-coded query. This is dumb.

API_Products
Visa Developer Support Specialist

Re: MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

Hi @fredzilla,

 

Test data is used for sandbox. You will be able to use real data in the production environment.

 




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.

fredzilla
Helper

Re: MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

Still failing. Here's the parameters I'm sending:

{
  "x-client-transaction-id": "cb79f4ff",
  "Accept": "application/json",
  "Content-Type": "application/json",
  "Accept-Encoding": "gzip,deflate",
  "payload": {
    "responseAttrList": [
      "GNSTANDARD"
    ],
    "header": {
      "messageDateTime": "2019-06-17T09:33:37.585",
      "startIndex": "0",
      "requestMessageId": "Request_001"
    },
    "searchOptions": {
      "matchScore": "true",
      "proximity": [
        "merchantName"
      ],
      "wildCard": [
        "merchantName"
      ],
      "maxRecords": "5",
      "matchIndicators": "true"
    },
    "searchAttrList": {
      "acquirerCardAcceptorId": "424295031886",
      "acquiringBin": "476197",
      "businessRegistrationId": "386004447",
      "merchantPostalCode": "48858",
      "merchantCity": "Mount Pleasant",
      "merchantPhoneNumber": "19897747123",
      "merchantState": "MI",
      "merchantName": "cmu edctn materials cntr",
      "merchantStreetAddress": "802 industrial dr",
      "merchantUrl": "<a href="http://www.emc.cmich.edu/" target="_blank">http://www.emc.cmich.edu/</a>",
      "merchantCountryCode": "840"
    }
  }
}


BTW if we have to pass all of this information, what does the API do for us?

fredzilla
Helper

Re: MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

Kindly note that I am passing all of that curated test data and still seeing this error.

API_Products
Visa Developer Support Specialist

Re: MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

Hi @fredzilla,

 

I'm currently reviewing your questions and then I'll get back to you 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.

API_Products
Visa Developer Support Specialist

Re: MerchantAPI repeatedly returns "Internal Application Error" when called in Sandbox

Hi @fredzilla,

 

Please hold on... because I'm still working on getting the answer for you. Thanks!

 




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.