killbill-litle 1.10.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.gitignore +4 -5
 - data/.travis.yml +22 -3
 - data/Gemfile +1 -1
 - data/Gemfile.head +5 -0
 - data/Gemfile.lock +129 -0
 - data/Jarfile +9 -6
 - data/Jarfile.lock +58 -0
 - data/LICENSE +201 -0
 - data/NEWS +3 -0
 - data/README.md +58 -98
 - data/Rakefile +2 -2
 - data/VERSION +1 -1
 - data/config.ru +1 -1
 - data/db/ddl.sql +32 -21
 - data/db/schema.rb +44 -32
 - data/killbill-litle.gemspec +20 -16
 - data/lib/litle.rb +82 -12
 - data/lib/litle/api.rb +144 -204
 - data/lib/litle/application.rb +96 -0
 - data/lib/litle/models/payment_method.rb +21 -0
 - data/lib/litle/models/response.rb +44 -0
 - data/lib/litle/models/transaction.rb +11 -0
 - data/lib/litle/private_api.rb +42 -13
 - data/lib/litle/views/paypage.erb +8 -5
 - data/litle.yml +33 -11
 - data/pom.xml +3 -2
 - data/release.sh +41 -21
 - data/spec/litle/base_plugin_spec.rb +35 -62
 - data/spec/litle/remote/certification_spec.rb +713 -0
 - data/spec/litle/remote/integration_spec.rb +97 -168
 - data/spec/spec_helper.rb +3 -16
 - metadata +102 -55
 - data/lib/litle/config/application.rb +0 -66
 - data/lib/litle/config/configuration.rb +0 -51
 - data/lib/litle/config/properties.rb +0 -23
 - data/lib/litle/litle/gateway.rb +0 -32
 - data/lib/litle/models/litle_payment_method.rb +0 -167
 - data/lib/litle/models/litle_response.rb +0 -199
 - data/lib/litle/models/litle_transaction.rb +0 -44
 - data/spec/litle/currency_conversion_spec.rb +0 -21
 - data/spec/litle/litle_payment_method_spec.rb +0 -95
 - data/spec/litle/litle_response_spec.rb +0 -91
 - data/spec/litle/utils_spec.rb +0 -22
 
    
        data/NEWS
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,125 +1,85 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            [](https://travis-ci.org/killbill/killbill-litle-plugin)
         
     | 
| 
       2 
     | 
    
         
            -
            [](https://codeclimate.com/github/killbill/killbill-litle-plugin)
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
1 
     | 
    
         
             
            killbill-litle-plugin
         
     | 
| 
       5 
2 
     | 
    
         
             
            =====================
         
     | 
| 
       6 
3 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
            Plugin to use Litle & Co. as a gateway.
         
     | 
| 
      
 4 
     | 
    
         
            +
            Plugin to use [Litle & Co.](https://www.litle.com/) as a gateway.
         
     | 
| 
       8 
5 
     | 
    
         | 
| 
       9 
6 
     | 
    
         
             
            Release builds are available on [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.kill-bill.billing.plugin.ruby%22%20AND%20a%3A%22litle-plugin%22) with coordinates `org.kill-bill.billing.plugin.ruby:litle-plugin`.
         
     | 
| 
       10 
7 
     | 
    
         | 
| 
      
 8 
     | 
    
         
            +
            Kill Bill compatibility
         
     | 
| 
      
 9 
     | 
    
         
            +
            -----------------------
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            | Plugin version | Kill Bill version |
         
     | 
| 
      
 12 
     | 
    
         
            +
            | -------------: | ----------------: |
         
     | 
| 
      
 13 
     | 
    
         
            +
            | 2.x.y          | 0.14.z            |
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       11 
15 
     | 
    
         
             
            Requirements
         
     | 
| 
       12 
16 
     | 
    
         
             
            ------------
         
     | 
| 
       13 
17 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
            The plugin needs a database. The latest version of the schema can be found here 
     | 
| 
      
 18 
     | 
    
         
            +
            The plugin needs a database. The latest version of the schema can be found [here](https://github.com/killbill/killbill-litle-plugin/blob/master/db/ddl.sql).
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            Configuration
         
     | 
| 
      
 21 
     | 
    
         
            +
            -------------
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            ```
         
     | 
| 
      
 24 
     | 
    
         
            +
            curl -v \
         
     | 
| 
      
 25 
     | 
    
         
            +
                 -X POST \
         
     | 
| 
      
 26 
     | 
    
         
            +
                 -u admin:password \
         
     | 
| 
      
 27 
     | 
    
         
            +
                 -H 'X-Killbill-ApiKey: bob' \
         
     | 
| 
      
 28 
     | 
    
         
            +
                 -H 'X-Killbill-ApiSecret: lazar' \
         
     | 
| 
      
 29 
     | 
    
         
            +
                 -H 'X-Killbill-CreatedBy: admin' \
         
     | 
| 
      
 30 
     | 
    
         
            +
                 -H 'Content-Type: text/plain' \
         
     | 
| 
      
 31 
     | 
    
         
            +
                 -d ':litle:
         
     | 
| 
      
 32 
     | 
    
         
            +
              - :account_id: USD
         
     | 
| 
      
 33 
     | 
    
         
            +
                :merchant_id: "your-merchant-id-USD"
         
     | 
| 
      
 34 
     | 
    
         
            +
                :username: "your-username"
         
     | 
| 
      
 35 
     | 
    
         
            +
                :password: "your-password"
         
     | 
| 
      
 36 
     | 
    
         
            +
                :secure_page_url: "litle-secure-page-url"
         
     | 
| 
      
 37 
     | 
    
         
            +
                :paypage_id: "your-paypage-id-USD"
         
     | 
| 
      
 38 
     | 
    
         
            +
              - :account_id: EUR
         
     | 
| 
      
 39 
     | 
    
         
            +
                :merchant_id: "your-merchant-id-EUR"
         
     | 
| 
      
 40 
     | 
    
         
            +
                :username: "your-username"
         
     | 
| 
      
 41 
     | 
    
         
            +
                :password: "your-password"
         
     | 
| 
      
 42 
     | 
    
         
            +
                :secure_page_url: "litle-secure-page-url"
         
     | 
| 
      
 43 
     | 
    
         
            +
                :paypage_id: "your-paypage-id-EUR"' \
         
     | 
| 
      
 44 
     | 
    
         
            +
                 http://127.0.0.1:8080/1.0/kb/tenants/uploadPluginConfig/killbill-litle
         
     | 
| 
      
 45 
     | 
    
         
            +
            ```
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            To go to production, create a `litle.yml` configuration file under `/var/tmp/bundles/plugins/ruby/killbill-litle/x.y.z/` containing the following:
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            ```
         
     | 
| 
      
 50 
     | 
    
         
            +
            :litle:
         
     | 
| 
      
 51 
     | 
    
         
            +
              :test: false
         
     | 
| 
      
 52 
     | 
    
         
            +
            ```
         
     | 
| 
       15 
53 
     | 
    
         | 
| 
       16 
54 
     | 
    
         
             
            Usage
         
     | 
| 
       17 
55 
     | 
    
         
             
            -----
         
     | 
| 
       18 
56 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 57 
     | 
    
         
            +
            You would typically implement [Litle PayPage](https://www.litle.com/images/uploads/Paypage.pdf) to tokenize credit cards. 
         
     | 
| 
       20 
58 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
      
 59 
     | 
    
         
            +
            After receiving the token from Litle, call:
         
     | 
| 
       22 
60 
     | 
    
         | 
| 
       23 
61 
     | 
    
         
             
            ```
         
     | 
| 
       24 
62 
     | 
    
         
             
            curl -v \
         
     | 
| 
       25 
63 
     | 
    
         
             
                 -X POST \
         
     | 
| 
       26 
     | 
    
         
            -
                 - 
     | 
| 
       27 
     | 
    
         
            -
                 -H  
     | 
| 
       28 
     | 
    
         
            -
                 -H  
     | 
| 
       29 
     | 
    
         
            -
                  
     | 
| 
      
 64 
     | 
    
         
            +
                 -u admin:password \
         
     | 
| 
      
 65 
     | 
    
         
            +
                 -H 'X-Killbill-ApiKey: bob' \
         
     | 
| 
      
 66 
     | 
    
         
            +
                 -H 'X-Killbill-ApiSecret: lazar' \
         
     | 
| 
      
 67 
     | 
    
         
            +
                 -H 'X-Killbill-CreatedBy: admin' \
         
     | 
| 
      
 68 
     | 
    
         
            +
                 -H 'Content-Type: application/json' \
         
     | 
| 
      
 69 
     | 
    
         
            +
                 -d '{
         
     | 
| 
       30 
70 
     | 
    
         
             
                   "pluginName": "killbill-litle",
         
     | 
| 
       31 
71 
     | 
    
         
             
                   "pluginInfo": {
         
     | 
| 
       32 
     | 
    
         
            -
                     "properties": [
         
     | 
| 
       33 
     | 
    
         
            -
                        
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
                       },
         
     | 
| 
       37 
     | 
    
         
            -
                       {
         
     | 
| 
       38 
     | 
    
         
            -
                         "key": "ccFirstName",
         
     | 
| 
       39 
     | 
    
         
            -
                         "value": "John"
         
     | 
| 
       40 
     | 
    
         
            -
                       },
         
     | 
| 
       41 
     | 
    
         
            -
                       {
         
     | 
| 
       42 
     | 
    
         
            -
                         "key": "ccLastName",
         
     | 
| 
       43 
     | 
    
         
            -
                         "value": "Doe"
         
     | 
| 
       44 
     | 
    
         
            -
                       },
         
     | 
| 
       45 
     | 
    
         
            -
                       {
         
     | 
| 
       46 
     | 
    
         
            -
                         "key": "ccType",
         
     | 
| 
       47 
     | 
    
         
            -
                         "value": "VISA"
         
     | 
| 
       48 
     | 
    
         
            -
                       },
         
     | 
| 
       49 
     | 
    
         
            -
                       {
         
     | 
| 
       50 
     | 
    
         
            -
                         "key": "ccExpMonth",
         
     | 
| 
       51 
     | 
    
         
            -
                         "value": 12
         
     | 
| 
       52 
     | 
    
         
            -
                       },
         
     | 
| 
       53 
     | 
    
         
            -
                       {
         
     | 
| 
       54 
     | 
    
         
            -
                         "key": "ccExpYear",
         
     | 
| 
       55 
     | 
    
         
            -
                         "value": 2015
         
     | 
| 
       56 
     | 
    
         
            -
                       },
         
     | 
| 
       57 
     | 
    
         
            -
                       {
         
     | 
| 
       58 
     | 
    
         
            -
                         "key": "ccLast4",
         
     | 
| 
       59 
     | 
    
         
            -
                         "value": 1234
         
     | 
| 
       60 
     | 
    
         
            -
                       },
         
     | 
| 
       61 
     | 
    
         
            -
                       {
         
     | 
| 
       62 
     | 
    
         
            -
                         "key": "address1",
         
     | 
| 
       63 
     | 
    
         
            -
                         "value": "5, oakriu road"
         
     | 
| 
       64 
     | 
    
         
            -
                       },
         
     | 
| 
       65 
     | 
    
         
            -
                       {
         
     | 
| 
       66 
     | 
    
         
            -
                         "key": "address2",
         
     | 
| 
       67 
     | 
    
         
            -
                         "value": "apt. 298"
         
     | 
| 
       68 
     | 
    
         
            -
                       },
         
     | 
| 
       69 
     | 
    
         
            -
                       {
         
     | 
| 
       70 
     | 
    
         
            -
                         "key": "city",
         
     | 
| 
       71 
     | 
    
         
            -
                         "value": "Gdio Foia"
         
     | 
| 
       72 
     | 
    
         
            -
                       },
         
     | 
| 
       73 
     | 
    
         
            -
                       {
         
     | 
| 
       74 
     | 
    
         
            -
                         "key": "state",
         
     | 
| 
       75 
     | 
    
         
            -
                         "value": "FL"
         
     | 
| 
       76 
     | 
    
         
            -
                       },
         
     | 
| 
       77 
     | 
    
         
            -
                       {
         
     | 
| 
       78 
     | 
    
         
            -
                         "key": "zip",
         
     | 
| 
       79 
     | 
    
         
            -
                         "value": "49302"
         
     | 
| 
       80 
     | 
    
         
            -
                       },
         
     | 
| 
       81 
     | 
    
         
            -
                       {
         
     | 
| 
       82 
     | 
    
         
            -
                         "key": "country",
         
     | 
| 
       83 
     | 
    
         
            -
                         "value": "IFP"
         
     | 
| 
       84 
     | 
    
         
            -
                       }
         
     | 
| 
       85 
     | 
    
         
            -
                     ]
         
     | 
| 
      
 72 
     | 
    
         
            +
                     "properties": [{
         
     | 
| 
      
 73 
     | 
    
         
            +
                       "key": "paypageRegistrationId",
         
     | 
| 
      
 74 
     | 
    
         
            +
                       "value": "t3GER3BP3JHLASZe"
         
     | 
| 
      
 75 
     | 
    
         
            +
                     }]
         
     | 
| 
       86 
76 
     | 
    
         
             
                   }
         
     | 
| 
       87 
77 
     | 
    
         
             
                 }' \
         
     | 
| 
       88 
     | 
    
         
            -
                 "http 
     | 
| 
      
 78 
     | 
    
         
            +
                 "http://127.0.0.1:8080/1.0/kb/accounts/2a55045a-ce1d-4344-942d-b825536328f9/paymentMethods?isDefault=true"
         
     | 
| 
       89 
79 
     | 
    
         
             
            ```
         
     | 
| 
       90 
80 
     | 
    
         | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
       92 
     | 
    
         
            -
            -------------
         
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
       94 
     | 
    
         
            -
            The plugin expects a `litle.yml` configuration file containing the following:
         
     | 
| 
      
 81 
     | 
    
         
            +
            An example implementation is exposed at:
         
     | 
| 
       95 
82 
     | 
    
         | 
| 
       96 
83 
     | 
    
         
             
            ```
         
     | 
| 
       97 
     | 
    
         
            -
            :litle 
     | 
| 
       98 
     | 
    
         
            -
              :merchant_id:
         
     | 
| 
       99 
     | 
    
         
            -
                :USD: 'your-merchant-id-USD'  
         
     | 
| 
       100 
     | 
    
         
            -
                :EUR: 'your-merchant-id-EURO'
         
     | 
| 
       101 
     | 
    
         
            -
              :password: 'your-password'
         
     | 
| 
       102 
     | 
    
         
            -
              :username: 'your-username'
         
     | 
| 
       103 
     | 
    
         
            -
              # Optional, if you are using PayPage
         
     | 
| 
       104 
     | 
    
         
            -
              :secure_page_url: 'litle-secure-page-url'
         
     | 
| 
       105 
     | 
    
         
            -
              :paypage_id:
         
     | 
| 
       106 
     | 
    
         
            -
                :USD: 'litle-paypage-id-USD'
         
     | 
| 
       107 
     | 
    
         
            -
                :EUR: 'litle-paypage-id-EURO'
         
     | 
| 
       108 
     | 
    
         
            -
              :log_file: '/var/tmp/litle.log'
         
     | 
| 
       109 
     | 
    
         
            -
              # Switch to false for production
         
     | 
| 
       110 
     | 
    
         
            -
              :test: true
         
     | 
| 
       111 
     | 
    
         
            -
             
     | 
| 
       112 
     | 
    
         
            -
            :database:
         
     | 
| 
       113 
     | 
    
         
            -
              :adapter: 'sqlite3'
         
     | 
| 
       114 
     | 
    
         
            -
              :database: 'test.db'
         
     | 
| 
       115 
     | 
    
         
            -
            # For MySQL
         
     | 
| 
       116 
     | 
    
         
            -
            #  :adapter: 'jdbc'
         
     | 
| 
       117 
     | 
    
         
            -
            #  :username: 'your-username'
         
     | 
| 
       118 
     | 
    
         
            -
            #  :password: 'your-password'
         
     | 
| 
       119 
     | 
    
         
            -
            #  :driver: 'com.mysql.jdbc.Driver'
         
     | 
| 
       120 
     | 
    
         
            -
            #  :url: 'jdbc:mysql://127.0.0.1:3306/your-database'
         
     | 
| 
      
 84 
     | 
    
         
            +
            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
         
     | 
| 
       121 
85 
     | 
    
         
             
            ```
         
     | 
| 
       122 
     | 
    
         
            -
             
     | 
| 
       123 
     | 
    
         
            -
            By default, the plugin will look at the plugin directory root (where `killbill.properties` is located) to find this file.
         
     | 
| 
       124 
     | 
    
         
            -
            Alternatively, set the Kill Bill system property `-Dorg.killbill.billing.osgi.bundles.jruby.conf.dir=/my/directory` to specify another location.
         
     | 
| 
       125 
     | 
    
         
            -
             
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -7,14 +7,14 @@ Bundler::GemHelper.install_tasks 
     | 
|
| 
       7 
7 
     | 
    
         
             
            # Install test tasks
         
     | 
| 
       8 
8 
     | 
    
         
             
            require 'rspec/core/rake_task'
         
     | 
| 
       9 
9 
     | 
    
         
             
            namespace :test do
         
     | 
| 
       10 
     | 
    
         
            -
              desc  
     | 
| 
      
 10 
     | 
    
         
            +
              desc 'Run RSpec tests'
         
     | 
| 
       11 
11 
     | 
    
         
             
              RSpec::Core::RakeTask.new do |task|
         
     | 
| 
       12 
12 
     | 
    
         
             
                task.name = 'spec'
         
     | 
| 
       13 
13 
     | 
    
         
             
                task.pattern = './spec/*/*_spec.rb'
         
     | 
| 
       14 
14 
     | 
    
         
             
              end
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
              namespace :remote do
         
     | 
| 
       17 
     | 
    
         
            -
                desc  
     | 
| 
      
 17 
     | 
    
         
            +
                desc 'Run RSpec remote tests'
         
     | 
| 
       18 
18 
     | 
    
         
             
                RSpec::Core::RakeTask.new do |task|
         
     | 
| 
       19 
19 
     | 
    
         
             
                  task.name = 'spec'
         
     | 
| 
       20 
20 
     | 
    
         
             
                  task.pattern = './spec/*/remote/*_spec.rb'
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            2.0.0
         
     | 
    
        data/config.ru
    CHANGED
    
    
    
        data/db/ddl.sql
    CHANGED
    
    | 
         @@ -1,14 +1,19 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            CREATE TABLE `litle_payment_methods` (
         
     | 
| 
       2 
2 
     | 
    
         
             
              `id` int(11) NOT NULL AUTO_INCREMENT,
         
     | 
| 
       3 
     | 
    
         
            -
              `kb_account_id` varchar(255) NOT NULL,
         
     | 
| 
       4 
3 
     | 
    
         
             
              `kb_payment_method_id` varchar(255) DEFAULT NULL,
         
     | 
| 
       5 
     | 
    
         
            -
              ` 
     | 
| 
      
 4 
     | 
    
         
            +
              `token` varchar(255) DEFAULT NULL,
         
     | 
| 
       6 
5 
     | 
    
         
             
              `cc_first_name` varchar(255) DEFAULT NULL,
         
     | 
| 
       7 
6 
     | 
    
         
             
              `cc_last_name` varchar(255) DEFAULT NULL,
         
     | 
| 
       8 
7 
     | 
    
         
             
              `cc_type` varchar(255) DEFAULT NULL,
         
     | 
| 
       9 
     | 
    
         
            -
              `cc_exp_month`  
     | 
| 
       10 
     | 
    
         
            -
              `cc_exp_year`  
     | 
| 
       11 
     | 
    
         
            -
              ` 
     | 
| 
      
 8 
     | 
    
         
            +
              `cc_exp_month` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 9 
     | 
    
         
            +
              `cc_exp_year` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 10 
     | 
    
         
            +
              `cc_number` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 11 
     | 
    
         
            +
              `cc_last_4` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 12 
     | 
    
         
            +
              `cc_start_month` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 13 
     | 
    
         
            +
              `cc_start_year` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 14 
     | 
    
         
            +
              `cc_issue_number` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 15 
     | 
    
         
            +
              `cc_verification_value` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 16 
     | 
    
         
            +
              `cc_track_data` varchar(255) DEFAULT NULL,
         
     | 
| 
       12 
17 
     | 
    
         
             
              `address1` varchar(255) DEFAULT NULL,
         
     | 
| 
       13 
18 
     | 
    
         
             
              `address2` varchar(255) DEFAULT NULL,
         
     | 
| 
       14 
19 
     | 
    
         
             
              `city` varchar(255) DEFAULT NULL,
         
     | 
| 
         @@ -18,6 +23,8 @@ CREATE TABLE `litle_payment_methods` ( 
     | 
|
| 
       18 
23 
     | 
    
         
             
              `is_deleted` tinyint(1) NOT NULL DEFAULT '0',
         
     | 
| 
       19 
24 
     | 
    
         
             
              `created_at` datetime NOT NULL,
         
     | 
| 
       20 
25 
     | 
    
         
             
              `updated_at` datetime NOT NULL,
         
     | 
| 
      
 26 
     | 
    
         
            +
              `kb_account_id` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 27 
     | 
    
         
            +
              `kb_tenant_id` varchar(255) DEFAULT NULL,
         
     | 
| 
       21 
28 
     | 
    
         
             
              PRIMARY KEY (`id`),
         
     | 
| 
       22 
29 
     | 
    
         
             
              KEY `index_litle_payment_methods_on_kb_account_id` (`kb_account_id`),
         
     | 
| 
       23 
30 
     | 
    
         
             
              KEY `index_litle_payment_methods_on_kb_payment_method_id` (`kb_payment_method_id`)
         
     | 
| 
         @@ -28,11 +35,16 @@ CREATE TABLE `litle_transactions` ( 
     | 
|
| 
       28 
35 
     | 
    
         
             
              `litle_response_id` int(11) NOT NULL,
         
     | 
| 
       29 
36 
     | 
    
         
             
              `api_call` varchar(255) NOT NULL,
         
     | 
| 
       30 
37 
     | 
    
         
             
              `kb_payment_id` varchar(255) NOT NULL,
         
     | 
| 
       31 
     | 
    
         
            -
              ` 
     | 
| 
       32 
     | 
    
         
            -
              ` 
     | 
| 
       33 
     | 
    
         
            -
              ` 
     | 
| 
      
 38 
     | 
    
         
            +
              `kb_payment_transaction_id` varchar(255) NOT NULL,
         
     | 
| 
      
 39 
     | 
    
         
            +
              `transaction_type` varchar(255) NOT NULL,
         
     | 
| 
      
 40 
     | 
    
         
            +
              `payment_processor_account_id` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 41 
     | 
    
         
            +
              `txn_id` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 42 
     | 
    
         
            +
              `amount_in_cents` int(11) DEFAULT NULL,
         
     | 
| 
      
 43 
     | 
    
         
            +
              `currency` varchar(255) DEFAULT NULL,
         
     | 
| 
       34 
44 
     | 
    
         
             
              `created_at` datetime NOT NULL,
         
     | 
| 
       35 
45 
     | 
    
         
             
              `updated_at` datetime NOT NULL,
         
     | 
| 
      
 46 
     | 
    
         
            +
              `kb_account_id` varchar(255) NOT NULL,
         
     | 
| 
      
 47 
     | 
    
         
            +
              `kb_tenant_id` varchar(255) NOT NULL,
         
     | 
| 
       36 
48 
     | 
    
         
             
              PRIMARY KEY (`id`),
         
     | 
| 
       37 
49 
     | 
    
         
             
              KEY `index_litle_transactions_on_kb_payment_id` (`kb_payment_id`)
         
     | 
| 
       38 
50 
     | 
    
         
             
            ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
         
     | 
| 
         @@ -41,23 +53,20 @@ CREATE TABLE `litle_responses` ( 
     | 
|
| 
       41 
53 
     | 
    
         
             
              `id` int(11) NOT NULL AUTO_INCREMENT,
         
     | 
| 
       42 
54 
     | 
    
         
             
              `api_call` varchar(255) NOT NULL,
         
     | 
| 
       43 
55 
     | 
    
         
             
              `kb_payment_id` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 56 
     | 
    
         
            +
              `kb_payment_transaction_id` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 57 
     | 
    
         
            +
              `transaction_type` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 58 
     | 
    
         
            +
              `payment_processor_account_id` varchar(255) DEFAULT NULL,
         
     | 
| 
       44 
59 
     | 
    
         
             
              `message` varchar(255) DEFAULT NULL,
         
     | 
| 
       45 
60 
     | 
    
         
             
              `authorization` varchar(255) DEFAULT NULL,
         
     | 
| 
       46 
61 
     | 
    
         
             
              `fraud_review` tinyint(1) DEFAULT NULL,
         
     | 
| 
       47 
62 
     | 
    
         
             
              `test` tinyint(1) DEFAULT NULL,
         
     | 
| 
       48 
     | 
    
         
            -
              ` 
     | 
| 
       49 
     | 
    
         
            -
              ` 
     | 
| 
       50 
     | 
    
         
            -
              ` 
     | 
| 
       51 
     | 
    
         
            -
              ` 
     | 
| 
       52 
     | 
    
         
            -
              ` 
     | 
| 
       53 
     | 
    
         
            -
              ` 
     | 
| 
       54 
     | 
    
         
            -
              ` 
     | 
| 
       55 
     | 
    
         
            -
              `params_litleonelineresponse_saleresponse_litle_txn_id` varchar(255) DEFAULT NULL,
         
     | 
| 
       56 
     | 
    
         
            -
              `params_litleonelineresponse_saleresponse_order_id` varchar(255) DEFAULT NULL,
         
     | 
| 
       57 
     | 
    
         
            -
              `params_litleonelineresponse_saleresponse_response` varchar(255) DEFAULT NULL,
         
     | 
| 
       58 
     | 
    
         
            -
              `params_litleonelineresponse_saleresponse_response_time` varchar(255) DEFAULT NULL,
         
     | 
| 
       59 
     | 
    
         
            -
              `params_litleonelineresponse_saleresponse_message` varchar(255) DEFAULT NULL,
         
     | 
| 
       60 
     | 
    
         
            -
              `params_litleonelineresponse_saleresponse_auth_code` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 63 
     | 
    
         
            +
              `params_litle_txn_id` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 64 
     | 
    
         
            +
              `params_order_id` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 65 
     | 
    
         
            +
              `params_litle_token` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 66 
     | 
    
         
            +
              `params_auth_code` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 67 
     | 
    
         
            +
              `params_response` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 68 
     | 
    
         
            +
              `params_response_time` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 69 
     | 
    
         
            +
              `params_message` varchar(255) DEFAULT NULL,
         
     | 
| 
       61 
70 
     | 
    
         
             
              `avs_result_code` varchar(255) DEFAULT NULL,
         
     | 
| 
       62 
71 
     | 
    
         
             
              `avs_result_message` varchar(255) DEFAULT NULL,
         
     | 
| 
       63 
72 
     | 
    
         
             
              `avs_result_street_match` varchar(255) DEFAULT NULL,
         
     | 
| 
         @@ -67,5 +76,7 @@ CREATE TABLE `litle_responses` ( 
     | 
|
| 
       67 
76 
     | 
    
         
             
              `success` tinyint(1) DEFAULT NULL,
         
     | 
| 
       68 
77 
     | 
    
         
             
              `created_at` datetime NOT NULL,
         
     | 
| 
       69 
78 
     | 
    
         
             
              `updated_at` datetime NOT NULL,
         
     | 
| 
      
 79 
     | 
    
         
            +
              `kb_account_id` varchar(255) DEFAULT NULL,
         
     | 
| 
      
 80 
     | 
    
         
            +
              `kb_tenant_id` varchar(255) DEFAULT NULL,
         
     | 
| 
       70 
81 
     | 
    
         
             
              PRIMARY KEY (`id`)
         
     | 
| 
       71 
82 
     | 
    
         
             
            ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
         
     | 
    
        data/db/schema.rb
    CHANGED
    
    | 
         @@ -1,63 +1,73 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'active_record'
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            ActiveRecord::Schema.define(:version =>  
     | 
| 
      
 3 
     | 
    
         
            +
            ActiveRecord::Schema.define(:version => 20140410153635) do
         
     | 
| 
       4 
4 
     | 
    
         
             
              create_table "litle_payment_methods", :force => true do |t|
         
     | 
| 
       5 
     | 
    
         
            -
                t.string   " 
     | 
| 
       6 
     | 
    
         
            -
                t.string   " 
     | 
| 
       7 
     | 
    
         
            -
                t.string   "litle_token",            :null => false
         
     | 
| 
      
 5 
     | 
    
         
            +
                t.string   "kb_payment_method_id"      # NULL before Kill Bill knows about it
         
     | 
| 
      
 6 
     | 
    
         
            +
                t.string   "token"                     # litle id
         
     | 
| 
       8 
7 
     | 
    
         
             
                t.string   "cc_first_name"
         
     | 
| 
       9 
8 
     | 
    
         
             
                t.string   "cc_last_name"
         
     | 
| 
       10 
9 
     | 
    
         
             
                t.string   "cc_type"
         
     | 
| 
       11 
     | 
    
         
            -
                t. 
     | 
| 
       12 
     | 
    
         
            -
                t. 
     | 
| 
       13 
     | 
    
         
            -
                t. 
     | 
| 
      
 10 
     | 
    
         
            +
                t.string   "cc_exp_month"
         
     | 
| 
      
 11 
     | 
    
         
            +
                t.string   "cc_exp_year"
         
     | 
| 
      
 12 
     | 
    
         
            +
                t.string   "cc_number"
         
     | 
| 
      
 13 
     | 
    
         
            +
                t.string   "cc_last_4"
         
     | 
| 
      
 14 
     | 
    
         
            +
                t.string   "cc_start_month"
         
     | 
| 
      
 15 
     | 
    
         
            +
                t.string   "cc_start_year"
         
     | 
| 
      
 16 
     | 
    
         
            +
                t.string   "cc_issue_number"
         
     | 
| 
      
 17 
     | 
    
         
            +
                t.string   "cc_verification_value"
         
     | 
| 
      
 18 
     | 
    
         
            +
                t.string   "cc_track_data"
         
     | 
| 
       14 
19 
     | 
    
         
             
                t.string   "address1"
         
     | 
| 
       15 
20 
     | 
    
         
             
                t.string   "address2"
         
     | 
| 
       16 
21 
     | 
    
         
             
                t.string   "city"
         
     | 
| 
       17 
22 
     | 
    
         
             
                t.string   "state"
         
     | 
| 
       18 
23 
     | 
    
         
             
                t.string   "zip"
         
     | 
| 
       19 
24 
     | 
    
         
             
                t.string   "country"
         
     | 
| 
       20 
     | 
    
         
            -
                t.boolean  "is_deleted", 
     | 
| 
       21 
     | 
    
         
            -
                t.datetime "created_at", 
     | 
| 
       22 
     | 
    
         
            -
                t.datetime "updated_at", 
     | 
| 
      
 25 
     | 
    
         
            +
                t.boolean  "is_deleted",               :null => false, :default => false
         
     | 
| 
      
 26 
     | 
    
         
            +
                t.datetime "created_at",               :null => false
         
     | 
| 
      
 27 
     | 
    
         
            +
                t.datetime "updated_at",               :null => false
         
     | 
| 
      
 28 
     | 
    
         
            +
                t.string   "kb_account_id"
         
     | 
| 
      
 29 
     | 
    
         
            +
                t.string   "kb_tenant_id"
         
     | 
| 
       23 
30 
     | 
    
         
             
              end
         
     | 
| 
       24 
31 
     | 
    
         | 
| 
       25 
32 
     | 
    
         
             
              add_index(:litle_payment_methods, :kb_account_id)
         
     | 
| 
       26 
33 
     | 
    
         
             
              add_index(:litle_payment_methods, :kb_payment_method_id)
         
     | 
| 
       27 
34 
     | 
    
         | 
| 
       28 
35 
     | 
    
         
             
              create_table "litle_transactions", :force => true do |t|
         
     | 
| 
       29 
     | 
    
         
            -
                t.integer  "litle_response_id", 
     | 
| 
       30 
     | 
    
         
            -
                t.string   "api_call", 
     | 
| 
       31 
     | 
    
         
            -
                t.string   "kb_payment_id", 
     | 
| 
       32 
     | 
    
         
            -
                t.string   " 
     | 
| 
       33 
     | 
    
         
            -
                t. 
     | 
| 
       34 
     | 
    
         
            -
                t.string 
     | 
| 
       35 
     | 
    
         
            -
                t. 
     | 
| 
       36 
     | 
    
         
            -
                 
     | 
| 
      
 36 
     | 
    
         
            +
                t.integer  "litle_response_id",  :null => false
         
     | 
| 
      
 37 
     | 
    
         
            +
                t.string   "api_call",                       :null => false
         
     | 
| 
      
 38 
     | 
    
         
            +
                t.string   "kb_payment_id",                  :null => false
         
     | 
| 
      
 39 
     | 
    
         
            +
                t.string   "kb_payment_transaction_id",      :null => false
         
     | 
| 
      
 40 
     | 
    
         
            +
                t.string   "transaction_type",               :null => false
         
     | 
| 
      
 41 
     | 
    
         
            +
                t.string   "payment_processor_account_id"
         
     | 
| 
      
 42 
     | 
    
         
            +
                t.string   "txn_id"                          # litle transaction id
         
     | 
| 
      
 43 
     | 
    
         
            +
                # Both null for void
         
     | 
| 
      
 44 
     | 
    
         
            +
                t.integer  "amount_in_cents"
         
     | 
| 
      
 45 
     | 
    
         
            +
                t.string   "currency"
         
     | 
| 
      
 46 
     | 
    
         
            +
                t.datetime "created_at",                     :null => false
         
     | 
| 
      
 47 
     | 
    
         
            +
                t.datetime "updated_at",                     :null => false
         
     | 
| 
      
 48 
     | 
    
         
            +
                t.string   "kb_account_id",                  :null => false
         
     | 
| 
      
 49 
     | 
    
         
            +
                t.string   "kb_tenant_id",                   :null => false
         
     | 
| 
       37 
50 
     | 
    
         
             
              end
         
     | 
| 
       38 
51 
     | 
    
         | 
| 
       39 
52 
     | 
    
         
             
              add_index(:litle_transactions, :kb_payment_id)
         
     | 
| 
       40 
53 
     | 
    
         | 
| 
       41 
54 
     | 
    
         
             
              create_table "litle_responses", :force => true do |t|
         
     | 
| 
       42 
     | 
    
         
            -
                t.string   "api_call", 
     | 
| 
      
 55 
     | 
    
         
            +
                t.string   "api_call",          :null => false
         
     | 
| 
       43 
56 
     | 
    
         
             
                t.string   "kb_payment_id"
         
     | 
| 
      
 57 
     | 
    
         
            +
                t.string   "kb_payment_transaction_id"
         
     | 
| 
      
 58 
     | 
    
         
            +
                t.string   "transaction_type"
         
     | 
| 
      
 59 
     | 
    
         
            +
                t.string   "payment_processor_account_id"
         
     | 
| 
       44 
60 
     | 
    
         
             
                t.string   "message"
         
     | 
| 
       45 
61 
     | 
    
         
             
                t.string   "authorization"
         
     | 
| 
       46 
62 
     | 
    
         
             
                t.boolean  "fraud_review"
         
     | 
| 
       47 
63 
     | 
    
         
             
                t.boolean  "test"
         
     | 
| 
       48 
     | 
    
         
            -
                t.string   " 
     | 
| 
       49 
     | 
    
         
            -
                t.string   " 
     | 
| 
       50 
     | 
    
         
            -
                t.string   " 
     | 
| 
       51 
     | 
    
         
            -
                t.string   " 
     | 
| 
       52 
     | 
    
         
            -
                t.string   " 
     | 
| 
       53 
     | 
    
         
            -
                t.string   " 
     | 
| 
       54 
     | 
    
         
            -
                t.string   " 
     | 
| 
       55 
     | 
    
         
            -
                t.string   "params_litleonelineresponse_saleresponse_litle_txn_id"
         
     | 
| 
       56 
     | 
    
         
            -
                t.string   "params_litleonelineresponse_saleresponse_order_id"
         
     | 
| 
       57 
     | 
    
         
            -
                t.string   "params_litleonelineresponse_saleresponse_response"
         
     | 
| 
       58 
     | 
    
         
            -
                t.string   "params_litleonelineresponse_saleresponse_response_time"
         
     | 
| 
       59 
     | 
    
         
            -
                t.string   "params_litleonelineresponse_saleresponse_message"
         
     | 
| 
       60 
     | 
    
         
            -
                t.string   "params_litleonelineresponse_saleresponse_auth_code"
         
     | 
| 
      
 64 
     | 
    
         
            +
                t.string   "params_litle_txn_id"
         
     | 
| 
      
 65 
     | 
    
         
            +
                t.string   "params_order_id"
         
     | 
| 
      
 66 
     | 
    
         
            +
                t.string   "params_litle_token"
         
     | 
| 
      
 67 
     | 
    
         
            +
                t.string   "params_auth_code"
         
     | 
| 
      
 68 
     | 
    
         
            +
                t.string   "params_response"
         
     | 
| 
      
 69 
     | 
    
         
            +
                t.string   "params_response_time"
         
     | 
| 
      
 70 
     | 
    
         
            +
                t.string   "params_message"
         
     | 
| 
       61 
71 
     | 
    
         
             
                t.string   "avs_result_code"
         
     | 
| 
       62 
72 
     | 
    
         
             
                t.string   "avs_result_message"
         
     | 
| 
       63 
73 
     | 
    
         
             
                t.string   "avs_result_street_match"
         
     | 
| 
         @@ -67,5 +77,7 @@ ActiveRecord::Schema.define(:version => 20130311153635) do 
     | 
|
| 
       67 
77 
     | 
    
         
             
                t.boolean  "success"
         
     | 
| 
       68 
78 
     | 
    
         
             
                t.datetime "created_at",        :null => false
         
     | 
| 
       69 
79 
     | 
    
         
             
                t.datetime "updated_at",        :null => false
         
     | 
| 
      
 80 
     | 
    
         
            +
                t.string   "kb_account_id"
         
     | 
| 
      
 81 
     | 
    
         
            +
                t.string   "kb_tenant_id"
         
     | 
| 
       70 
82 
     | 
    
         
             
              end
         
     | 
| 
       71 
83 
     | 
    
         
             
            end
         
     | 
    
        data/killbill-litle.gemspec
    CHANGED
    
    | 
         @@ -12,36 +12,40 @@ Gem::Specification.new do |s| 
     | 
|
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
              s.author   = 'Kill Bill core team'
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.email    = 'killbilling-users@googlegroups.com'
         
     | 
| 
       15 
     | 
    
         
            -
              s.homepage = 'http:// 
     | 
| 
      
 15 
     | 
    
         
            +
              s.homepage = 'http://killbill.io'
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
              s.files         = `git ls-files`.split("\n")
         
     | 
| 
       18 
18 
     | 
    
         
             
              s.test_files    = `git ls-files -- {test,spec,features}/*`.split("\n")
         
     | 
| 
       19 
19 
     | 
    
         
             
              s.bindir        = 'bin'
         
     | 
| 
       20 
     | 
    
         
            -
              s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
         
     | 
| 
       21 
     | 
    
         
            -
              s.require_paths = [ 
     | 
| 
      
 20 
     | 
    
         
            +
              s.executables   = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
         
     | 
| 
      
 21 
     | 
    
         
            +
              s.require_paths = ['lib']
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
              s.rdoc_options << '--exclude' << '.'
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
              s.add_dependency 'killbill', '~>  
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
              s.add_dependency 'activerecord', '~> 3.2.1'
         
     | 
| 
       28 
     | 
    
         
            -
              s.add_dependency 'money', '~> 6.0.0'
         
     | 
| 
      
 25 
     | 
    
         
            +
              s.add_dependency 'killbill', '~> 4.0.0'
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
       29 
27 
     | 
    
         
             
              s.add_dependency 'sinatra', '~> 1.3.4'
         
     | 
| 
       30 
     | 
    
         
            -
               
     | 
| 
       31 
     | 
    
         
            -
              s.add_dependency ' 
     | 
| 
       32 
     | 
    
         
            -
              s.add_dependency 'xml-mapping', '~> 0.9.1'
         
     | 
| 
       33 
     | 
    
         
            -
              s.add_dependency 'xml-object', '~> 0.9.93'
         
     | 
| 
      
 28 
     | 
    
         
            +
              s.add_dependency 'thread_safe', '~> 0.3.4'
         
     | 
| 
      
 29 
     | 
    
         
            +
              s.add_dependency 'activerecord', '~> 4.1.0'
         
     | 
| 
       34 
30 
     | 
    
         
             
              if defined?(JRUBY_VERSION)
         
     | 
| 
       35 
     | 
    
         
            -
                s.add_dependency 'activerecord- 
     | 
| 
      
 31 
     | 
    
         
            +
                s.add_dependency 'activerecord-bogacs', '~> 0.3'
         
     | 
| 
      
 32 
     | 
    
         
            +
                s.add_dependency 'activerecord-jdbc-adapter', '~> 1.3'
         
     | 
| 
       36 
33 
     | 
    
         
             
                # Required to avoid errors like java.lang.NoClassDefFoundError: org/bouncycastle/asn1/DERBoolean
         
     | 
| 
       37 
     | 
    
         
            -
                s.add_dependency 'jruby-openssl', '~> 0.9. 
     | 
| 
      
 34 
     | 
    
         
            +
                s.add_dependency 'jruby-openssl', '~> 0.9.6'
         
     | 
| 
       38 
35 
     | 
    
         
             
              end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
              s. 
     | 
| 
      
 36 
     | 
    
         
            +
              s.add_dependency 'actionpack', '~> 4.1.0'
         
     | 
| 
      
 37 
     | 
    
         
            +
              s.add_dependency 'actionview', '~> 4.1.0'
         
     | 
| 
      
 38 
     | 
    
         
            +
              s.add_dependency 'activemerchant', '~> 1.48.0'
         
     | 
| 
      
 39 
     | 
    
         
            +
              s.add_dependency 'offsite_payments', '~> 2.1.0'
         
     | 
| 
      
 40 
     | 
    
         
            +
              s.add_dependency 'monetize', '~> 1.1.0'
         
     | 
| 
      
 41 
     | 
    
         
            +
              s.add_dependency 'money', '~> 6.5.1'
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
              s.add_development_dependency 'jbundler', '~> 0.4.3'
         
     | 
| 
       41 
44 
     | 
    
         
             
              s.add_development_dependency 'rake', '>= 10.0.0'
         
     | 
| 
       42 
45 
     | 
    
         
             
              s.add_development_dependency 'rspec', '~> 2.12.0'
         
     | 
| 
       43 
46 
     | 
    
         
             
              if defined?(JRUBY_VERSION)
         
     | 
| 
       44 
     | 
    
         
            -
                s.add_development_dependency ' 
     | 
| 
      
 47 
     | 
    
         
            +
                s.add_development_dependency 'jdbc-sqlite3', '~> 3.7'
         
     | 
| 
      
 48 
     | 
    
         
            +
                s.add_development_dependency 'jdbc-mariadb', '~> 1.1'
         
     | 
| 
       45 
49 
     | 
    
         
             
              else
         
     | 
| 
       46 
50 
     | 
    
         
             
                s.add_development_dependency 'sqlite3', '~> 1.3.7'
         
     | 
| 
       47 
51 
     | 
    
         
             
              end
         
     |