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.
You can get the GetPaid product in two ways:
You can find manuals, tutorials and howto's on this site in the documentation section.
For more on how the internals of GetPaid work, please see the getpaid.core page on PyPI.
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 learn more.
- 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 interest.
- Tackle issues (for developers and non-developers!), make an extension, or add additional functionality,
- 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!
- Fix a couple template errors that broke compatibility with Chameleon. [davisagli]
- plone 4.1 compatibility [vangheem, fRiSi]
- Make the CreditCardTypeEnumerator be a bit more flexible in what it can adapt. [davisagli]
- Updated occurrences of five:implements to use the class directive. [davisagli]
- Added a IPaymentProcessor adapter factory with name=u'' to simplify getting the default payment processor. [davisagli]
- 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. [davisagli]
- Fix ordering of credit card fields in the CheckoutReviewAndPay form. [davisagli]
- Make sure amounts are formatted with 2 decimal digits in the cart listing. [davisagli]
Fixed UnicodeDecodeError for notification event subscriber and make_hidden_input function. [taito.horiuchi, fRiSi]
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 [fRiSi]
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) [fRiSi]
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) [fRiSi]
define a custom cell_formatter to be able to link orders and cart items in zc.table views (this fixes #292) [fRiSi]
use separate messageids for the checkout action and heading (this fixes #293) [fRiSi]
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. [cewing, alext]
- 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. [davisagli]
- Added conditional imports to test files and various fixes for Plone 4 compatibility. [taito.horiuchi]
- Added icon_expr to controlpanel.xml. [taito.horiuchi]
- Added missing dependency declarations for five.intid, ore.viewlet and yoma.batching. [davisagli]
- Updated templates for compatibility with Plone 4 in addition to Plone 3. [davisagli, azazel]
- Removed various bits of BBB code for Zope 2.9 and Plone 2.5, which have not been supported for a while already. [davisagli, azazel]
- 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) [davisagli]
- Added various conditional imports for Plone 4 compatibility. [taito.horiuchi, davisagli]
- 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 http://groups.google.com/group/getpaid-dev/browse_thread/thread/e55f34e1d509ceef [matt.halstead]
- 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) [mcgruff.scruff]
- Persisted and added Name on Card and Card Phone Num to orders listing viewlet. [ctxlken]
- Added last4 and transaction id columns to the orders listing viewlet. [asagliocco]
- 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 [horacio.duran]
- 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 [horacio.duran]
- 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.