In order to reproduce my findings, please follow the steps:
1. Create one main account on
http://developer.paypal.com/.
2. Follow their instructions and create two sandbox test accounts - one for buyer another for seller.
3. Log in as seller and go to Profile Instant Payment Notification Preferences Click on Edit and check the box under “Activate Instant Payment Notification” paragraph.
Make the “Notification URL address” field blank.
Click on “Save” and check if the Instant Payment Notification is ON
4. Unpack the sample from
http://www.kbsoft-group.com/Use_of_the_PayPal_payment_system_in_ASP.NET.htm to subfolder /paypal inside htdocs
Create an internal sub folder /paypal/Log if doesn’t exist.
5. Open web.config and change the strings according to your IP (or hostname)
- choose sandbox setting
- make sure that /paypal is valid server path (follows)
- change the following key key <add key="SendToReturnURL" value="false"/>,
6. Abyss Console: Host > Configure > ASP.NET Parameters, Add /paypal ; select 2.0
7. Run the server and address the application (ype the ip/paypal or hosname/paypal if is DNS registered)
!!!Make sure your server is available from internet!!! (D'ont use "localhost" or so)
8. Open another browser to confirm that you are still login to
http://developer.paypal.com/ . If not, just login again. (Otherwise, the paypal sandbox will ask you to do so at one point before payment and payment sequence will be interrupted)
9. Test one transaction (use buyer's account to pay !! Don't return to sellers page !!) and check the log file in /paypal/Log.
10. Repeat the same, but by using IIS
11. Compare the results. In my case for similar transactions, on last log line I have:
Abyss: Error in IPNHandler: Object reference not set to an instance of an object.
IIS: Success in IPNHandler: PaymentResponses created