
jaceybennett
-
Posts
5 -
Joined
-
Last visited
Posts posted by jaceybennett
-
-
Teeny tiny typo:
Figure 7.5 shows "mysq.inc.php" instead of "mysql.inc.php".
-
On page 172, number 9, I had to change 'payment_status', 'receiver_email' and 'mc_gross' from === to == because the IPN would not work.
// Check for the right values:
if ( isset($_POST['payment_status'])
&& ($_POST['payment_status'] == 'Completed')
&& ($_POST['receiver_email'] == 'treasurer@nmsc.org')
&& ($_POST['mc_gross'] == 40.00)
&& ($_POST['mc_currency'] === 'USD')
&& (!empty($_POST['txn_id']))Because ipn.php is not a page you can test normally (like, with echo statements), how I troubleshooted this, was I created a text file on the server called 'ipn_troubleshooter.txt" and where I would normally put echo statements to find out where the code is broken, I instead made fwrite calls to the text file. If the file didn;t get updated, I knew the code was broken at the point I called the fwrite. In this case it was "&& ($_POST['payment_status'] === 'Completed')" that was broken, so I changed it to == and it worked, then I made may way through the others, fixing only the ones that were broken.
-
The second is on page 173 (Chapter Creating the IPN script)The query states: $q = "INSERT INTO orders (user_id, transaction_id, payment_status, payment_amount) VALUES ($uid, '$txn_id', '$status', $amount)";
However I believe user_id should be users_id
This error has not been added to the ERRATA page for this book. I looked for it there first, then decided to check the forums and found it here.
-
Once you've created your test accounts, you need to type "sandbox.paypal.com" into your address bar to get to the sandbox login. Otherwise, you're trying to log in to your regular PayPal account with your sandbox credentials, which clearly won't work.
Errata
in Effortless E-Commerce with PHP and MySQL (2nd Edition)
Posted
Error location:
Chapter 7, page 205
Incorrect text:
} else { //Development (print the error)
Corrected text:
} else { //Production (email the error)