killbill 4.0.0 → 4.1.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/Gemfile.lock +12 -3
- data/Jarfile +8 -7
- data/Jarfile.lock +9 -8
- data/README.md +131 -108
- data/gen_config/api.conf +1 -1
- data/gen_config/plugin_api.conf +7 -6
- data/generators/active_merchant/templates/Jarfile.rb +7 -7
- data/generators/active_merchant/templates/plugin.gemspec.rb +2 -3
- data/killbill.gemspec +5 -2
- data/lib/killbill.rb +26 -22
- data/lib/killbill/gen/api/admin_payment_api.rb +76 -0
- data/lib/killbill/gen/api/payment_api.rb +82 -0
- data/lib/killbill/gen/api/payment_gateway_api.rb +75 -0
- data/lib/killbill/gen/api/require_gen.rb +1 -0
- data/lib/killbill/gen/plugin-api/catalog_plugin_api.rb +76 -0
- data/lib/killbill/gen/plugin-api/on_failure_payment_routing_result.rb +65 -0
- data/lib/killbill/gen/plugin-api/on_success_payment_routing_result.rb +53 -0
- data/lib/killbill/gen/plugin-api/payment_routing_api_exception.rb +51 -0
- data/lib/killbill/gen/plugin-api/payment_routing_context.rb +246 -0
- data/lib/killbill/gen/plugin-api/payment_routing_plugin_api.rb +138 -0
- data/lib/killbill/gen/plugin-api/prior_payment_routing_result.rb +107 -0
- data/lib/killbill/gen/plugin-api/require_gen.rb +9 -0
- data/lib/killbill/gen/plugin-api/standalone_plugin_catalog.rb +174 -0
- data/lib/killbill/gen/plugin-api/versioned_plugin_catalog.rb +83 -0
- data/lib/killbill/helpers/active_merchant.rb +6 -4
- data/lib/killbill/helpers/active_merchant/active_record/models/response.rb +16 -4
- data/lib/killbill/helpers/active_merchant/configuration.rb +7 -2
- data/lib/killbill/helpers/active_merchant/gateway.rb +76 -5
- data/lib/killbill/helpers/active_merchant/payment_plugin.rb +12 -8
- data/lib/killbill/helpers/catalog.rb +15 -0
- data/lib/killbill/payment_control.rb +23 -0
- data/lib/killbill/version.rb +3 -0
- data/spec/killbill/helpers/configuration_spec.rb +18 -4
- data/spec/killbill/helpers/payment_plugin_spec.rb +140 -36
- data/spec/killbill/helpers/response_spec.rb +1 -1
- metadata +49 -5
- data/VERSION +0 -1
@@ -1,9 +1,9 @@
|
|
1
|
-
jar 'org.kill-bill.billing:killbill-api', '0.
|
2
|
-
jar 'org.kill-bill.billing.plugin:killbill-plugin-api-currency', '0.
|
3
|
-
jar 'org.kill-bill.billing.plugin:killbill-plugin-api-invoice', '0.
|
4
|
-
jar 'org.kill-bill.billing.plugin:killbill-plugin-api-notification', '0.
|
5
|
-
jar 'org.kill-bill.billing.plugin:killbill-plugin-api-payment', '0.
|
6
|
-
jar 'org.kill-bill.billing.plugin:killbill-plugin-api-routing', '0.
|
7
|
-
jar 'org.kill-bill.billing:killbill-util:tests', '0.
|
1
|
+
jar 'org.kill-bill.billing:killbill-api', '0.17'
|
2
|
+
jar 'org.kill-bill.billing.plugin:killbill-plugin-api-currency', '0.10'
|
3
|
+
jar 'org.kill-bill.billing.plugin:killbill-plugin-api-invoice', '0.10'
|
4
|
+
jar 'org.kill-bill.billing.plugin:killbill-plugin-api-notification', '0.10'
|
5
|
+
jar 'org.kill-bill.billing.plugin:killbill-plugin-api-payment', '0.10'
|
6
|
+
jar 'org.kill-bill.billing.plugin:killbill-plugin-api-routing', '0.10'
|
7
|
+
jar 'org.kill-bill.billing:killbill-util:tests', '0.14.0'
|
8
8
|
jar 'org.mockito:mockito-all', '1.10.19'
|
9
9
|
jar 'javax.servlet:javax.servlet-api', '3.1.0'
|
@@ -29,9 +29,8 @@ Gem::Specification.new do |s|
|
|
29
29
|
s.add_dependency 'activerecord', '~> 4.1.0'
|
30
30
|
if defined?(JRUBY_VERSION)
|
31
31
|
s.add_dependency 'activerecord-bogacs', '~> 0.3'
|
32
|
-
s.add_dependency 'activerecord-jdbc-adapter', '~> 1.3'
|
33
|
-
|
34
|
-
s.add_dependency 'jruby-openssl', '~> 0.9.6'
|
32
|
+
s.add_dependency 'activerecord-jdbc-adapter', '~> 1.3', '< 1.5'
|
33
|
+
s.add_dependency 'jruby-openssl', '~> 0.9.7'
|
35
34
|
end
|
36
35
|
s.add_dependency 'actionpack', '~> 4.1.0'
|
37
36
|
s.add_dependency 'actionview', '~> 4.1.0'
|
data/killbill.gemspec
CHANGED
@@ -1,8 +1,11 @@
|
|
1
|
-
|
1
|
+
# coding: utf-8
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'killbill'
|
5
|
-
|
5
|
+
|
6
|
+
path = File.expand_path('lib/killbill/version.rb', File.dirname(__FILE__))
|
7
|
+
s.version = File.read(path).match( /.*VERSION\s*=\s*['"](.*)['"]/m )[1]
|
8
|
+
|
6
9
|
s.summary = 'Framework to write Kill Bill plugins in Ruby.'
|
7
10
|
s.description = 'Base classes to write plugins.'
|
8
11
|
|
data/lib/killbill.rb
CHANGED
@@ -1,22 +1,21 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# Add method snake_case to String as early as possible so all classes below can use it
|
2
|
+
class String
|
3
|
+
def snake_case
|
4
|
+
return downcase if match(/\A[A-Z]+\z/)
|
5
|
+
gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
|
6
|
+
gsub(/([a-z])([A-Z])/, '\1_\2').
|
7
|
+
downcase
|
8
|
+
end
|
3
9
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
return downcase if match(/\A[A-Z]+\z/)
|
8
|
-
gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
|
9
|
-
gsub(/([a-z])([A-Z])/, '\1_\2').
|
10
|
-
downcase
|
10
|
+
def to_class
|
11
|
+
self.split('::').inject(Kernel) do |mod, class_name|
|
12
|
+
mod.const_get(class_name)
|
11
13
|
end
|
14
|
+
end
|
15
|
+
end
|
12
16
|
|
13
|
-
|
14
|
-
|
15
|
-
mod.const_get(class_name)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
17
|
+
begin
|
18
|
+
require 'java'
|
20
19
|
|
21
20
|
#
|
22
21
|
# The Killbill Java APIs imported into that jruby bridge
|
@@ -59,9 +58,14 @@ end
|
|
59
58
|
|
60
59
|
require 'tzinfo'
|
61
60
|
require 'bigdecimal'
|
62
|
-
|
63
|
-
|
64
|
-
require 'killbill/
|
65
|
-
require 'killbill/
|
66
|
-
require 'killbill/
|
67
|
-
require 'killbill/
|
61
|
+
|
62
|
+
module Killbill
|
63
|
+
require 'killbill/gen/api/require_gen'
|
64
|
+
require 'killbill/gen/plugin-api/require_gen'
|
65
|
+
require 'killbill/notification'
|
66
|
+
require 'killbill/payment'
|
67
|
+
require 'killbill/payment_control'
|
68
|
+
require 'killbill/invoice'
|
69
|
+
require 'killbill/currency'
|
70
|
+
end
|
71
|
+
KillBill = Killbill
|
@@ -0,0 +1,76 @@
|
|
1
|
+
#############################################################################################
|
2
|
+
# #
|
3
|
+
# Copyright 2010-2013 Ning, Inc. #
|
4
|
+
# Copyright 2014 Groupon, Inc. #
|
5
|
+
# Copyright 2014 The Billing Project, LLC #
|
6
|
+
# #
|
7
|
+
# The Billing Project licenses this file to you under the Apache License, version 2.0 #
|
8
|
+
# (the "License"); you may not use this file except in compliance with the #
|
9
|
+
# License. You may obtain a copy of the License at: #
|
10
|
+
# #
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0 #
|
12
|
+
# #
|
13
|
+
# Unless required by applicable law or agreed to in writing, software #
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT #
|
15
|
+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the #
|
16
|
+
# License for the specific language governing permissions and limitations #
|
17
|
+
# under the License. #
|
18
|
+
# #
|
19
|
+
#############################################################################################
|
20
|
+
|
21
|
+
|
22
|
+
#
|
23
|
+
# DO NOT EDIT!!!
|
24
|
+
# File automatically generated by killbill-java-parser (git@github.com:killbill/killbill-java-parser.git)
|
25
|
+
#
|
26
|
+
|
27
|
+
|
28
|
+
module Killbill
|
29
|
+
module Plugin
|
30
|
+
module Api
|
31
|
+
|
32
|
+
java_package 'org.killbill.billing.payment.api'
|
33
|
+
class AdminPaymentApi
|
34
|
+
|
35
|
+
include org.killbill.billing.payment.api.AdminPaymentApi
|
36
|
+
|
37
|
+
def initialize(real_java_api)
|
38
|
+
@real_java_api = real_java_api
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
java_signature 'Java::void fixPaymentTransactionState(Java::org.killbill.billing.payment.api.Payment, Java::org.killbill.billing.payment.api.PaymentTransaction, Java::org.killbill.billing.payment.api.TransactionStatus, Java::java.lang.String, Java::java.lang.String, Java::java.lang.Iterable, Java::org.killbill.billing.util.callcontext.CallContext)'
|
43
|
+
def fix_payment_transaction_state(payment, paymentTransaction, transactionStatus, lastSuccessPaymentState, currentPaymentStateName, properties, context)
|
44
|
+
|
45
|
+
# conversion for payment [type = org.killbill.billing.payment.api.Payment]
|
46
|
+
payment = payment.to_java unless payment.nil?
|
47
|
+
|
48
|
+
# conversion for paymentTransaction [type = org.killbill.billing.payment.api.PaymentTransaction]
|
49
|
+
paymentTransaction = paymentTransaction.to_java unless paymentTransaction.nil?
|
50
|
+
|
51
|
+
# conversion for transactionStatus [type = org.killbill.billing.payment.api.TransactionStatus]
|
52
|
+
transactionStatus = Java::org.killbill.billing.payment.api.TransactionStatus.value_of( transactionStatus.to_s ) unless transactionStatus.nil?
|
53
|
+
|
54
|
+
# conversion for lastSuccessPaymentState [type = java.lang.String]
|
55
|
+
lastSuccessPaymentState = lastSuccessPaymentState.to_s unless lastSuccessPaymentState.nil?
|
56
|
+
|
57
|
+
# conversion for currentPaymentStateName [type = java.lang.String]
|
58
|
+
currentPaymentStateName = currentPaymentStateName.to_s unless currentPaymentStateName.nil?
|
59
|
+
|
60
|
+
# conversion for properties [type = java.lang.Iterable]
|
61
|
+
tmp = java.util.ArrayList.new
|
62
|
+
(properties || []).each do |m|
|
63
|
+
# conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
|
64
|
+
m = m.to_java unless m.nil?
|
65
|
+
tmp.add(m)
|
66
|
+
end
|
67
|
+
properties = tmp
|
68
|
+
|
69
|
+
# conversion for context [type = org.killbill.billing.util.callcontext.CallContext]
|
70
|
+
context = context.to_java unless context.nil?
|
71
|
+
@real_java_api.fix_payment_transaction_state(payment, paymentTransaction, transactionStatus, lastSuccessPaymentState, currentPaymentStateName, properties, context)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -183,6 +183,52 @@ module Killbill
|
|
183
183
|
end
|
184
184
|
end
|
185
185
|
|
186
|
+
java_signature 'Java::org.killbill.billing.payment.api.Payment createCaptureWithPaymentControl(Java::org.killbill.billing.account.api.Account, Java::java.util.UUID, Java::java.math.BigDecimal, Java::org.killbill.billing.catalog.api.Currency, Java::java.lang.String, Java::java.lang.Iterable, Java::org.killbill.billing.payment.api.PaymentOptions, Java::org.killbill.billing.util.callcontext.CallContext)'
|
187
|
+
def create_capture_with_payment_control(account, paymentId, amount, currency, paymentTransactionExternalKey, properties, paymentOptions, context)
|
188
|
+
|
189
|
+
# conversion for account [type = org.killbill.billing.account.api.Account]
|
190
|
+
account = account.to_java unless account.nil?
|
191
|
+
|
192
|
+
# conversion for paymentId [type = java.util.UUID]
|
193
|
+
paymentId = java.util.UUID.fromString(paymentId.to_s) unless paymentId.nil?
|
194
|
+
|
195
|
+
# conversion for amount [type = java.math.BigDecimal]
|
196
|
+
if amount.nil?
|
197
|
+
amount = java.math.BigDecimal::ZERO
|
198
|
+
else
|
199
|
+
amount = java.math.BigDecimal.new(amount.to_s)
|
200
|
+
end
|
201
|
+
|
202
|
+
# conversion for currency [type = org.killbill.billing.catalog.api.Currency]
|
203
|
+
currency = Java::org.killbill.billing.catalog.api.Currency.value_of( currency.to_s ) unless currency.nil?
|
204
|
+
|
205
|
+
# conversion for paymentTransactionExternalKey [type = java.lang.String]
|
206
|
+
paymentTransactionExternalKey = paymentTransactionExternalKey.to_s unless paymentTransactionExternalKey.nil?
|
207
|
+
|
208
|
+
# conversion for properties [type = java.lang.Iterable]
|
209
|
+
tmp = java.util.ArrayList.new
|
210
|
+
(properties || []).each do |m|
|
211
|
+
# conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
|
212
|
+
m = m.to_java unless m.nil?
|
213
|
+
tmp.add(m)
|
214
|
+
end
|
215
|
+
properties = tmp
|
216
|
+
|
217
|
+
# conversion for paymentOptions [type = org.killbill.billing.payment.api.PaymentOptions]
|
218
|
+
paymentOptions = paymentOptions.to_java unless paymentOptions.nil?
|
219
|
+
|
220
|
+
# conversion for context [type = org.killbill.billing.util.callcontext.CallContext]
|
221
|
+
context = context.to_java unless context.nil?
|
222
|
+
begin
|
223
|
+
res = @real_java_api.create_capture_with_payment_control(account, paymentId, amount, currency, paymentTransactionExternalKey, properties, paymentOptions, context)
|
224
|
+
# conversion for res [type = org.killbill.billing.payment.api.Payment]
|
225
|
+
res = Killbill::Plugin::Model::Payment.new.to_ruby(res) unless res.nil?
|
226
|
+
return res
|
227
|
+
rescue Java::org.killbill.billing.payment.api.PaymentApiException => e
|
228
|
+
raise Killbill::Plugin::Model::PaymentApiException.new.to_ruby(e)
|
229
|
+
end
|
230
|
+
end
|
231
|
+
|
186
232
|
java_signature 'Java::org.killbill.billing.payment.api.Payment createPurchase(Java::org.killbill.billing.account.api.Account, Java::java.util.UUID, Java::java.util.UUID, Java::java.math.BigDecimal, Java::org.killbill.billing.catalog.api.Currency, Java::java.lang.String, Java::java.lang.String, Java::java.lang.Iterable, Java::org.killbill.billing.util.callcontext.CallContext)'
|
187
233
|
def create_purchase(account, paymentMethodId, paymentId, amount, currency, paymentExternalKey, paymentTransactionExternalKey, properties, context)
|
188
234
|
|
@@ -317,6 +363,42 @@ module Killbill
|
|
317
363
|
end
|
318
364
|
end
|
319
365
|
|
366
|
+
java_signature 'Java::org.killbill.billing.payment.api.Payment createVoidWithPaymentControl(Java::org.killbill.billing.account.api.Account, Java::java.util.UUID, Java::java.lang.String, Java::java.lang.Iterable, Java::org.killbill.billing.payment.api.PaymentOptions, Java::org.killbill.billing.util.callcontext.CallContext)'
|
367
|
+
def create_void_with_payment_control(account, paymentId, paymentTransactionExternalKey, properties, paymentOptions, context)
|
368
|
+
|
369
|
+
# conversion for account [type = org.killbill.billing.account.api.Account]
|
370
|
+
account = account.to_java unless account.nil?
|
371
|
+
|
372
|
+
# conversion for paymentId [type = java.util.UUID]
|
373
|
+
paymentId = java.util.UUID.fromString(paymentId.to_s) unless paymentId.nil?
|
374
|
+
|
375
|
+
# conversion for paymentTransactionExternalKey [type = java.lang.String]
|
376
|
+
paymentTransactionExternalKey = paymentTransactionExternalKey.to_s unless paymentTransactionExternalKey.nil?
|
377
|
+
|
378
|
+
# conversion for properties [type = java.lang.Iterable]
|
379
|
+
tmp = java.util.ArrayList.new
|
380
|
+
(properties || []).each do |m|
|
381
|
+
# conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
|
382
|
+
m = m.to_java unless m.nil?
|
383
|
+
tmp.add(m)
|
384
|
+
end
|
385
|
+
properties = tmp
|
386
|
+
|
387
|
+
# conversion for paymentOptions [type = org.killbill.billing.payment.api.PaymentOptions]
|
388
|
+
paymentOptions = paymentOptions.to_java unless paymentOptions.nil?
|
389
|
+
|
390
|
+
# conversion for context [type = org.killbill.billing.util.callcontext.CallContext]
|
391
|
+
context = context.to_java unless context.nil?
|
392
|
+
begin
|
393
|
+
res = @real_java_api.create_void_with_payment_control(account, paymentId, paymentTransactionExternalKey, properties, paymentOptions, context)
|
394
|
+
# conversion for res [type = org.killbill.billing.payment.api.Payment]
|
395
|
+
res = Killbill::Plugin::Model::Payment.new.to_ruby(res) unless res.nil?
|
396
|
+
return res
|
397
|
+
rescue Java::org.killbill.billing.payment.api.PaymentApiException => e
|
398
|
+
raise Killbill::Plugin::Model::PaymentApiException.new.to_ruby(e)
|
399
|
+
end
|
400
|
+
end
|
401
|
+
|
320
402
|
java_signature 'Java::org.killbill.billing.payment.api.Payment createRefund(Java::org.killbill.billing.account.api.Account, Java::java.util.UUID, Java::java.math.BigDecimal, Java::org.killbill.billing.catalog.api.Currency, Java::java.lang.String, Java::java.lang.Iterable, Java::org.killbill.billing.util.callcontext.CallContext)'
|
321
403
|
def create_refund(account, paymentId, amount, currency, paymentTransactionExternalKey, properties, context)
|
322
404
|
|
@@ -78,6 +78,48 @@ module Killbill
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
+
java_signature 'Java::org.killbill.billing.payment.plugin.api.HostedPaymentPageFormDescriptor buildFormDescriptorWithPaymentControl(Java::org.killbill.billing.account.api.Account, Java::java.util.UUID, Java::java.lang.Iterable, Java::java.lang.Iterable, Java::org.killbill.billing.payment.api.PaymentOptions, Java::org.killbill.billing.util.callcontext.CallContext)'
|
82
|
+
def build_form_descriptor_with_payment_control(account, paymentMethodId, customFields, properties, paymentOptions, context)
|
83
|
+
|
84
|
+
# conversion for account [type = org.killbill.billing.account.api.Account]
|
85
|
+
account = account.to_java unless account.nil?
|
86
|
+
|
87
|
+
# conversion for paymentMethodId [type = java.util.UUID]
|
88
|
+
paymentMethodId = java.util.UUID.fromString(paymentMethodId.to_s) unless paymentMethodId.nil?
|
89
|
+
|
90
|
+
# conversion for customFields [type = java.lang.Iterable]
|
91
|
+
tmp = java.util.ArrayList.new
|
92
|
+
(customFields || []).each do |m|
|
93
|
+
# conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
|
94
|
+
m = m.to_java unless m.nil?
|
95
|
+
tmp.add(m)
|
96
|
+
end
|
97
|
+
customFields = tmp
|
98
|
+
|
99
|
+
# conversion for properties [type = java.lang.Iterable]
|
100
|
+
tmp = java.util.ArrayList.new
|
101
|
+
(properties || []).each do |m|
|
102
|
+
# conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
|
103
|
+
m = m.to_java unless m.nil?
|
104
|
+
tmp.add(m)
|
105
|
+
end
|
106
|
+
properties = tmp
|
107
|
+
|
108
|
+
# conversion for paymentOptions [type = org.killbill.billing.payment.api.PaymentOptions]
|
109
|
+
paymentOptions = paymentOptions.to_java unless paymentOptions.nil?
|
110
|
+
|
111
|
+
# conversion for context [type = org.killbill.billing.util.callcontext.CallContext]
|
112
|
+
context = context.to_java unless context.nil?
|
113
|
+
begin
|
114
|
+
res = @real_java_api.build_form_descriptor_with_payment_control(account, paymentMethodId, customFields, properties, paymentOptions, context)
|
115
|
+
# conversion for res [type = org.killbill.billing.payment.plugin.api.HostedPaymentPageFormDescriptor]
|
116
|
+
res = Killbill::Plugin::Model::HostedPaymentPageFormDescriptor.new.to_ruby(res) unless res.nil?
|
117
|
+
return res
|
118
|
+
rescue Java::org.killbill.billing.payment.api.PaymentApiException => e
|
119
|
+
raise Killbill::Plugin::Model::PaymentApiException.new.to_ruby(e)
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
81
123
|
java_signature 'Java::org.killbill.billing.payment.plugin.api.GatewayNotification processNotification(Java::java.lang.String, Java::java.lang.String, Java::java.lang.Iterable, Java::org.killbill.billing.util.callcontext.CallContext)'
|
82
124
|
def process_notification(notification, pluginName, properties, context)
|
83
125
|
|
@@ -107,6 +149,39 @@ module Killbill
|
|
107
149
|
raise Killbill::Plugin::Model::PaymentApiException.new.to_ruby(e)
|
108
150
|
end
|
109
151
|
end
|
152
|
+
|
153
|
+
java_signature 'Java::org.killbill.billing.payment.plugin.api.GatewayNotification processNotificationWithPaymentControl(Java::java.lang.String, Java::java.lang.String, Java::java.lang.Iterable, Java::org.killbill.billing.payment.api.PaymentOptions, Java::org.killbill.billing.util.callcontext.CallContext)'
|
154
|
+
def process_notification_with_payment_control(notification, pluginName, properties, paymentOptions, context)
|
155
|
+
|
156
|
+
# conversion for notification [type = java.lang.String]
|
157
|
+
notification = notification.to_s unless notification.nil?
|
158
|
+
|
159
|
+
# conversion for pluginName [type = java.lang.String]
|
160
|
+
pluginName = pluginName.to_s unless pluginName.nil?
|
161
|
+
|
162
|
+
# conversion for properties [type = java.lang.Iterable]
|
163
|
+
tmp = java.util.ArrayList.new
|
164
|
+
(properties || []).each do |m|
|
165
|
+
# conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
|
166
|
+
m = m.to_java unless m.nil?
|
167
|
+
tmp.add(m)
|
168
|
+
end
|
169
|
+
properties = tmp
|
170
|
+
|
171
|
+
# conversion for paymentOptions [type = org.killbill.billing.payment.api.PaymentOptions]
|
172
|
+
paymentOptions = paymentOptions.to_java unless paymentOptions.nil?
|
173
|
+
|
174
|
+
# conversion for context [type = org.killbill.billing.util.callcontext.CallContext]
|
175
|
+
context = context.to_java unless context.nil?
|
176
|
+
begin
|
177
|
+
res = @real_java_api.process_notification_with_payment_control(notification, pluginName, properties, paymentOptions, context)
|
178
|
+
# conversion for res [type = org.killbill.billing.payment.plugin.api.GatewayNotification]
|
179
|
+
res = Killbill::Plugin::Model::GatewayNotification.new.to_ruby(res) unless res.nil?
|
180
|
+
return res
|
181
|
+
rescue Java::org.killbill.billing.payment.api.PaymentApiException => e
|
182
|
+
raise Killbill::Plugin::Model::PaymentApiException.new.to_ruby(e)
|
183
|
+
end
|
184
|
+
end
|
110
185
|
end
|
111
186
|
end
|
112
187
|
end
|
@@ -93,6 +93,7 @@ require 'killbill/gen/api/killbill_api'
|
|
93
93
|
require 'killbill/gen/api/plugin_config_service_api'
|
94
94
|
require 'killbill/gen/api/osgi_killbill'
|
95
95
|
require 'killbill/gen/api/osgi_plugin_properties'
|
96
|
+
require 'killbill/gen/api/admin_payment_api'
|
96
97
|
require 'killbill/gen/api/payment'
|
97
98
|
require 'killbill/gen/api/payment_api'
|
98
99
|
require 'killbill/gen/api/payment_api_exception'
|
@@ -0,0 +1,76 @@
|
|
1
|
+
#############################################################################################
|
2
|
+
# #
|
3
|
+
# Copyright 2010-2013 Ning, Inc. #
|
4
|
+
# Copyright 2014 Groupon, Inc. #
|
5
|
+
# Copyright 2014 The Billing Project, LLC #
|
6
|
+
# #
|
7
|
+
# The Billing Project licenses this file to you under the Apache License, version 2.0 #
|
8
|
+
# (the "License"); you may not use this file except in compliance with the #
|
9
|
+
# License. You may obtain a copy of the License at: #
|
10
|
+
# #
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0 #
|
12
|
+
# #
|
13
|
+
# Unless required by applicable law or agreed to in writing, software #
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT #
|
15
|
+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the #
|
16
|
+
# License for the specific language governing permissions and limitations #
|
17
|
+
# under the License. #
|
18
|
+
# #
|
19
|
+
#############################################################################################
|
20
|
+
|
21
|
+
|
22
|
+
#
|
23
|
+
# DO NOT EDIT!!!
|
24
|
+
# File automatically generated by killbill-java-parser (git@github.com:killbill/killbill-java-parser.git)
|
25
|
+
#
|
26
|
+
|
27
|
+
|
28
|
+
require 'killbill/gen/plugin-api/notification_plugin_api'
|
29
|
+
module Killbill
|
30
|
+
module Plugin
|
31
|
+
module Api
|
32
|
+
|
33
|
+
java_package 'org.killbill.billing.catalog.plugin.api'
|
34
|
+
class CatalogPluginApi < NotificationPluginApi
|
35
|
+
|
36
|
+
include org.killbill.billing.catalog.plugin.api.CatalogPluginApi
|
37
|
+
|
38
|
+
def initialize(real_class_name, services = {})
|
39
|
+
super(real_class_name, services)
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
java_signature 'Java::org.killbill.billing.catalog.plugin.api.VersionedPluginCatalog getVersionedPluginCatalog(Java::java.lang.Iterable, Java::org.killbill.billing.util.callcontext.TenantContext)'
|
44
|
+
def get_versioned_plugin_catalog(properties, context)
|
45
|
+
|
46
|
+
# conversion for properties [type = java.lang.Iterable]
|
47
|
+
tmp = []
|
48
|
+
(properties.nil? ? [] : properties.iterator).each do |m|
|
49
|
+
# conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
|
50
|
+
m = Killbill::Plugin::Model::PluginProperty.new.to_ruby(m) unless m.nil?
|
51
|
+
tmp << m
|
52
|
+
end
|
53
|
+
properties = tmp
|
54
|
+
|
55
|
+
# conversion for context [type = org.killbill.billing.util.callcontext.TenantContext]
|
56
|
+
context = Killbill::Plugin::Model::TenantContext.new.to_ruby(context) unless context.nil?
|
57
|
+
begin
|
58
|
+
res = @delegate_plugin.get_versioned_plugin_catalog(properties, context)
|
59
|
+
# conversion for res [type = org.killbill.billing.catalog.plugin.api.VersionedPluginCatalog]
|
60
|
+
res = res.to_java unless res.nil?
|
61
|
+
return res
|
62
|
+
rescue Exception => e
|
63
|
+
message = "Failure in get_versioned_plugin_catalog: #{e}"
|
64
|
+
unless e.backtrace.nil?
|
65
|
+
message = "#{message}\n#{e.backtrace.join("\n")}"
|
66
|
+
end
|
67
|
+
logger.warn message
|
68
|
+
raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("get_versioned_plugin_catalog failure", e.message)
|
69
|
+
ensure
|
70
|
+
@delegate_plugin.after_request
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|