in reply to Re^2: failure: 400
in thread failure: 400

Your code, unedited tells you what's wrong:

marto@Shemp:~/code$ ./rubbish.pl Content-type: text/plain Useless use of a constant ("currency") in void context at ./rubbish.pl + line 25. Useless use of a constant ("USD") in void context at ./rubbish.pl line + 25. Useless use of a constant ("amount") in void context at ./rubbish.pl l +ine 25. Useless use of a constant ("500") in void context at ./rubbish.pl line + 25. Useless use of a constant ("description") in void context at ./rubbish +.pl line 25. Useless use of a constant ("hey") in void context at ./rubbish.pl line + 25. Useless use of a constant ("internal") in void context at ./rubbish.pl + line 25. Argument "Key" isn't numeric in subtraction (-) at ./rubbish.pl line 1 +3. Argument "Apiauth" isn't numeric in subtraction (-) at ./rubbish.pl li +ne 13. Argument "Nonce" isn't numeric in subtraction (-) at ./rubbish.pl line + 13. Argument "Apiauth" isn't numeric in subtraction (-) at ./rubbish.pl li +ne 13. Argument "Signature" isn't numeric in subtraction (-) at ./rubbish.pl +line 13. Argument "Apiauth" isn't numeric in subtraction (-) at ./rubbish.pl li +ne 13. failure: 400

We've been over the whole CGI development topic before, so I won't waste my time. Run things command line before trying them in the browser, if you are running things as CGI scripts learn how to debug them. Re read the responses to your previous posts, because this has all been explained to you before. Your inconsistent, illogical approach to problems, failure to take advice and not learning from your past experiences/mistakes are the fundamental issues.