Implemented Features
- Multiple Paypal Account Support is required.
- Additional Data Items support for Dedicated IPN Handler Control
- Get rid of the properties, "HandlerOption", PayPal_Return Option etc as these properties should be auto set if IPN_Notified / PayPal_Returned event is attached.
- The control needs to be updated for new html variables introduced by PayPal . i.e. Discount Rate, Discount Amount, etc.
- Add some more debugging information in IPN.ToString() including requiredTimeForNotificationVerification, requiredTimeForObjectCreation etc
- Color should be shown in the property editor in Design Time (Visual Studio) where a property type is a Color type.
- Need a boolean property that will determine wheather the control will let the hosting page's Page_Load event fire in an IPN Session.
- Need to get rid of the Dependency on Web.Config file for storing some sensitive property value.
- Make the Design Time Button Wizard more smart and comprehensive.
- Need a property for getting the Assembly Version information.
- Need a new Event name IPN_Exception with useful debug data as Event Arg in order to capture if there is any Exception thrown in IPN Session.
- Need a overload to SpiceHelper.SendMail() method which will take SMTP server info and Credentials.
- Add to cart button and Subscription button should have correct default values which would avoid any possible error is overlooked by developer.
- Need helper methods for switching Sandbox to PayPal Live or PayPal live to Sandbox target and all related configuration easily from a single line of code.
- Throw error if Business Email Address or Merchant ID is missing before reaching to PayPal website.
- Throw error with helpful message if Encrypted Button Generation is turned on, but Merchant ID is used instead of Merchant Email Address.
- Need a Property 'SubscriptionType' in IPN/PDT variable for Subscription transaction.
- Subscription Return Event Arg should be more focused for the Return Scenario of Subscription event.
- For Subscription PDT event, when, there is a FREE Trial offered by TrialAmount1, PDT status should not return FAIL, rather, it should return NO_PDT_Available.
- Instead of firing an Event for Common Subscription scenario, fire a dedicated event for Subscription Payment. Because, Subscription Payment event contains different IPN data than regular Subscription Events.
- Do not generate IPN notify url automatically when testing from LocalHost. Because, PayPal may disable IPN if many IPN requests are made for non existing URL.