This module can be used by other modules to collect and track payments. Through this API, any module can provide a payment form and payments can be handled and tracked centrally.
A payment form is the result of any business rules that include a request or recommendation of payment. Examples include shopping cart checkout pages, donation forms, event registration pages, user registration forms, or tip jars.
A module using this payment API can be very simple or very complex, implementing any amount of business rules that result in a payment request. From there, Pay collects payment information and submits it through a configured payment backend. All payment activities, no matter what they're for, are stored in one place for tracking and reporting purposes.
Modules that implement payment forms include:
- Donate, which can be downloaded here.
- Webform Pay, which adds a Webform component to collect payments.
If you develop a new payment form module, please let us know so that we can add it to this list.
A payment form can support one or more payment methods, using the functionality of a payment method handler. Support for the following backends are available for Pay:
If you develop a new gateway, please let us know so that we can add it to this list. If you have developed a separate gateway module but do not have CVS access to drupal.org, please add it to an issue here. We will create a project on your behalf, and set it to "Seeking maintainer" status. This will give your code a place for support and ongoing improvements.
The following modules support or rely on transactions handled by the Payment API
- Secure Pages is recommended for any module that provides a form to accept credit card information on your site.
- Google Analytics for Payment API can report payment activity to Google Analytics.
If you develop a new module that uses or supports the Payment API, please let us know so that we can add it to this list.
Embedded payment forms
A payment form can be stand-alone, as on a shopping cart checkout page. But more often than not, you want to include payment capabilities in other forms. This might include the user registration form on a pay-to-register site, a donation suggestion on a webform submission, or collecting money on a signup form.
The Node Payments module, included with Pay, demonstrates the use of this functionality by allowing you to attach or create payment forms on any node type. This is useful for pledge drives and other donation campaigns.
Benefits of using a Payment API
There are lots of reasons to ask for money online, but the basic mechanism for exchanging money remains the same. Meanwhile, there are dozens of payment gateway services each with its own complicated API, that must be supported in order to handle the uses of all the sites out there. A single, stable payment acceptance mechanism allows module maintainers to focus on the fun part of collecting money.
It's also useful to have a single place to report on all payment transactions, no matter where they're from. By using a central payment mechanism, you can report on all transactions at once, whether they're shopping cart purchases, event registrations, donations, or anything else.
Supporting this module
Please contact the maintainer if you think this module will work for you, but you need additional help, advice and functionality not already included here. We can't provide support and new feature development for free, but you may able to get what you need from us for less than it would cost you to work around limitations or go a different route. That way, everybody wins!