Rikki,

Doesn't appear to be anything wrong with your language file either - it was a bit of a longshot anyway.

I did a quick search on Google to see if there were any reported bugs for the IF statement in any paticular version of PHP. I didn't find anything but I didn't pursue it too hard.

I am no PHP expert but my understanding is that when you are testing for a numerical value you do not use quotes.

Code:
if ($testMode !== 0) {echo WP_TEST_HEADING . "<br /><br />";}
However if you are testing for a string value, ie text, you do use quotes

Code:
if ($testMode !== "zero") {echo WP_TEST_HEADING . "<br /><br />";}
You could try using quotes in case the value 0 is being presented as text rather than as a number although if that were the case I would expect the transaction to fail at WorldPay. (I've just looked this up in the WorldPay integration Guide which states " . . . Set this parameter to "0" or omit it for a live transaction." Perhaps it wouldn't fail then!?)

On re-reading the syntax for IF statements it would appear than the curly brackets surrounding the executable code is not strictly necessary if there is only one line of executable code so you could try:

Code:
if ($testMode !== "zero") echo WP_TEST_HEADING . "<br /><br />";
Make only one change to your code then test it. If it doesn't work change things back and try another change. Otherwise you can make an awful mess of things and you can easily lose track of what caused what.

If either of the above works let me know.

I'll reply to your PM tomorrow.

Regards,

Alan