Skip to content
Plugin to use Litle & Co. as a gateway
Ruby HTML Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
db
lib
spec
.gitignore
.travis.yml
Gemfile
Gemfile.head
Gemfile.lock
Jarfile
Jarfile.lock
LICENSE
NEWS
README.md
Rakefile
VERSION
config.ru
killbill-litle.gemspec
killbill.properties
litle.yml
pom.xml
release.sh

README.md

killbill-litle-plugin

Plugin to use Litle & Co. as a gateway.

Release builds are available on Maven Central with coordinates org.kill-bill.billing.plugin.ruby:litle-plugin.

Kill Bill compatibility

Plugin version Kill Bill version
2.x.y 0.14.z
3.x.y 0.16.z
4.x.y 0.18.z
5.x.y 0.20.z

Requirements

The plugin needs a database. The latest version of the schema can be found here.

Configuration

curl -v \
     -X POST \
     -u admin:password \
     -H 'X-Killbill-ApiKey: bob' \
     -H 'X-Killbill-ApiSecret: lazar' \
     -H 'X-Killbill-CreatedBy: admin' \
     -H 'Content-Type: text/plain' \
     -d ':litle:
  - :account_id: USD
    :merchant_id: "your-merchant-id-USD"
    :login: "your-username"
    :password: "your-password"
    :secure_page_url: "litle-secure-page-url"
    :paypage_id: "your-paypage-id-USD"
  - :account_id: EUR
    :merchant_id: "your-merchant-id-EUR"
    :login: "your-username"
    :password: "your-password"
    :secure_page_url: "litle-secure-page-url"
    :paypage_id: "your-paypage-id-EUR" 
:multicurrency:
  :USD: "USD"
  :EUR: "EUR"' \
     http://127.0.0.1:8080/1.0/kb/tenants/uploadPluginConfig/killbill-litle

multicurrency setting provides the mapping between transaction currency to account_id. The default currency is the first key in the multicurrency config, in the example above, it is "USD". If multicurrency is not present, the default account_id will be the first account_id in litle dictionary.

To go to production, create a litle.yml configuration file under /var/tmp/bundles/plugins/ruby/killbill-litle/x.y.z/ containing the following:

:litle:
  :test: false

Usage

You would typically implement Litle PayPage to tokenize credit cards.

After receiving the token from Litle, call:

curl -v \
     -X POST \
     -u admin:password \
     -H 'X-Killbill-ApiKey: bob' \
     -H 'X-Killbill-ApiSecret: lazar' \
     -H 'X-Killbill-CreatedBy: admin' \
     -H 'Content-Type: application/json' \
     -d '{
       "pluginName": "killbill-litle",
       "pluginInfo": {
         "properties": [{
           "key": "paypageRegistrationId",
           "value": "t3GER3BP3JHLASZe"
         }]
       }
     }' \
     "http://127.0.0.1:8080/1.0/kb/accounts/2a55045a-ce1d-4344-942d-b825536328f9/paymentMethods?isDefault=true"

An example implementation is exposed at:

http://127.0.0.1:8080/plugins/killbill-litle/form?kb_account_id=2a55045a-ce1d-4344-942d-b825536328f9&kb_tenant_id=a86d9fd1-718d-4178-a9eb-46c61aa2548f

Running the tests

In order to run the certification and integration tests, you will need a valid merchant id and credentials. You will also likely have received a URL to test with when signing up for the merchant id.

Then run the tests with:

LITLE_TEST=true \
LITLE_TEST_URL="<the URL>" \
LITLE_MERCHANT_ID="<your merchant id>" \
LITLE_LOGIN="<your login>" \
LITLE_PASSWORD="<your password>" \
bundle exec rspec
You can’t perform that action at this time.