PloneGetPaid is designed to make it easy to accept payments on your site. The
framework provides a simple way to get started with that, and a rich structure
for extending usage for specific needs.
GetPaid has been used in production since December 2007. Since then several
improvements have occurred to keep the product improving and evolving. You can
find a list of 15+ `Sites Using GetPaid`_, for examples of how it is used. For
more about the project, including features, updates, and ways to contribute,
please see our public web site, `www.plonegetpaid.com`_.
.. _`sites using GetPaid`: http://www.plonegetpaid.com/why/sites-using-getpaid
.. _`www.plonegetpaid.com`: http://www.plonegetpaid.com
You can get the GetPaid product in two ways:
* Adding GetPaid to Existing Site - Read the latest `installation
* Testing/Developing: There is also a `development buildout`_ for GetPaid. This
makes it easy for developers of GetPaid itself to get set up with everything
needed for the product with just a few commands.
.. _`installation instructions`: http://code.google.com/p/getpaid/wiki/InstallingGetPaid
.. _`development buildout`: http://code.google.com/p/getpaid/wiki/DevGettingStarted
You can find manuals, tutorials and howto's on this site in the documentation_ section.
.. _documentation: http://plone.org/products/getpaid/documentation
For more on how the internals of GetPaid work, please see the `getpaid.core`_ page on
.. _`getpaid.core`: http://pypi.python.org/pypi/getpaid.core
Documentation on integrating payment processors with GetPaid is available in the product.
How to Get Involved
We welcome participation in the project! You can:
* Join our `development mailing list`_ to contact others, discuss features, and
* Make a financial contribution or become a sponsor of the project (especially
if you have a feature you want in the system!) `Contact us`_ to express your
* Tackle issues_ (for developers and non-developers!), make an extension_, or
add additional functionality,
.. _`development mailing list`: http://groups.google.com/group/getpaid-dev
.. _`Contact us`: http://plonegetpaid.com/contact
.. _`issues`: http://code.google.com/p/getpaid/issues/list
.. _`extension`: http://www.plonegetpaid.com/features/future-extensions
* Kapil Thangavelu provided the role of chief architect of the base product.
* Christopher Johnson organized the project, collaborative process, and funding.
* Jon Stahl served as the project's NGO Liaison for the first release.
* Lucie Lejard played the role of release manager through 0.7.x.
* David Glick led the updates for Plone 4 compatibility.
* Brandon Rhodes provided review and refactoring of the payment processor interfaces.
* Many others have contributed bugfixes and improvements.
Special thanks to our sponsors that helped us "social source" this project!
`ObjectRealms`_ `ifPeople`_ `Groundwire`_ `Contextual Corporation`_
`Trees for Life`_ `Totsie.com`_
.. _`ObjectRealms`: http://objectrealms.net
.. _`ifPeople`: http://www.ifpeople.net
.. _`Groundwire`: http://groundwire.org
.. _`Contextual Corporation`: http://contextualcorp.com
.. _`Trees for Life`: http://treesforlife.org
.. _`Totsie.com`: http://totsie.com
`Read more about our sponsors`_.
.. _`Read more about our sponsors`: http://plonegetpaid.com/sponsor/sponsors/view
- Fix a couple template errors that broke compatibility with Chameleon.
- plone 4.1 compatibility
- Make the CreditCardTypeEnumerator be a bit more flexible in what it can adapt.
- Updated occurrences of five:implements to use the ``class`` directive.
- Added a IPaymentProcessor adapter factory with name=u'' to simplify getting
the default payment processor.
- Now compatible with Zope 2.13 / Plone 4.1. Removed use of zope.app.zapi.
Updated formlib imports to work on Zope 2.13. Removed monkeypatch that
is no longer needed in supported versions of Zope.
- Fix ordering of credit card fields in the CheckoutReviewAndPay form.
- Make sure amounts are formatted with 2 decimal digits in the cart listing.
- Fixed UnicodeDecodeError for notification event subscriber and make_hidden_input function.
- i18n.sh now updates plonegetpaid-plone.pot and takes
actions.xml and portlets.xml into account, too.
since the translators of zh and da added their translations
manually which resulted in some ids being removed,
so i did not update those
- updated German translation [fRiSi]
- don't show the buy/donate/cart portlet when displaying the shopping cart
or checkout forms
(therefore added marker view IDontShowGetPaidPortlets)
- minor changes to the checkout-review-pay step so it does not require
credit card information to create the order.
(see the thread
`please review PloneGetPaid changes for a new paymentprocessor`
on the developer list)
- define a custom cell_formatter to be able to link orders and cart items
in zc.table views (this fixes #292)
- use separate messageids for the checkout action and heading (this fixes #293)
- do not include jquery in content-space-template since plone ships with
a newer version (this fixes #294)
- Update the cart formatter extra section to be rendered using a template.
- Added support for recurring payable items. If upgrading from an older
version of PloneGetPaid, you'll need to reinstall PloneGetPaid to add a new
portlet and action.
[jpg.rcom, davisagli, jesses, alext, cewing, larubbio]
- Added missing dependency declaration for getpaid.nullpayment.
- Added conditional imports to test files and various fixes for Plone 4
- Added icon_expr to controlpanel.xml.
- Added missing dependency declarations for five.intid, ore.viewlet and
- Updated templates for compatibility with Plone 4 in addition to Plone 3.
- Removed various bits of BBB code for Zope 2.9 and Plone 2.5, which have not
been supported for a while already.
- Removed registration of the Payable object tab as a Zope 3 browser menu
(which was BBB for Plone 2.5 and doesn't work with CMF 2.2)
- Added various conditional imports for Plone 4 compatibility.
- Rebundle again with upgraded setuptools
- Rebundle to fix missing files
- Add a workaround for free shipping bug (#274)
- Fix a broken test by updating the year
- Allow users to change the opt-in language through the settings panel. [larubbio]
- Add the new GetPaidSalesforceOrderRecorder to plugins.xml [larubbio]
- Add a new 'multishot' cart. Currently used with getpaid.formgen so sibling adapters can access the cart used for single page checkouts. [larubbio]
- Rollback the 'fix' for $0 shipping since it causes the shipping cost to be displayed to the user, but not charged.
- Add shipping cost to the new emails [larubbio]
- Fix an uninitialized mailer [larubbio]
- Allow the user to make changes to the emails that are sent out [larubbbio]
- Allow sending of emails on auth, charge and decline (I didn't see an event for refund) [larubbio]
- Manage Cart link in personal_bar changed from $object_url/@@getpaid-cart to $portal_url/@@getpaid-cart like in cart portlet [taito.horiuchi]
- Change the order of checkout buttons so the default is to continue through the pipeline [larubbio]
- Add a hacked 'fix' for $0 shipping bug when user moves backwards through the checkout pipeline [larubbio]
- Updated translations [larubbio]
- updated the way we get the version of the product, since there is no
more version file [lucielejard]
- removed version.txt and replaced it by the metadata.xml,
- made sure the version is up to date [lucielejard]
- Add getpaid.formgen and getpaid.SalesforcePloneFormGenAdapter to plugins [larubbio]
- Add variable amount donations [larubbio]
- Allow annotations on the shopping cart [larubbio]
- updated brazilian portuguese translation [rafaelcrocha]
- updated the code so that we make sure we get the site root when checking
out, otherwise we can't get the store settings
* added the inclusion of getpaid.payflowpro if it is installed [lucielejard]
* added a viewlet provider on thank you page (belowcartthankyou) [flejard]
* forced one of the shipping methods to be checked when buying a
shippable item [lucielejard]
* updated the portlet "add to cart" so that we can choose a quantity
of items to add, this fixes issue 123 [lucielejard]
* added a provider spot on the "review and pay" page to be able to
hook a viewlet to it
* Added 2 fixes (for when you use the shipping system):
* gave a default value to the order.shipments, because it is never
set up to anything otherwise and you can't access your order,
* fixed the way we calculate the total, so that we have float numbers
* fix: missing import for interface INamedOrderUtility [bruno.ripa]
* form update did not do as advertised - see
* fix: added view to check shippable contents [bruno.ripa]
* created "Checkout Options" management page to control whether
'Contact me with offers' is displayed on Checkout (fixes issue 184)
* Persisted and added Name on Card and Card Phone Num to orders listing
* Added last4 and transaction id columns to the orders listing viewlet.
* Persisted processor transaction id and last-4 digits of credit card to ZODB.
Also, modified order-summary.pt to present these two fields. [ctxlken]
* fix: #151 and some missing italian translations [bruno.ripa]
* Modified anon checkout test to create second browser object in order to
eliminate test failure due to non-existent Login in link after logout in
first browser object (similar to FireFox behavior that requires shutting
down browser to fully be logged out. [ctxlken]
* Provide a slightly longer example of how to integrate an existing
custom content type. [michael.dunstan]
* Added a howto for accessing getpaid properties from able object
* Added an option to give a name to the order templates to find them
easily after [horacio.duran]
* changed the zip_safe to be False [lucielejard]
* Finally the order management screens keeps the filter when paging,
rejoice. Also with tests, just in case. <-- this for trunk
* review doc and edit (remove uncertainty "xxx"). split off part to
development docs folder. [cjj.ifpeople]
* porting State widget work from 0.6 branch to here [javimansilla]
* Added general text documents to project root.
TODO: Brief introduction on what you do with files - including link to relevant help section.