Version 3.5.0.40

Compare
Released on Jan 15, 2011, This version is designed from Scratch with better design pattern and architectures and Test Driven Development, so the possibility of bugs are very less and performance is way much better than older version.
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.
Resolved Bugs
  • The design time Wizard for Add to Cart button does not save properties for tab PayPal Page Display Settings, IPN and PayPal Return Settings
  • IPN is sent multiple times
  • PDT String Parser cannot parse the PDT data which is situated at the last line. So, e.CharSet in BuyNow Button, e.PaymentInfo.PaymentGross in UploadCompleteCart are not being set in PayPal_Returned event.
  • Additional Data Items Temporary Files dont get deleted automatically even after correct settings about deleteing files after X 'Hours'.
  • If a developer visits the auto generated or dedicated IPN Notification URL page directly from the browser for debugging purpose, the browser hangs.
  • The documentation links in the Design Time wizard is broken
  • Command event does not fire
  • Some documentation message in Design Time Button wizard is wrong.
Changed Interfaces
  • From IPN Event, PaymentDateTime now needs to be accessed from the sub property PaymentInfo; i.e. var paymentDateTime = e.PaymentInfo.PaymentDateTime; WHY ? Because, PaymentDateTime is available only when there is Payment Information available. For example, Subscription SignUp event does not return any PaymentDateTime data because there is no payment information available in Subscription SignUp IPN event.
  • slPPWPSICtrlForm4357.aspx file is changed, so you need to delete the old slPPWPSICtrlForm4357.aspx file and use the new slPPWPSICtrlForm4357.aspx file from the folder named Core Control Dll which is created by the new setup.exe
  • The Control NameSpace is changed. So, simply replacing the old dll with the new dll wont work. Check the upgrade instruction.
Upgrade Instruction
<div>1. Delete all entries of AppSettings Section in Web.Config file</div><div>that was created by the SpiceLogic PayPal Control.</div><div>2. Delete the old dll from your Bin folder.</div><div>3. Delete all SpiceLogic PayPal controls from your Visual Studio/Visual Web Developer Express Toolbox. </div><div>4. Replace the old slPPWPSICtrlForm4357.aspx file with the new slPPWPSICtrlForm4357.aspx file in your Web site / Web Application.</div><div>5. Open your ASPX file SOURCE view, </div><div>6. Delete the lines &lt;%@ Register Assembly="SpiceLogicPayPalStd" Namespace=..........</div><div>7. Comment out all Markups of Old SpiceLogic PayPal Control. </div><div>8. Now, Build your Website. Naturally you will get errors from your Code Behind file if you referenced the PayPal Control in your Code Behind file. Comment out those lines which are throwing error (as there is no PayPal Control in the ASPX page).</div><div>9. Now, build again and this time you should not get any error.</div><div>10. Now, add the new control assembly to your Visual Studio/Visual Web Developer Express Toolbox.</div><div>11. Drag and drop a Payment Button Control to your ASPX page in the Source View near where you had your old SpiceLogic PayPal Control Commented Out.</div><div>12. From the commented markup, copy the property values to your new instance of this PayPal control. Most of the properties will be accepted. Some redundent properties are removed from this new dll, so if you try to use those properties, you will get error. So, dont use any property that throws error.</div><div>13. Some property names are changed. For example, PayPalIPN.IPN_URL_IF_Different is now, PayPalIPN.Custom_IPN_Url. Also, PayPalReturn property contains Custom_CompletedReturnURL which was named by different phrase. You may ask our HelpDesk and we will guide you about this changes.</div><div>14. Visit the Clas Library Documentation from this link:</div><div><a target="_blank" href="http://documentation.spicelogic.com/DocResources/slAspNetPayPalControl/category-13/index.html">http://documentation.spicelogic.com/DocResources/slAspNetPayPalControl/category-13/index.html</a></div><div>This documentation now includes complete Class Diagrams so, print out a copy of the Class Diagram and keep that for your reference when you code.</div><div>15. Now, in your Code Behind file, </div><div>Add the following Import Statements:</div><div>C#:</div><div>using SpiceLogic.PayPalCtrlForWPS;</div><div>using SpiceLogic.PayPalCtrlForWPS.Core;</div><div>VB:</div><div>Imports SpiceLogic.PayPalCtrlForWPS</div><div>Imports SpiceLogic.PayPalCtrlForWPS.Core</div><div>Slowly uncomment the old references and follow the Visual Studio Intellisense to find out the new class members where errors are thrown. Also use the Class Diagram from the above documentation link to get the correct class member to use.</div><div>16. If you were using Encrypted Button generation feature, please set the Encrypted button settings again, as this control does not depend on Web.Config file to store these settings anymore, rather those settings are serialized in ASPX file.</div><div>17. Set PDT Authentication Token again as the old value is not there anymore in the Web.Config file. PDT token will not be saved there anymore.</div><div>18. You need to upgrade your License Key unless you just want to evaluate the control. The old license key wont work for this new version. Please use the following link to upgrade your License Key:</div><div><a target="_blank" href="https://www.spicelogic.com/CustomerFacility.aspx">https://www.spicelogic.com/CustomerFacility.aspx</a> </div><div>Once your license key is upgrades, set the license key to this control. The new license key will be stored in the Web.Config file. Other than License Key, no other property values will be stored in Web.Config file.</div><div>19. Finally, if you need any help, contact us at our HelpDesk, <a target="_blank" href="http://www.spicelogic.com/HelpDesk/">http://www.spicelogic.com/HelpDesk/</a></div>