To be able to reproduce the sample I showed in the webinar some things needs to be solved in the webshop sample application:
- Table names are now case sensitive in MySQL. In some applications SC is using uppercase for tablenames which needs to be set to lowercase
- The emailing is hard-coded in the source and needs to be changed to your settings
- The setglobal does not work as it has syntax errors somewhere. Just change the sc_redir and set the vars to be passed in there.
- Somewhere there is a last insert id() but the syntax is not correct.
These issues are due to the fact that the sample is old and probabely created upon an older edition of MySQL, but it should not be hard to solve.
To setup paypal, create a paypal account and verify that, then create a developer account. Then create your sandbox account which are needed for testing.
DO NOT RELY ON THE CONFIRMATION PAGE to store payment data. First the global variables are not set which you need to determine data of your customer, second this message only appears if the customer clicks on ‘go back to the webshop’.
ONLY PROCESS THE IPN page. This is a hidden page which is called by paypal. Within this process you must use the PayPal data to finalize your transaction. The globals contain address of your customer etc.
USE the hidden variable as this is needed for enhanced security, see the webinar for explanation (it will be available on the website of SC soon.
To test the IPN message it’s most likely that you need to deploy your application first. Paypal will call your application from the internet and it’s very likely that your pc is not listening
When you go into production **ALWAYS USE HTTPS **
If there are more questions, please put them here.
//
Thanks for the nice words of some followers. I’m aware that I’m not native English and talking in a microphone with only your screen in front of you is completely different than doing the same in a room full of people as I’m used to. But it was a good experience. If you have subjects you want me to present some next time, please let me know.