Common Errors - Extensions

Common Errors

Common Errors

Below is a list of common SFCC Cartridge Errors and recommendations for resolving each error within your code base.

Rate Limit Exceeded

Ex Error

'An error occured in client "demandware" on site TEST - Physical Goods'
{  
  "orderID": "00000705",  
  "exception": {  
    "message": "",  
    "debugInfo": "Rate Limit Exceeded"  
  }  
}

What does this mean?

There were too many calls within the same time period (for the same order). The Rate limit should be updated in your cartridge. Go to: Administration > Operations > Services > Service Profiles > forter.prof - Details and change the value of “Max Rate Limit Calls” (and then double the value)

Http Connection Timeout

Ex Error

{  
  "message": "api.forter-secure.com:443 failed to respond",  
  "debugInfo": "NoHttpResponseException:api.forter-secure.com:443 failed to respond"  
}

What does this mean?

This is caused by limiting the length of the bands or the connection timeout. We recommend increasing the connection timeout. To increase your connection timeout, log into your business manager and go to: Administration > Operations > Services > Service Profiles and select the Profiles tab.
In the Profiles tab, select forter.prof

On the forter.prof page, you should see a field called "Connection Timeout (ms)" where you can increase your timeout.

Unknown dynamic property

Ex Error

'An error occurred in client "demandware" on site TEST - Physical Goods'
{  
  "orderID": "00000307",  
  "exception": {  
    "message": {  
      "message": "Unknown dynamic property 'authorize_net_authorization' for class 'class dw.object.ExtensibleObject$ExtensibleObjectAttributes'",  
      "fileName": "int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds",  
      "lineNumber": 21,  
      "name": "ReferenceError",  
      "stack": "\tat int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds:21 (ForterOrder)\n\tat int_forter/cartridge/controllers/ForterValidate.js:39 (validateOrder)\n\tat int_forter/cartridge/scripts/guard.js:149 (anonymous)\n\tat int_forter:pipelets/forter/ForterCallValidate.ds:22 (execute)\n",  
      "rhinoException": {}  
    },  
    "debugInfo": ""  
  }  
}

What does this mean?

The primary issue has to do with Auth Response from your payment gateway cartridge.
The Forter Order.ds is not receiving a valid object from the gateway response and as a result, we're not able to pass that object correctly to our Validation (the ForterValidation.js).

The Auth response object from your payment gateway can be configured in the ForterCreditCard() function in the ForterOrder.ds file in the cartridge.
This file can be found by going to: Cartridges>int_forter>cartridge>scripts>lib>forter>dto>forterOrder.ds
On line 21 of the below example, you'll see an authResponse variable that will reference the authorization from your payment Gateway.

The ForterCreditCard() function should start at around line 255 in the ForterOrder.ds file and should include some notation on where you can map the necessary auth response data.
Once this mapping has been updated, the ForterOrder.ds will be passed to the ForterValidation.js file. We recommend looking specifically at line 39 and make sure that this variable is being created. The ForterValidation.js file can be found by going to: Cartridges>int_forter>cartridge>controllers>ForterValidate.js

Bad Request

Ex Error

'An error occured in client "demandware" on site TEST - Physical Goods'
{  
  "orderID": "00002907",  
  "exception": {  
    "message": "Bad Request",  
    "debugInfo": "{\"status\":\"failed\",\"message\":\"Malformed request\",\"errorsCount\":1,\"errors\":[{\"path\":\"#/payment/0/creditCard/bin\",\"message\":\"String does not match pattern \[0-9\]{6}: xxxxxx\"}]}"  
  }  
}

What does this mean?

The formatting for the schema in the cartridge - particularly in in the forterOrder.ds needs to be updated. The line for the credit card bin within the Payment object needs to be updated.

Reason Code Error

Ex Error

"An error occured in client 'demandware' on site TEST - Physical Goods"
{  
  "orderID": "00023119",  
  "exception": {  
    "message": {  
      "message": "Cannot read property \"reasonCode\" from null",  
      "fileName": "int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds",  
      "lineNumber": 295,  
      "name": "TypeError",  
      "stack": "\tat int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds:295 (ForterCreditCard)\n\tat int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds:227 (ForterPayment)\n\tat int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds:97 (ForterOrder)\n\tat int_forter/cartridge/controllers/ForterValidate.js:39 (validateOrder)\n\tat int_forter/cartridge/scripts/guard.js:149 (anonymous)\n\tat int_forter:pipelets/forter/ForterCallValidate.ds:25 (execute)\n",  
      "rhinoException": {}  
    },  
    "debugInfo": ""  
  }  
}

What does this mean?

The processor Response code has not been properly mapped or included in the creditCard object.
To update this value go to the ForterCreditCard (auth, cc) function in the forterOrder.ds file and update the processorResponseCode field in the auth.decscendants('errors').length() > 1 if/else statement.
The path to this file can be found at: int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds

Avs from Null Error

Ex Error:

{  
  "orderID": "PRDAE01491491",  
  "exception": {  
    "message": {  
      "message": "Cannot read property \"avs\" from null",  
      "fileName": "int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds",  
      "lineNumber": 296,  
      "name": "TypeError",  
      "stack": "\tat int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds:296 (ForterCreditCard)\n\tat int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds:235 (ForterPayment)\n\tat int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds:105 (ForterOrder)\n\tat int_forter/cartridge/controllers/ForterValidate.js:39 (validateOrder)\n\tat int_forter/cartridge/scripts/guard.js:149 (anonymous)\n\tat int_forter:pipelets/forter/ForterCallValidate.ds:26 (execute)\n",  
      "rhinoException": {}  
    },  
    "debugInfo": ""  
  }  
}

What does this mean?

The AVS code is missing in the credit Card object. To update this value go to the ForterCreditCard (auth, cc) function in the forterOrder.ds file and update the this.verificationResults.avsFullResult = auth.avsResultCode.toString(); field.
The path to this file can be found at: int_forter/cartridge/scripts/lib/forter/dto/ForterOrder.ds