SFCC Cartridge
Testing
Common Errors
13 min
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 in the forter cartridge 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 the below screenshot illustrates where the data can be mapped based on an example cybersource authorization response 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 below is a visualization of where these lines of code should be updated within the fortercreditcard (auth, rcc) function 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 below is a visualization of where these lines of code should be updated within the fortercreditcard (auth, rcc) function