Dynamic Registration 3.2 now supports
PayPal!
Hi everyone… Dynamic Registration 3.2 was released today. Some of the final testing we have been doing is directly related to the PayPal integration that was added to the 3.2 release. The PayPal integration is a major new feature in 3.2 and one that we will continue to review and enhance. The biggest benefit is that PayPal can always be talking to your registration form, and therefore able to manage the users subscription (based on security roles within your DNN site) and based on their subscription setup within PayPal. These enhancements are similar to the PayPal integration with Dynamic Forms but since the information is adding/updating the user and also interacting with SQL events I wanted to cover several topics related to the feature so that everyone has a good understanding for how it works, how you should implement it, and common tips/FAQ’s.
First, let’s cover some of the basics.
We designed the integration with PayPal to be as powerful as possible. This means that you should be able to provide as few or as many types of implementations with PayPal integrated, and with each implementation you could potentially have very separate forms of integration. Beyond just integration, you should be able to utilize all types of Dynamic Completion Events that correspond to your registration process and PayPal integration. So, a few examples should include:
- Do not actually create the user until payment is completed
- Add or remove the user from security role(s) when payment is completed
- Distribute email(s) to user or administrator for various payment notifications
- Perform any other Dynamic Completion Event (Emails, SQL statements, HTTP Posts, Adding or Removing User from role) – All based conditionally upon users responses to questions and also based conditionally upon PayPal response codes (Payment Completed, Payment Pending, etc...)
When PayPal integration is turned on:
- The user is redirected to PayPal based on the information and settings within your PayPal Payment gateway. This includes the PayPal login, sandbox or standard gateway, and payment information/additional parameters.
- Completion events do not get fire off initially
How do completed events get fired off?
- When PayPal is enabled Dynamic Completion Events need to be ‘linked’ to PayPal IPN codes. In short, this means that you will specify within the PayPal payment gateway section which ‘completion events’ should be fired off basically conditionally upon which IPN code PayPal will send to your registration form.
- For example: Maybe you want to setup a completion event to add the user to a security role, but you only want this to happen when the payment is completed. You would first create the completion event, and then you would ‘link it’ within the PayPal payment gateway section under ‘Form Completion Events / PayPal Payment Status’
- For example: Maybe you want to setup a ‘Payment failed’ email to be sent to the administrator if a subscription payment fails. You would first create the completion event, and then you would ‘link it’ within the PayPal payment gateway section under ‘Form Completion Events / PayPal Payment Status’
- The ‘Redirect Successfully’ and ‘Redirect After Cancel’ are status codes that should be directly related to Redirection completion events only. Why? These IPN status codes are actually what’s processed when the user returns back to the site from PayPal.
- These IPN status codes from PayPal should be setup with URL redirection events ONLY
- All other IPN status codes besides these two should NOT be setup as URL redirection events. Why? Well when PayPal sends the registration form a IPN status code such as ‘Pending’ or ‘Complete’, this is silent and separate from the user interaction. Therefore, there is no need to redirect the user besides its actually PayPal servers that are posting these IPN status codes
- You typically should always have a URL redirection event setup for both Success and Cancel redirect IPN status codes. These are used when the user is finished with the PayPal and clicks the link to go back to the site, or when the user clicks the cancel link
- Even though you might redirect a user to a ‘Success URL’ this doesn’t necessarily mean that the transaction was successful for complete. For example, if the user used an ECheck, the payment is probably in ‘Pending Status’ but the URL is still successful.
- If you do not setup a redirect successful or redirect cancel URL the user might not be redirected to a proper page after returning from PayPal
- Completion Events are still conditionally based on responses, for example if you specify that the user should check a box or answer a question a specific way, then this will be checked as well as the completion event / status link. Or if you have a completion event to be fired off for initial registration only, this setting will still apply.
We will be working on several tutorials over the coming weeks, a few demonstrations, and also cover some FAQ's on this topic.
If you have any questions please let us know!
-Chad
|