PayPal and Subscription Plugins Updated
Monday, August 29 2011 @ 04:52 PM CDT
Contributed by: lgarner
The PayPal and Subscription plugins have been updated. Among other things, the integration between PayPal and other plugins has changed, so if you're using the Subscription plugin you'll need to update it at the same time.
The PayPal plugin sports a couple of significant new features and different ways of doing things....
New features in this version:
- Modular payment gateways. The plugin can now support different payment gateways and includes Amazon SimplePay as a proof-of-concept. Gateway configuration has moved from the global configuration system to the plugin's administration area. Each gateway can be configured to support one or more button types.
- Support for separate regular and micro-payment accounts (PayPal gateway only).
- Rather than using PayPal's shopping cart, the plugin now has its own shopping cart and optional workflows to collect billing and shipping information during checkout. If desired, the cart can be disabled by visiting the global configuration area.
When upgrading, the gateway-specific configuration items are moved from the global configuration to the PayPal gateway configuration. The receiver_email address is imported as both the production and sandbox business addresses, and the micro-payment addresses are left blank. The PayPal gateway is enabled while the Amazon gateway is disabled. When installing as a new plugin, neither gateway is enabled since neither will work until they're configured.
The Amazon gateway is a proof-of-concept for the modular gateway feature. This gateway is somewhat limited in its capabilities and you should be familiar with setting up an Amazon SimplePay account before using it. Among other things, SimplePay does not support tax, shipping or handling charges, and you must be registered as a non-profit in order to use the Donation button.
The Shopping Cart
The shopping cart is enabled by default and allows both anonymous and logged-in visitors to add items. When an logged-in user logs out, their cart is saved in the database. When an anonymous user logs in, their cart is merged with their saved cart, if any. The shopping cart is shown in a block in the upper left corner, by default.
When a user checks out, they may be prompted to enter billing and/or shipping information. For physical items, the gateway will typically collect shipping information so this may be unnecessary. In fact, if shipping data is returned in the IPN message it will be used instead of the shipping data entered before checkout. Also, billing information is probably not needed. If desired, the collection of billing and/or shipping data can be enabled in the "workflows" part of the plugin administration. Which addresses (street, city, state, etc.) are collected is controlled by the plugin configuration.
Working with Bad Behavior
For the PayPal gateway, the IPN url must be whitelisted for Bad Behavior.
The IPN URL has changed! The URL is now http://www.glfusion.org/paypal/ipn/paypal_ipn.php.
For the Amazon gateway, Bad Behavior must be disabled completely. It is not compatible with Amazon SimplePay.
- Attaching large files to e-mail messages may cause an out-of-memory error. For this reason, the default behaviour is to send a url with a unique token to allow the buyer to download the file instead of attaching it to the purchase receipt.
- For physical items, mixing fixed shipping rates with the PayPal profile is not supported. You should use one method or the other consistently. If any fixed shipping charge is included with the order, PayPal will ignore the item weight values.
The Subscription plugin update primarily concerns compatibility with the new PayPal plugin. The integration functions have changed, so this plugin needs to be updated at the same time as the PayPal plugin if it is used.
This version does have a couple of new features, though:
- Upgrade subscriptions. This is still a work in progress, and a bit of a kludge for now, but subscription products can be designated as upgrades to other products. For example, a "Gold" subscription can upgrade a "Silver" subscription. Upgrades can have separate prices for upgrading vs. purchasing new. Upgrading can also optionally extend the current subscription.
- Products can now have fixed periods, such as a calendar year.