Dear Andrew,
No problem at all. Ok, if you want to sell a single item, you just need to drag and drop the BuyNow button control to your web form and set the Business Email Address of your paypal account and the amont you want to charge with a item name. All of these properties can be set from the design mode property editor or Smart Tag GUI. You dont need any more button control or anything else. But please remember to place the slPPWPSICtrlForm4357.aspx file to the web application root folder.
Please visit this documentation page to learn aboutr IPN/PDT in a very easy way.
When you use our control, IPN can be considered as a Server Side event of the BuyNow Control. Same lik you handle Click event of a button control, you can attache IPN_Notified event handler method to the BuyNow button and then, all of the IPN data will be available to you from the IPN_Notified event argument object.
In order to use PDT, yes, you need to provide the PDT token to the control and you can do that from the design time smart tag.
PDT event can be handled in the same way, you need to attach PayPal_Returned event. And then, you will get PDT data from the event argument object.
Now, PDT is not INEVITABLE. IPN_Notified event will be fired as soon as the user pays for the item while he/she is in the PayPal website. It is done asyncrhonously. So, if the user close's his web browser just after the payment, IPN_Notfied event will be fired, but PayPal_Returned event will not be fired. In order to get the PayPal_Returned event fired, your user must not closes his browser before he is taken back to your website.
In a word, you can get the same transaction data from both of the events but IPN is Asynchronous which is confirmed to be fired, but PDT related event is Synchronous which may not fire if user closes his browser.
Moreover, in PayPal_Returned event, you can access the WebForm's GUI and display messages to your user but as IPN event is asynchronous, it wont mean anything if you set any GUI control's property in that event.
The suggession : USe IPN_Notified event to record the transaction to your database, send email receipts etc etc.....and use PayPal_Returned event to convey your user a "Thank You" message and let him/her know that he/she will receive email with the License Key or other purchase related mails etc..
Please do not hesitate to write us back if you need any more assistance.
Regards