In this post, we’re going to go through our list of open-source plugins for Kill Bill and give you all the information you need to dig deep into plugins.
But first, some exciting news!
Our software development partner, Wovenware, recently released a new open-source plugin to connect Kill Bill to Adyen, a popular and well-known payment gateway. Adyen supports a multitude of payment methods, from Amazon Pay to Zip. You can find the new plugin on GitHub here. To read the press release, go here.
Wovenware also developed and released an open-source payment plugin for Braintree last year. Wovenware is our recommended partner for any Kill Bill development work, such as plugins.
All of Our Open-Source Plugins
Now let’s address our existing plugins. This is a good time to gather them all together. They’re currently listed on our GitHub page.
Here is a list of our currently supported plugins:
- Analytics & Reporting
- Coupons/Entitlement
- Deposit
- Email Notifications
- Framework/Learning
- Payment Gateways
- Taxes
- Testing
Analytics & Reporting
GitHub | Readme | Documentation
Use this plugin to generate reports and view them via Kaui. The plugin listens to all events in Kill Bill and maintains a set of reporting tables in real-time for business intelligence.
Work with the canned reports or create your own custom reports with the local database. You can also create reports against external databases.
Coupons/Entitlement
GitHub | Readme | Documentation
This is a demo as opposed to a fully functional plugin. It uses the core entitlement system to intercept subscription operations (i.e., subscription creation) so you can inject your own subscription business logic. Use cases include coupons management or price overrides. It can also use the catalog price override functionality to override the price on the fly.
Deposit
This open-source plugin enables you to distribute a single payment against multiple invoices. A couple of use cases that come to mind include:
- Offline payment methods, such as wire transfers, in which finance personnel matches the details of the B2B customer’s wire (or ACH) deposit against the unpaid invoice. This is helpful for large organizations that settle in bulk several invoices with a single bank transfer.
- Online payment methods, such as credit cards. In this situation, the B2B customer pays several unpaid invoices via a single credit card transaction. The deposit plugin can settle the unpaid invoices.
Email Notifications
GitHub | Readme | Documentation
The Email Notifications plugin listens to Kill Bill events, and when those events occur, it sends out an email. These events include:
- Invoice creation
- Payment failure
- Payment (or refund) success
- Subscription cancellation
Additionally, the plugin can send an email to your customer about upcoming invoices, the timing of which is adjustable. You can also configure the Email Notifications plugin to handle other types of events.
Framework/Learning
Jump in and learn how to write open-source plugins for Kill Bill!
Hello World
GitHub | Readme | Documentation
The Hello World plugin shows how to do the following:
- Build an OSGI plugin using Maven
- Listen to Kill Bill events
- Call Kill Bill APIs from the plugin
- Register a custom HTTP servlet
GoCardless Example
GitHub | Readme | Documentation
GoCardless enables customers to pay for products and services from their bank accounts. We call it an “example” because its operations include setting up a mandate for a first-time customer and processing payments, but it does not process credits or refunds.
Payment Gateways
Our current open-source payment plugins are for Adyen, Braintree, Qualpay, and Stripe. For more information on payment plugins in general, see the Payment Plugin Guide.
Note: The Braintree and Adyen (Checkout) open-source plugins were developed by Wovenware, our development partner.
- Adyen (Classic): GitHub | Readme
- Adyen (Checkout): GitHub | Readme
- Braintree: GitHub | Readme
- Qualpay: GitHub | Readme
- Stripe: GitHub | Readme
Taxes
We did not design Kill Bill to handle tax, deciding instead to defer tax logic to plugins. We have two open-source tax plugins that can communicate with third-party tax calculation vendors: Avalara Avatax and the Simple Tax plugin.
Avatax
The Avatax plugin has two sets of APIs. One is for the full-featured Avalara AvaTax product. The other is for the Avalara TaxRates API. The TaxRates API is a free-to-use, no cost option for estimating sales tax rates.
You can request a free AvaTax account to use the TaxRates API. (Even after the trial period ends, you can still use it.)
Simple Tax
Developed by the Kill Bill community, you can use the Simple Tax plugin for fixed-rate taxes (for example, VAT).
Testing
Don’t worry – we’re not going to test you on your Kill Bill knowledge! Instead, we have a couple of plugins: one to test a catalog (assuming you are using a customized one) and another one to test payments.
Catalog Test
If you have decided to build your own catalog to work with Kill Bill’s subscription engine (along with the invoicing and payment logic), the open-source Catalog Test plugin is a starting point. It loads a static json catalog and serves that catalog through the CatalogPluginApi.
Payment Test
GitHub | Readme | Documentation
You can use the Payment Test plugin to test the Kill Bill Payment plugin API by enabling certain failure modes (insufficient funds, payment gateway errors, runtime error, etc.) on a payment call.
Learn More About Open-Source Plugins
That wraps up our list of open-source plugins for Kill Bill. If you want to learn more, the documentation is the best place to start: