killbill-payu-latam 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 258296e92114a0ad40e4fba3d9863203a278285f
4
- data.tar.gz: 915019234f3b2624b2bb889d4c472519fdc809b1
3
+ metadata.gz: c6d21214c746d6e213b2d97ea3daacc2db5b51ff
4
+ data.tar.gz: 9475122ae2dccd335b40b2b6748e20888b26e898
5
5
  SHA512:
6
- metadata.gz: 82c1a136c316d91ba1cf41b19ce73cc78d2b75cc930cb9ca784e5b57c705249d36f44bb8b120a89c369e74879b9dfbbc778c6bc71d4975af22b01702e0714da7
7
- data.tar.gz: 455102e745e66506fba62ac7cce0eaacfe831462251cfeb20d17ea6164e2f223a820ff77c77f903dacb9ea442e7e4d57c7cf407e3af307a163c0837d7c8f67d0
6
+ metadata.gz: 6b95dd37b50db06a71ce7be89a5c6f68ad4540c772673945e8e3c8540b5e77855b2a1426cec10a89c1123e705fbf5f1f43768c7145d038fabb59254d9f670aaf
7
+ data.tar.gz: 2cb18fd31cf5d3cc3846b7d53a2bdd3e455198e5150570f5e28b961e3a83b378764012239031ec39ab43a4634f4d55bb0433fda0e1814f44d4279b8f567e9707
data/.gitignore CHANGED
@@ -19,18 +19,17 @@ _yardoc
19
19
  doc/
20
20
 
21
21
  .jbundler
22
- Jarfile.lock
23
- Gemfile.lock
24
22
 
25
23
  .DS_Store
26
24
 
27
- # Build directory
28
- killbill-payu-latam/
29
-
30
25
  # Testing database
31
26
  test.db
32
27
 
28
+ payu_latam.log
29
+
33
30
  target
34
31
  pom.xml.asc
35
32
 
36
33
  .idea/
34
+
35
+ Gemfile.head.lock
@@ -1,19 +1,38 @@
1
1
  language: ruby
2
2
 
3
+ sudo: false
4
+ cache: bundler
5
+
6
+ script: 'bundle exec rake test:spec test:remote:spec'
7
+
3
8
  notifications:
4
9
  email:
5
10
  - kill-bill-commits@googlegroups.com
6
11
 
12
+ env:
13
+ global:
14
+ - JRUBY_OPTS='-J-Xmx1024M'
15
+
7
16
  rvm:
8
- - jruby-19mode
9
- - jruby-20mode
17
+ - jruby-1.7.20
18
+ - jruby-20mode # latest 1.7.x
10
19
  - jruby-head
11
20
 
21
+ gemfile:
22
+ - Gemfile
23
+ - Gemfile.head
24
+
12
25
  jdk:
13
- - openjdk6
14
26
  - openjdk7
15
27
  - oraclejdk7
28
+ - oraclejdk8
16
29
 
17
30
  matrix:
18
31
  allow_failures:
19
32
  - rvm: jruby-head
33
+ - jdk: oraclejdk8
34
+ - gemfile: Gemfile.head
35
+ fast_finish: true
36
+
37
+ after_success:
38
+ - '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && echo "<settings><servers><server><id>sonatype-nexus-snapshots</id><username>\${env.OSSRH_USER}</username><password>\${env.OSSRH_PASS}</password></server></servers></settings>" > ~/settings.xml && MVN="mvn --settings $HOME/settings.xml" NO_RELEASE=1 travis_retry travis_wait bash release.sh | egrep -v "Download|Install|Upload" ; rm -f ~/settings.xml'
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source 'http://rubygems.org'
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ gem 'killbill', :github => 'killbill/killbill-plugin-framework-ruby', :ref => 'HEAD'
@@ -0,0 +1,140 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ killbill-payu-latam (0.1.0)
5
+ actionpack (~> 4.1.0)
6
+ actionview (~> 4.1.0)
7
+ activerecord (~> 4.1.0)
8
+ activerecord-bogacs (~> 0.3)
9
+ activerecord-jdbc-adapter (~> 1.3)
10
+ aktivemerchant (~> 2.0.0)
11
+ jruby-openssl (~> 0.9.6)
12
+ killbill (~> 4.0.0)
13
+ koffsite_payments (~> 3.0.0)
14
+ monetize (~> 1.1.0)
15
+ money (~> 6.5.1)
16
+ sinatra (~> 1.3.4)
17
+ thread_safe (~> 0.3.4)
18
+
19
+ GEM
20
+ remote: https://rubygems.org/
21
+ specs:
22
+ actionpack (4.1.10)
23
+ actionview (= 4.1.10)
24
+ activesupport (= 4.1.10)
25
+ rack (~> 1.5.2)
26
+ rack-test (~> 0.6.2)
27
+ actionview (4.1.10)
28
+ activesupport (= 4.1.10)
29
+ builder (~> 3.1)
30
+ erubis (~> 2.7.0)
31
+ active_utils (2.2.3)
32
+ activesupport (>= 2.3.11)
33
+ i18n
34
+ activemodel (4.1.10)
35
+ activesupport (= 4.1.10)
36
+ builder (~> 3.1)
37
+ activerecord (4.1.10)
38
+ activemodel (= 4.1.10)
39
+ activesupport (= 4.1.10)
40
+ arel (~> 5.0.0)
41
+ activerecord-bogacs (0.3.0)
42
+ thread_safe (~> 0.3)
43
+ activerecord-jdbc-adapter (1.3.16)
44
+ activerecord (>= 2.2)
45
+ activesupport (4.1.10)
46
+ i18n (~> 0.6, >= 0.6.9)
47
+ json (~> 1.7, >= 1.7.7)
48
+ minitest (~> 5.1)
49
+ thread_safe (~> 0.1)
50
+ tzinfo (~> 1.1)
51
+ aktivemerchant (2.0.0)
52
+ active_utils (~> 2.2.0)
53
+ activesupport (>= 3.2.14, < 5.0.0)
54
+ builder (>= 2.1.2, < 4.0.0)
55
+ i18n (>= 0.6.9)
56
+ json (~> 1.7)
57
+ nokogiri (~> 1.4)
58
+ offsite_payments (~> 2.0.0)
59
+ arel (5.0.1.20140414130214)
60
+ builder (3.2.2)
61
+ diff-lcs (1.1.3)
62
+ erubis (2.7.0)
63
+ ethon (0.7.3)
64
+ ffi (>= 1.3.0)
65
+ ffi (1.9.8-java)
66
+ i18n (0.7.0)
67
+ jbundler (0.4.3)
68
+ maven-tools (~> 0.32.1)
69
+ ruby-maven (~> 3.0.4)
70
+ jdbc-mariadb (1.1.8)
71
+ jdbc-sqlite3 (3.8.7)
72
+ jruby-openssl (0.9.7-java)
73
+ json (1.8.2-java)
74
+ killbill (4.0.0)
75
+ rack (>= 1.5.2)
76
+ sinatra (~> 1.3.4)
77
+ typhoeus (~> 0.6.9)
78
+ tzinfo (~> 1.2.0)
79
+ koffsite_payments (3.0.0)
80
+ active_utils (~> 2.2.0)
81
+ activesupport (>= 3.2.14, < 5.0.0)
82
+ builder (>= 2.1.2, < 4.0.0)
83
+ i18n (~> 0.5)
84
+ json (~> 1.7)
85
+ money (< 7.0.0)
86
+ nokogiri (~> 1.4)
87
+ maven-tools (0.32.5)
88
+ minitest (5.6.1)
89
+ monetize (1.1.0)
90
+ money (~> 6.5.0)
91
+ money (6.5.1)
92
+ i18n (>= 0.6.4, <= 0.7.0)
93
+ nokogiri (1.6.6.2-java)
94
+ offsite_payments (2.0.1)
95
+ active_utils (~> 2.2.0)
96
+ activesupport (>= 3.2.14, < 5.0.0)
97
+ builder (>= 2.1.2, < 4.0.0)
98
+ i18n (~> 0.5)
99
+ json (~> 1.7)
100
+ money (< 7.0.0)
101
+ nokogiri (~> 1.4)
102
+ rack (1.5.3)
103
+ rack-protection (1.5.3)
104
+ rack
105
+ rack-test (0.6.3)
106
+ rack (>= 1.0)
107
+ rake (10.4.2)
108
+ rspec (2.12.0)
109
+ rspec-core (~> 2.12.0)
110
+ rspec-expectations (~> 2.12.0)
111
+ rspec-mocks (~> 2.12.0)
112
+ rspec-core (2.12.2)
113
+ rspec-expectations (2.12.1)
114
+ diff-lcs (~> 1.1.3)
115
+ rspec-mocks (2.12.2)
116
+ ruby-maven (3.0.4.1.4)
117
+ maven-tools (~> 0.32.3)
118
+ thor (>= 0.14.6, < 2.0)
119
+ sinatra (1.3.6)
120
+ rack (~> 1.4)
121
+ rack-protection (~> 1.3)
122
+ tilt (~> 1.3, >= 1.3.3)
123
+ thor (0.19.1)
124
+ thread_safe (0.3.5-java)
125
+ tilt (1.4.1)
126
+ typhoeus (0.6.9)
127
+ ethon (>= 0.7.1)
128
+ tzinfo (1.2.2)
129
+ thread_safe (~> 0.1)
130
+
131
+ PLATFORMS
132
+ java
133
+
134
+ DEPENDENCIES
135
+ jbundler (~> 0.4.3)
136
+ jdbc-mariadb (~> 1.1)
137
+ jdbc-sqlite3 (~> 3.7)
138
+ killbill-payu-latam!
139
+ rake (>= 10.0.0)
140
+ rspec (~> 2.12.0)
data/Jarfile CHANGED
@@ -1,8 +1,9 @@
1
- jar 'org.kill-bill.billing:killbill-api', '0.10.2'
2
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-notification', '0.8.2'
3
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-payment', '0.8.2'
4
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-currency', '0.8.2'
5
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-retry', '0.8.1'
6
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-invoice', '0.8.2'
7
- jar 'org.kill-bill.billing:killbill-util:tests', '0.12.0'
8
- jar 'javax.servlet:javax.servlet-api', '3.0.1'
1
+ jar 'org.kill-bill.billing:killbill-api', '0.14'
2
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-currency', '0.9'
3
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-invoice', '0.9'
4
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-notification', '0.9'
5
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-payment', '0.9'
6
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-routing', '0.9'
7
+ jar 'org.kill-bill.billing:killbill-util:tests', '0.13.7'
8
+ jar 'org.mockito:mockito-all', '1.10.19'
9
+ jar 'javax.servlet:javax.servlet-api', '3.1.0'
@@ -0,0 +1,56 @@
1
+ org.kill-bill.billing:killbill-api:jar:0.14
2
+ com.fasterxml.jackson.core:jackson-annotations:jar:2.4.3
3
+ joda-time:joda-time:jar:2.3
4
+ org.kill-bill.billing.plugin:killbill-plugin-api-currency:jar:0.9
5
+ org.kill-bill.billing.plugin:killbill-plugin-api-invoice:jar:0.9
6
+ org.kill-bill.billing.plugin:killbill-plugin-api-notification:jar:0.9
7
+ org.kill-bill.billing.plugin:killbill-plugin-api-payment:jar:0.9
8
+ org.kill-bill.billing.plugin:killbill-plugin-api-routing:jar:0.9
9
+ org.kill-bill.billing:killbill-util:jar:tests:0.13.7
10
+ com.fasterxml.jackson.core:jackson-databind:jar:2.4.3
11
+ com.fasterxml.jackson.core:jackson-core:jar:2.4.3
12
+ com.fasterxml.jackson.dataformat:jackson-dataformat-csv:jar:2.4.3
13
+ com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.4.3
14
+ com.samskivert:jmustache:jar:1.5
15
+ io.dropwizard.metrics:metrics-core:jar:3.1.1
16
+ io.dropwizard.metrics:metrics-ehcache:jar:3.1.1
17
+ net.sf.ehcache:ehcache:jar:2.9.1
18
+ org.antlr:stringtemplate:jar:3.2.1
19
+ antlr:antlr:jar:2.7.7
20
+ org.apache.commons:commons-email:jar:1.2
21
+ javax.mail:mail:jar:1.4.1
22
+ javax.activation:activation:jar:1.1
23
+ org.apache.shiro:shiro-core:jar:1.2.3
24
+ commons-beanutils:commons-beanutils:jar:1.8.3
25
+ org.apache.shiro:shiro-ehcache:jar:1.2.3
26
+ org.apache.shiro:shiro-guice:jar:1.2.3
27
+ com.google.guava:guava:jar:r09
28
+ com.google.inject:guice:jar:3.0
29
+ aopalliance:aopalliance:jar:1.0
30
+ com.google.inject.extensions:guice-multibindings:jar:3.0
31
+ org.jdbi:jdbi:jar:2.62
32
+ org.joda:joda-money:jar:0.9
33
+ org.kill-bill.billing:killbill-internal-api:jar:0.13.7
34
+ org.kill-bill.billing:killbill-platform-api:jar:0.2
35
+ org.kill-bill.billing:killbill-platform-base:jar:0.2
36
+ com.google.code.findbugs:annotations:jar:3.0.0
37
+ org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4:jar:1.16
38
+ org.kill-bill.billing:killbill-platform-osgi-api:jar:0.2
39
+ org.osgi:org.osgi.core:jar:5.0.0
40
+ org.kill-bill.commons:killbill-clock:jar:0.3
41
+ org.kill-bill.commons:killbill-concurrent:jar:0.3
42
+ org.kill-bill.commons:killbill-embeddeddb-common:jar:0.3
43
+ org.kill-bill.commons:killbill-jdbi:jar:0.3
44
+ com.h2database:h2:jar:1.4.186
45
+ javax.inject:javax.inject:jar:1
46
+ org.kill-bill.commons:killbill-locker:jar:0.3
47
+ org.kill-bill.commons:killbill-queue:jar:0.3
48
+ org.kill-bill.commons:killbill-xmlloader:jar:0.3
49
+ org.skife.config:config-magic:jar:0.14
50
+ org.slf4j:jcl-over-slf4j:jar:1.7.12
51
+ org.slf4j:slf4j-api:jar:1.7.12
52
+ org.weakref:jmxutils:jar:1.12
53
+ org.mockito:mockito-all:jar:1.10.19
54
+ javax.servlet:javax.servlet-api:jar:3.1.0
55
+ org.bouncycastle:bcpkix-jdk15on:jar:1.50
56
+ org.bouncycastle:bcprov-jdk15on:jar:1.50
data/LICENSE CHANGED
@@ -186,7 +186,7 @@ Apache License
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2014 The Billing Project, LLC
189
+ Copyright 2014-2015 The Billing Project, LLC
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -198,4 +198,4 @@ Apache License
198
198
  distributed under the License is distributed on an "AS IS" BASIS,
199
199
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
200
  See the License for the specific language governing permissions and
201
- limitations under the License.
201
+ limitations under the License.
data/README.md CHANGED
@@ -5,10 +5,56 @@ Plugin to use [PayU Latam](http://www.payulatam.com/) as a gateway.
5
5
 
6
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%22payu-latam-plugin%22) with coordinates `org.kill-bill.billing.plugin.ruby:payu-latam-plugin`.
7
7
 
8
+ Kill Bill compatibility
9
+ -----------------------
10
+
11
+ | Plugin version | Kill Bill version |
12
+ | -------------: | ----------------: |
13
+ | 0.1.y | 0.14.z |
14
+
8
15
  Requirements
9
16
  ------------
10
17
 
11
- The plugin needs a database. The latest version of the schema can be found here: https://raw.github.com/killbill/killbill-payu-latam-plugin/master/db/ddl.sql.
18
+ The plugin needs a database. The latest version of the schema can be found [here](https://github.com/killbill/killbill-payu-latam-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 ':payu_latam:
32
+ - :account_id: colombia
33
+ :api_login: 11959c415b33d0c
34
+ :api_key: 6u39nqhq8ftd0hlvnjfs66eh8c
35
+ :country_account_id: 500538
36
+ :merchant_id: 500238
37
+ - :account_id: panama
38
+ :api_login: 11959c415b33d0c
39
+ :api_key: 6u39nqhq8ftd0hlvnjfs66eh8c
40
+ :country_account_id: 500537
41
+ :merchant_id: 500238' \
42
+ http://127.0.0.1:8080/1.0/kb/tenants/uploadPluginConfig/killbill-payu-latam
43
+ ```
44
+
45
+ Because PayU Latam test servers have an improperly installed cert, you maye need a `payu_latam.yml` configuration file under `/var/tmp/bundles/plugins/ruby/killbill-payu-latam/x.y.z/` containing the following:
46
+
47
+ ```
48
+ :payu_latam:
49
+ :ssl_strict: false
50
+ ```
51
+
52
+ To go to production, specify:
53
+
54
+ ```
55
+ :payu_latam:
56
+ :test: false
57
+ ```
12
58
 
13
59
  Usage
14
60
  -----
@@ -29,6 +75,14 @@ curl -v \
29
75
  "pluginName": "killbill-payu-latam",
30
76
  "pluginInfo": {
31
77
  "properties": [
78
+ {
79
+ "key": "ccCountry",
80
+ "value": "BR"
81
+ },
82
+ {
83
+ "key": "zip",
84
+ "value": "19999-999"
85
+ },
32
86
  {
33
87
  "key": "ccLastName",
34
88
  "value": "APPROVED"
@@ -43,7 +97,7 @@ curl -v \
43
97
  },
44
98
  {
45
99
  "key": "ccNumber",
46
- "value": 4111111111111111
100
+ "value": 4422120000000008
47
101
  }
48
102
  ]
49
103
  }
@@ -148,7 +202,7 @@ curl -v \
148
202
 
149
203
  Notes:
150
204
  * Make sure to replace *ACCOUNT_ID* with the id of the Kill Bill account
151
-
205
+ * This call can take some time, make sure to update the plugin timeout accordingly (property `org.killbill.payment.plugin.timeout`)
152
206
 
153
207
  Here is what happens behind the scenes:
154
208
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.1.0
@@ -12,37 +12,41 @@ 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://kill-bill.org'
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) }
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
21
21
  s.require_paths = ['lib']
22
22
 
23
23
  s.rdoc_options << '--exclude' << '.'
24
24
 
25
- s.add_dependency 'killbill', '~> 3.2.0'
25
+ s.add_dependency 'killbill', '~> 4.0.0'
26
+
26
27
  s.add_dependency 'aktivemerchant', '~> 2.0.0'
27
28
  s.add_dependency 'koffsite_payments', '~> 3.0.0'
28
- s.add_dependency 'activerecord', '~> 4.1.0'
29
- s.add_dependency 'actionpack', '~> 4.1.0'
30
- s.add_dependency 'actionview', '~> 4.1.0'
31
- s.add_dependency 'activesupport', '~> 4.1.0'
32
- s.add_dependency 'money', '~> 6.1.1'
33
- s.add_dependency 'monetize', '~> 0.3.0'
29
+
34
30
  s.add_dependency 'sinatra', '~> 1.3.4'
31
+ s.add_dependency 'thread_safe', '~> 0.3.4'
32
+ s.add_dependency 'activerecord', '~> 4.1.0'
35
33
  if defined?(JRUBY_VERSION)
36
- s.add_dependency 'activerecord-jdbcmysql-adapter', '~> 1.3.7'
34
+ s.add_dependency 'activerecord-bogacs', '~> 0.3'
35
+ s.add_dependency 'activerecord-jdbc-adapter', '~> 1.3'
37
36
  # Required to avoid errors like java.lang.NoClassDefFoundError: org/bouncycastle/asn1/DERBoolean
38
- s.add_dependency 'jruby-openssl', '~> 0.9.4'
37
+ s.add_dependency 'jruby-openssl', '~> 0.9.6'
39
38
  end
39
+ s.add_dependency 'actionpack', '~> 4.1.0'
40
+ s.add_dependency 'actionview', '~> 4.1.0'
41
+ s.add_dependency 'monetize', '~> 1.1.0'
42
+ s.add_dependency 'money', '~> 6.5.1'
40
43
 
41
- s.add_development_dependency 'jbundler', '~> 0.4.1'
44
+ s.add_development_dependency 'jbundler', '~> 0.4.3'
42
45
  s.add_development_dependency 'rake', '>= 10.0.0'
43
46
  s.add_development_dependency 'rspec', '~> 2.12.0'
44
47
  if defined?(JRUBY_VERSION)
45
- s.add_development_dependency 'activerecord-jdbcsqlite3-adapter', '~> 1.3.7'
48
+ s.add_development_dependency 'jdbc-sqlite3', '~> 3.7'
49
+ s.add_development_dependency 'jdbc-mariadb', '~> 1.1'
46
50
  else
47
51
  s.add_development_dependency 'sqlite3', '~> 1.3.7'
48
52
  end
@@ -18,6 +18,14 @@ module Killbill #:nodoc:
18
18
  ::Killbill::PayuLatam::PayuLatamResponse)
19
19
  end
20
20
 
21
+ def on_event(event)
22
+ # Require to deal with per tenant configuration invalidation
23
+ super(event)
24
+ #
25
+ # Custom event logic could be added below...
26
+ #
27
+ end
28
+
21
29
  def authorize_payment(kb_account_id, kb_payment_id, kb_payment_transaction_id, kb_payment_method_id, amount, currency, properties, context)
22
30
  # Pass extra parameters for the gateway here
23
31
  options = {}
@@ -60,7 +68,9 @@ module Killbill #:nodoc:
60
68
  :authorization => [payu_order_id, payu_transaction_id].join(';'),
61
69
  :payment_processor_account_id => payment_processor_account_id,
62
70
  :kb_tenant_id => context.tenant_id,
63
- :success => true)
71
+ :success => true,
72
+ :created_at => Time.now.utc,
73
+ :updated_at => Time.now.utc)
64
74
 
65
75
  # Get the payment status from PayU (we are required to fetch the status from PayU within 7 minutes of the URL creation)
66
76
  get_payment_transaction_info_from_payu(kb_payment_id, kb_payment_transaction_id, amount, currency, properties_to_hash(properties), context.tenant_id, response)
@@ -100,6 +110,8 @@ module Killbill #:nodoc:
100
110
  def get_payment_info(kb_account_id, kb_payment_id, properties, context)
101
111
  t_info_plugins = super(kb_account_id, kb_payment_id, properties, context)
102
112
 
113
+ t_info_plugins.reject! { |t_info_plugin| t_info_plugin.status == :UNDEFINED }
114
+
103
115
  t_info_plugins = get_payment_info_from_payu(kb_payment_id, properties_to_hash(properties), context) if t_info_plugins.empty?
104
116
 
105
117
  t_info_plugins
@@ -233,7 +245,7 @@ module Killbill #:nodoc:
233
245
  kb_payment.transactions.each do |transaction|
234
246
  t_info_plugins << get_payment_transaction_info_from_payu(kb_payment_id, transaction.id, transaction.amount, transaction.currency, options, context.tenant_id)
235
247
  end
236
- t_info_plugins
248
+ t_info_plugins.compact
237
249
  end
238
250
 
239
251
  def get_payment_transaction_info_from_payu(kb_payment_id, kb_payment_transaction_id, amount, currency, options, kb_tenant_id, response=nil)
@@ -241,6 +253,8 @@ module Killbill #:nodoc:
241
253
  response = @response_model.where("transaction_type = 'PURCHASE' AND kb_payment_id = '#{kb_payment_id}' AND kb_payment_transaction_id = '#{kb_payment_transaction_id}' AND kb_tenant_id = '#{kb_tenant_id}'").order(:created_at)[0] if response.nil?
242
254
  raise "Unable to retrieve response for kb_payment_id=#{kb_payment_id}, kb_payment_transaction_id=#{kb_payment_transaction_id}, kb_tenant_id=#{kb_tenant_id}" if response.nil?
243
255
 
256
+ return nil if response.authorization.nil?
257
+
244
258
  # Retrieve the transaction from PayU
245
259
  order_id, transaction_id = response.authorization.split(';')
246
260
  payu_status = (get_payu_status(transaction_id, options) || {})[:status]
@@ -18,11 +18,7 @@ end
18
18
 
19
19
  helpers do
20
20
  def plugin(session = {})
21
- ::Killbill::PayuLatam::PrivatePaymentPlugin.new(:payu_latam,
22
- ::Killbill::PayuLatam::PayuLatamPaymentMethod,
23
- ::Killbill::PayuLatam::PayuLatamTransaction,
24
- ::Killbill::PayuLatam::PayuLatamResponse,
25
- session)
21
+ ::Killbill::PayuLatam::PrivatePaymentPlugin.new(session)
26
22
  end
27
23
  end
28
24
 
@@ -1,6 +1,13 @@
1
1
  module Killbill #:nodoc:
2
2
  module PayuLatam #:nodoc:
3
3
  class PrivatePaymentPlugin < ::Killbill::Plugin::ActiveMerchant::PrivatePaymentPlugin
4
+ def initialize(session = {})
5
+ super(:payu_latam,
6
+ ::Killbill::PayuLatam::PayuLatamPaymentMethod,
7
+ ::Killbill::PayuLatam::PayuLatamTransaction,
8
+ ::Killbill::PayuLatam::PayuLatamResponse,
9
+ session)
10
+ end
4
11
  end
5
12
  end
6
13
  end
@@ -38,17 +38,26 @@
38
38
  :merchant_id: 500365
39
39
 
40
40
  :database:
41
+ # SQLite (development)
41
42
  :adapter: sqlite3
42
43
  :database: test.db
43
44
  # For MySQL
44
- # :adapter: 'jdbcmysql'
45
+ # :adapter: mysql
45
46
  # :username: 'killbill'
46
47
  # :password: 'killbill'
47
- # :driver: 'com.mysql.jdbc.Driver'
48
- # :url: 'jdbc:mysql://127.0.0.1:3306/killbill'
48
+ # :database: 'killbill' # or set the URL :
49
+ # #:url: jdbc:mysql://127.0.0.1:3306/killbill
50
+ # :driver: org.mariadb.jdbc.Driver # as in KB
51
+ # :pool: 30 # AR's default is max 5 connections
49
52
  # In Kill Bill
50
- # :adapter: 'jdbcmysql'
53
+ # :adapter: mysql
51
54
  # :jndi: 'killbill/osgi/jdbc'
52
- # :driver: 'com.mysql.jdbc.Driver'
53
- # :connection_alive_sql: 'select 1'
54
- # :pool: 250
55
+ # :pool: false # false-pool (JNDI pool's max)
56
+ # # uncomment if pool does not support JDBC4 :
57
+ # #:connection_alive_sql: 'select 1'
58
+ # # MySQL adapter #configure_connection defaults :
59
+ # # @@SESSION.sql_auto_is_null = 0,
60
+ # # @@SESSION.wait_timeout = 2147483,
61
+ # # @@SESSION.sql_mode = 'STRICT_ALL_TABLES'
62
+ # # ... can be disabled (on AR-JDBC 1.4) using :
63
+ # :configure_connection: false
data/pom.xml CHANGED
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!--
3
- ~ Copyright 2014 The Billing Project, LLC
3
+ ~ Copyright 2014-2015 The Billing Project, LLC
4
4
  ~
5
5
  ~ The Billing Project licenses this file to you under the Apache License, version 2.0
6
6
  ~ (the "License"); you may not use this file except in compliance with the
@@ -25,7 +25,7 @@
25
25
  <groupId>org.kill-bill.billing.plugin.ruby</groupId>
26
26
  <artifactId>payu-latam-plugin</artifactId>
27
27
  <packaging>pom</packaging>
28
- <version>0.0.2</version>
28
+ <version>0.1.0</version>
29
29
  <name>payu-latam-plugin</name>
30
30
  <url>http://github.com/killbill/killbill-payu-latam-plugin</url>
31
31
  <description>Plugin for accessing PayuLatam as a payment gateway</description>
data/release.sh CHANGED
@@ -1,5 +1,8 @@
1
1
  set -e
2
2
 
3
+ BUNDLE=${BUNDLE-"bundle exec"}
4
+ MVN=${MVN-"mvn"}
5
+
3
6
  if [ 'GNU' != "$(tar --help | grep GNU | head -1 | awk '{print $1}')" ]; then
4
7
  echo 'Unable to release: make sure to use GNU tar'
5
8
  exit 1
@@ -14,28 +17,45 @@ else
14
17
  fi
15
18
 
16
19
  VERSION=`grep -E '<version>([0-9]+\.[0-9]+\.[0-9]+)</version>' pom.xml | sed 's/[\t \n]*<version>\(.*\)<\/version>[\t \n]*/\1/'`
17
- if [ "$VERSION" != "$(cat $PWD/VERSION)" ]; then
20
+ if [[ -z "$NO_RELEASE" && "$VERSION" != "$(cat $PWD/VERSION)" ]]; then
18
21
  echo 'Unable to release: make sure the versions in pom.xml and VERSION match'
19
22
  exit 1
20
23
  fi
21
24
 
22
25
  echo 'Cleaning up'
23
- rake killbill:clean ; rake build
26
+ $BUNDLE rake killbill:clean
27
+
28
+ echo 'Building gem'
29
+ $BUNDLE rake build
24
30
 
25
- echo 'Pushing the gem to Rubygems'
26
- rake release
31
+ if [[ -z "$NO_RELEASE" ]]; then
32
+ echo 'Pushing the gem to Rubygems'
33
+ $BUNDLE rake release
34
+ fi
27
35
 
28
36
  echo 'Building artifact'
29
- rake killbill:package
37
+ $BUNDLE rake killbill:package
30
38
 
31
39
  ARTIFACT="$PWD/pkg/killbill-payu-latam-$VERSION.tar.gz"
32
40
  echo "Pushing $ARTIFACT to Maven Central"
33
- mvn gpg:sign-and-deploy-file \
34
- -DgroupId=org.kill-bill.billing.plugin.ruby \
35
- -DartifactId=payu-latam-plugin \
36
- -Dversion=$VERSION \
37
- -Dpackaging=tar.gz \
38
- -DrepositoryId=ossrh-releases \
39
- -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ \
40
- -Dfile=$ARTIFACT \
41
- -DpomFile=pom.xml
41
+
42
+ if [[ -z "$NO_RELEASE" ]]; then
43
+ GOAL=gpg:sign-and-deploy-file
44
+ REPOSITORY_ID=ossrh-releases
45
+ URL=https://oss.sonatype.org/service/local/staging/deploy/maven2/
46
+ else
47
+ GOAL=deploy:deploy-file
48
+ REPOSITORY_ID=sonatype-nexus-snapshots
49
+ URL=https://oss.sonatype.org/content/repositories/snapshots/
50
+ VERSION="$VERSION-SNAPSHOT"
51
+ fi
52
+
53
+ $MVN $GOAL \
54
+ -DgroupId=org.kill-bill.billing.plugin.ruby \
55
+ -DartifactId=payu-latam-plugin \
56
+ -Dversion=$VERSION \
57
+ -Dpackaging=tar.gz \
58
+ -DrepositoryId=$REPOSITORY_ID \
59
+ -Durl=$URL \
60
+ -Dfile=$ARTIFACT \
61
+ -DpomFile=pom.xml
@@ -1,9 +1,12 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Killbill::PayuLatam::PaymentPlugin do
4
+
5
+ include ::Killbill::Plugin::ActiveMerchant::RSpec
6
+
4
7
  before(:each) do
5
8
  Dir.mktmpdir do |dir|
6
- file = File.new(File.join(dir, 'payu_latam.yml'), "w+")
9
+ file = File.new(File.join(dir, 'payu_latam.yml'), 'w+')
7
10
  file.write(<<-eos)
8
11
  :payu_latam:
9
12
  :test: true
@@ -14,11 +17,7 @@ describe Killbill::PayuLatam::PaymentPlugin do
14
17
  eos
15
18
  file.close
16
19
 
17
- @plugin = Killbill::PayuLatam::PaymentPlugin.new
18
- @plugin.logger = Logger.new(STDOUT)
19
- @plugin.logger.level = Logger::INFO
20
- @plugin.conf_dir = File.dirname(file)
21
- @plugin.kb_apis = Killbill::Plugin::KillbillApi.new('payu_latam', {})
20
+ @plugin = build_plugin(::Killbill::PayuLatam::PaymentPlugin, 'payu_latam', File.dirname(file))
22
21
 
23
22
  # Start the plugin here - since the config file will be deleted
24
23
  @plugin.start_plugin
@@ -31,36 +31,35 @@ describe Killbill::PayuLatam::PaymentPlugin do
31
31
  # PayULatamGateway's test server has an improperly installed cert
32
32
  ::ActiveMerchant::Billing::PayULatamGateway.ssl_strict = false
33
33
 
34
- @plugin = Killbill::PayuLatam::PaymentPlugin.new
34
+ ::Killbill::PayuLatam::PayuLatamPaymentMethod.delete_all
35
+ ::Killbill::PayuLatam::PayuLatamResponse.delete_all
36
+ ::Killbill::PayuLatam::PayuLatamTransaction.delete_all
35
37
 
36
- @account_api = ::Killbill::Plugin::ActiveMerchant::RSpec::FakeJavaUserAccountApi.new
37
- @payment_api = PayUJavaPaymentApi.new
38
- svcs = {:account_user_api => @account_api, :payment_api => @payment_api}
39
- @plugin.kb_apis = Killbill::Plugin::KillbillApi.new('payu', svcs)
38
+ @payment_api = PayUJavaPaymentApi.new
40
39
 
41
- @call_context = ::Killbill::Plugin::Model::CallContext.new
42
- @call_context.tenant_id = '00000011-0022-0033-0044-000000000055'
43
- @call_context = @call_context.to_ruby(@call_context)
40
+ @plugin = build_plugin(::Killbill::PayuLatam::PaymentPlugin, 'payu_latam')
41
+ svcs = @plugin.kb_apis.proxied_services
42
+ svcs[:payment_api] = @payment_api
43
+ @plugin.kb_apis = ::Killbill::Plugin::KillbillApi.new('payu_latam', svcs)
44
44
 
45
- @plugin.logger = Logger.new(STDOUT)
46
- @plugin.logger.level = Logger::INFO
47
- @plugin.conf_dir = File.expand_path(File.dirname(__FILE__) + '../../../../')
48
45
  @plugin.start_plugin
49
46
 
47
+ @call_context = build_call_context
48
+
50
49
  @properties = []
51
50
  # Go through Brazil (supports auth/capture)
52
- @properties << create_pm_kv_info('payment_processor_account_id', 'brazil')
51
+ @properties << build_property('payment_processor_account_id', 'brazil')
53
52
  # Required CVV for token-based transactions
54
- @properties << create_pm_kv_info('security_code', '123')
55
- @properties << create_pm_kv_info('payment_country', 'BR')
53
+ @properties << build_property('security_code', '123')
54
+ @properties << build_property('payment_country', 'BR')
56
55
 
57
- @pm = create_payment_method(::Killbill::PayuLatam::PayuLatamPaymentMethod, nil, @call_context.tenant_id, @properties, valid_cc_info)
58
- @amount = BigDecimal.new('500')
59
- @currency = 'BRL'
56
+ @pm = create_payment_method(::Killbill::PayuLatam::PayuLatamPaymentMethod, nil, @call_context.tenant_id, @properties, valid_cc_info)
57
+ @amount = BigDecimal.new('500')
58
+ @currency = 'BRL'
60
59
 
61
60
  kb_payment_id = SecureRandom.uuid
62
61
  1.upto(6) do
63
- @kb_payment = @payment_api.add_payment(kb_payment_id)
62
+ @kb_payment = @plugin.kb_apis.proxied_services[:payment_api].add_payment(kb_payment_id)
64
63
  end
65
64
  end
66
65
 
@@ -165,7 +164,7 @@ describe Killbill::PayuLatam::PaymentPlugin do
165
164
 
166
165
  # HPP
167
166
  it 'should generate vouchers correctly' do
168
- properties = [create_pm_kv_info('payment_processor_account_id', 'colombia')]
167
+ properties = [build_property('payment_processor_account_id', 'colombia')]
169
168
  nb_payments = @payment_api.payments.size
170
169
 
171
170
  # Generate the voucher
@@ -195,9 +194,9 @@ describe Killbill::PayuLatam::PaymentPlugin do
195
194
  payment.transactions[0].external_key.should == payment_properties[:externalKey]
196
195
 
197
196
  # Trigger manually the purchase call (this is done automatically in a live system)
198
- properties << create_pm_kv_info('from_hpp', 'true')
199
- properties << create_pm_kv_info('payu_order_id', payu_order_id)
200
- properties << create_pm_kv_info('payu_transaction_id', payu_transaction_id)
197
+ properties << build_property('from_hpp', 'true')
198
+ properties << build_property('payu_order_id', payu_order_id)
199
+ properties << build_property('payu_transaction_id', payu_transaction_id)
201
200
  payment_response = @plugin.purchase_payment(@pm.kb_account_id, payment.id, payment.transactions[0].id, @pm.id, payment_properties[:amount], payment_properties[:currency], properties, @plugin.kb_apis.create_context(@call_context.tenant_id))
202
201
  payment_response.status.should == :PENDING
203
202
 
@@ -211,7 +210,13 @@ describe Killbill::PayuLatam::PaymentPlugin do
211
210
  response.payment_processor_account_id.should == 'colombia'
212
211
  response.kb_tenant_id.should == @call_context.tenant_id
213
212
 
214
- # Verify the payment in PayU
213
+ # Verify the pending payment has been created in Kill Bill
214
+ @payment_api.payments.size.should == nb_payments + 1
215
+ payment = @payment_api.payments[-1]
216
+ payment.transactions.size.should == 1
217
+ payment.transactions[0].external_key.should == payment_properties[:externalKey]
218
+
219
+ # Verify the payment in PayU (simulate the Kill Bill polling)
215
220
  t_info_plugins = @plugin.get_payment_info(@pm.kb_account_id, payment.id, properties, @plugin.kb_apis.create_context(@call_context.tenant_id))
216
221
  t_info_plugins.size.should == 1
217
222
  t_info_plugin = t_info_plugins[0]
@@ -227,6 +232,9 @@ describe Killbill::PayuLatam::PaymentPlugin do
227
232
 
228
233
  def valid_cc_info
229
234
  {
235
+ # To work-around fraud detection bugs in the sandbox
236
+ :country => 'BR',
237
+ :zip => '19999-999',
230
238
  # We can't use the default credit card number as it's seen as a US one (the testing account doesn't allow international credit cards)
231
239
  :cc_number => '4422120000000008',
232
240
  # Enter APPROVED for the cardholder name value if you want the transaction to be approved or REJECTED if you want it to be rejected
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: killbill-payu-latam
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kill Bill core team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-09 00:00:00.000000000 Z
11
+ date: 2015-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: killbill
@@ -16,12 +16,12 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 3.2.0
19
+ version: 4.0.0
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - ~>
23
23
  - !ruby/object:Gem::Version
24
- version: 3.2.0
24
+ version: 4.0.0
25
25
  prerelease: false
26
26
  type: :runtime
27
27
  - !ruby/object:Gem::Dependency
@@ -53,35 +53,35 @@ dependencies:
53
53
  prerelease: false
54
54
  type: :runtime
55
55
  - !ruby/object:Gem::Dependency
56
- name: activerecord
56
+ name: sinatra
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 4.1.0
61
+ version: 1.3.4
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - ~>
65
65
  - !ruby/object:Gem::Version
66
- version: 4.1.0
66
+ version: 1.3.4
67
67
  prerelease: false
68
68
  type: :runtime
69
69
  - !ruby/object:Gem::Dependency
70
- name: actionpack
70
+ name: thread_safe
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: 4.1.0
75
+ version: 0.3.4
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - ~>
79
79
  - !ruby/object:Gem::Version
80
- version: 4.1.0
80
+ version: 0.3.4
81
81
  prerelease: false
82
82
  type: :runtime
83
83
  - !ruby/object:Gem::Dependency
84
- name: actionview
84
+ name: activerecord
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ~>
@@ -95,87 +95,101 @@ dependencies:
95
95
  prerelease: false
96
96
  type: :runtime
97
97
  - !ruby/object:Gem::Dependency
98
- name: activesupport
98
+ name: activerecord-bogacs
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ~>
102
102
  - !ruby/object:Gem::Version
103
- version: 4.1.0
103
+ version: '0.3'
104
104
  requirement: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - ~>
107
107
  - !ruby/object:Gem::Version
108
- version: 4.1.0
108
+ version: '0.3'
109
109
  prerelease: false
110
110
  type: :runtime
111
111
  - !ruby/object:Gem::Dependency
112
- name: money
112
+ name: activerecord-jdbc-adapter
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: 6.1.1
117
+ version: '1.3'
118
118
  requirement: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - ~>
121
121
  - !ruby/object:Gem::Version
122
- version: 6.1.1
122
+ version: '1.3'
123
123
  prerelease: false
124
124
  type: :runtime
125
125
  - !ruby/object:Gem::Dependency
126
- name: monetize
126
+ name: jruby-openssl
127
127
  version_requirements: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ~>
130
130
  - !ruby/object:Gem::Version
131
- version: 0.3.0
131
+ version: 0.9.6
132
132
  requirement: !ruby/object:Gem::Requirement
133
133
  requirements:
134
134
  - - ~>
135
135
  - !ruby/object:Gem::Version
136
- version: 0.3.0
136
+ version: 0.9.6
137
137
  prerelease: false
138
138
  type: :runtime
139
139
  - !ruby/object:Gem::Dependency
140
- name: sinatra
140
+ name: actionpack
141
141
  version_requirements: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ~>
144
144
  - !ruby/object:Gem::Version
145
- version: 1.3.4
145
+ version: 4.1.0
146
146
  requirement: !ruby/object:Gem::Requirement
147
147
  requirements:
148
148
  - - ~>
149
149
  - !ruby/object:Gem::Version
150
- version: 1.3.4
150
+ version: 4.1.0
151
151
  prerelease: false
152
152
  type: :runtime
153
153
  - !ruby/object:Gem::Dependency
154
- name: activerecord-jdbcmysql-adapter
154
+ name: actionview
155
155
  version_requirements: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ~>
158
158
  - !ruby/object:Gem::Version
159
- version: 1.3.7
159
+ version: 4.1.0
160
160
  requirement: !ruby/object:Gem::Requirement
161
161
  requirements:
162
162
  - - ~>
163
163
  - !ruby/object:Gem::Version
164
- version: 1.3.7
164
+ version: 4.1.0
165
165
  prerelease: false
166
166
  type: :runtime
167
167
  - !ruby/object:Gem::Dependency
168
- name: jruby-openssl
168
+ name: monetize
169
169
  version_requirements: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - ~>
172
172
  - !ruby/object:Gem::Version
173
- version: 0.9.4
173
+ version: 1.1.0
174
174
  requirement: !ruby/object:Gem::Requirement
175
175
  requirements:
176
176
  - - ~>
177
177
  - !ruby/object:Gem::Version
178
- version: 0.9.4
178
+ version: 1.1.0
179
+ prerelease: false
180
+ type: :runtime
181
+ - !ruby/object:Gem::Dependency
182
+ name: money
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ~>
186
+ - !ruby/object:Gem::Version
187
+ version: 6.5.1
188
+ requirement: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ~>
191
+ - !ruby/object:Gem::Version
192
+ version: 6.5.1
179
193
  prerelease: false
180
194
  type: :runtime
181
195
  - !ruby/object:Gem::Dependency
@@ -184,12 +198,12 @@ dependencies:
184
198
  requirements:
185
199
  - - ~>
186
200
  - !ruby/object:Gem::Version
187
- version: 0.4.1
201
+ version: 0.4.3
188
202
  requirement: !ruby/object:Gem::Requirement
189
203
  requirements:
190
204
  - - ~>
191
205
  - !ruby/object:Gem::Version
192
- version: 0.4.1
206
+ version: 0.4.3
193
207
  prerelease: false
194
208
  type: :development
195
209
  - !ruby/object:Gem::Dependency
@@ -221,17 +235,31 @@ dependencies:
221
235
  prerelease: false
222
236
  type: :development
223
237
  - !ruby/object:Gem::Dependency
224
- name: activerecord-jdbcsqlite3-adapter
238
+ name: jdbc-sqlite3
239
+ version_requirements: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ~>
242
+ - !ruby/object:Gem::Version
243
+ version: '3.7'
244
+ requirement: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - ~>
247
+ - !ruby/object:Gem::Version
248
+ version: '3.7'
249
+ prerelease: false
250
+ type: :development
251
+ - !ruby/object:Gem::Dependency
252
+ name: jdbc-mariadb
225
253
  version_requirements: !ruby/object:Gem::Requirement
226
254
  requirements:
227
255
  - - ~>
228
256
  - !ruby/object:Gem::Version
229
- version: 1.3.7
257
+ version: '1.1'
230
258
  requirement: !ruby/object:Gem::Requirement
231
259
  requirements:
232
260
  - - ~>
233
261
  - !ruby/object:Gem::Version
234
- version: 1.3.7
262
+ version: '1.1'
235
263
  prerelease: false
236
264
  type: :development
237
265
  description: Kill Bill payment plugin for PayU Latam.
@@ -243,7 +271,10 @@ files:
243
271
  - .gitignore
244
272
  - .travis.yml
245
273
  - Gemfile
274
+ - Gemfile.head
275
+ - Gemfile.lock
246
276
  - Jarfile
277
+ - Jarfile.lock
247
278
  - LICENSE
248
279
  - NEWS
249
280
  - README.md
@@ -268,7 +299,7 @@ files:
268
299
  - spec/payu_latam/base_plugin_spec.rb
269
300
  - spec/payu_latam/remote/integration_spec.rb
270
301
  - spec/spec_helper.rb
271
- homepage: http://kill-bill.org
302
+ homepage: http://killbill.io
272
303
  licenses:
273
304
  - Apache License (2.0)
274
305
  metadata: {}
@@ -290,11 +321,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
321
  version: '0'
291
322
  requirements: []
292
323
  rubyforge_project:
293
- rubygems_version: 2.2.2
324
+ rubygems_version: 2.1.9
294
325
  signing_key:
295
326
  specification_version: 4
296
327
  summary: Plugin to use PayU Latam as a gateway.
297
- test_files:
298
- - spec/payu_latam/base_plugin_spec.rb
299
- - spec/payu_latam/remote/integration_spec.rb
300
- - spec/spec_helper.rb
328
+ test_files: []