Killbill-cybersource: Failed to add payment method

267 views
Skip to first unread message

vch...@gmail.com

unread,
Jun 21, 2017, 10:40:11 AM6/21/17
to Kill Bill users mailing-list
Hello,

I'm using killbill-cybersource 5.2.2 and killbill 0.18.10 when I try to add a payment method to an account, I receive the following error:
{"className":"org.killbill.billing.payment.api.PaymentApiException","code":7005,"message":"Failed to add payment method for account ca719787-dac0-4569-9333-5d6579bee936 : (<unknown>): sequence entries are not allowed here at line 1 column 15","causeClassName":null,"causeMessage":null,"stackTrace":[]}ubuntu@ip-172-31-5-83:~/platform/killbill$ {"className":"org.killbill.billing.payme9-9333-5d6579bee936 : (<unknown>): sequence entries are not allowed here at line 1 column 15","causeClassName":null,"causeMessage":null,"stackTrace":[]}

And here is the output from the killbill console:

` < Content-Type: application/json
62 <

2017-06-21T13:35:31,426+0000 lvl='INFO', log='LoggingFilter', th='http-bio-9443-exec-5', xff='', rId='5d1fd2a0-5468-43df-bd62-ec6a1b4b4ce7', aRId='', tRId='1', 63 * Server in-bound request
63 > POST http://127.0.0.1:9443/1.0/kb/accounts/ca719787-dac0-4569-9333-5d6579bee936/paymentMethods?isDefault=true&pluginProperty=skip_gw=true
63 > host: 127.0.0.1:9443
63 > authorization: Basic YWRtaW46cGFzc3dvcmQ=
63 > user-agent: curl/7.47.0
63 > accept: /
63 > x-killbill-apikey: ******
63 > x-killbill-apisecret: ***********
63 > x-killbill-createdby: admin
63 > content-type: application/json
63 > content-length: 977
63 >

2017-06-21T13:35:31,680+0000 lvl='WARN', log='KillbillLogWriter', th='Thread-10', xff='', rId='5d1fd2a0-5468-43df-bd62-ec6a1b4b4ce7', aRId='1', tRId='1', [cybersource-plugin] Failure in add_payment_method: (): sequence entries are not allowed here at line 1 column 15
org/jruby/ext/psych/PsychParser.java:215:in parse' classpath:/META-INF/jruby.home/lib/ruby/shared/psych.rb:205:inparse_stream'
classpath:/META-INF/jruby.home/lib/ruby/shared/psych.rb:153:in parse' classpath:/META-INF/jruby.home/lib/ruby/shared/psych.rb:129:inload'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/helpers/active_merchant/configuration.rb:112:in get_tenant_config' /var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/helpers/active_merchant/configuration.rb:37:ingateways'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/helpers/active_merchant/payment_plugin.rb:583:in lookup_gateway' /var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/helpers/active_merchant/payment_plugin.rb:159:inadd_payment_method'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/lib/cybersource/api.rb:218:in add_payment_method' /var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/gen/plugin-api/payment_plugin_api.rb:443:inaddPaymentMethod'
Killbill$$Plugin$$Api$$PaymentPluginApi_1555657243.gen:13:in addPaymentMethod' 2017-06-21T13:35:31,729+0000 lvl='WARN', log='LoggingResponse', th='http-bio-9443-exec-5', xff='', rId='5d1fd2a0-5468-43df-bd62-ec6a1b4b4ce7', aRId='1', tRId='1', Bad request org.killbill.billing.payment.api.PaymentApiException: Failed to add payment method for account ca719787-dac0-4569-9333-5d6579bee936 : (<unknown>): sequence entries are not allowed here at line 1 column 15 at org.killbill.billing.payment.core.PaymentMethodProcessor$1.doOperation(PaymentMethodProcessor.java:141) at org.killbill.billing.payment.core.PaymentMethodProcessor$1.doOperation(PaymentMethodProcessor.java:114) at org.killbill.billing.payment.core.ProcessorBase$WithAccountLock.processAccountWithLock(ProcessorBase.java:179) at org.killbill.billing.payment.core.ProcessorBase$CallableWithAccountLock.call(ProcessorBase.java:162) at org.killbill.billing.payment.core.ProcessorBase$CallableWithAccountLock.call(ProcessorBase.java:143) at org.killbill.billing.payment.dispatcher.CallableWithRequestData.call(CallableWithRequestData.java:69) at org.killbill.commons.concurrent.WrappedCallable.call(WrappedCallable.java:42) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.killbill.commons.concurrent.WrappedRunnable.run(WrappedRunnable.java:40) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 2017-06-21T13:35:31,740+0000 lvl='INFO', log='LoggingFilter', th='http-bio-9443-exec-5', xff='', rId='5d1fd2a0-5468-43df-bd62-ec6a1b4b4ce7', aRId='1', tRId='1', 63 * Server out-bound response 63 < 400 63 < Content-Type: application/json 63 <
The API key and secret have been obscured.

What could be the cause of this?

Pierre-Alexandre Meyer

unread,
Jun 21, 2017, 10:52:52 AM6/21/17
to vch...@gmail.com, Kill Bill users mailing-list
Hello,

On Wed, Jun 21, 2017 at 3:40 PM, <vch...@gmail.com> wrote:
2017-06-21T13:35:31,680+0000 lvl='WARN', log='KillbillLogWriter', th='Thread-10', xff='', rId='5d1fd2a0-5468-43df-bd62-ec6a1b4b4ce7', aRId='1', tRId='1', [cybersource-plugin] Failure in add_payment_method: (): sequence entries are not allowed here at line 1 column 15
org/jruby/ext/psych/PsychParser.java:215:in parse'

The plugin configuration seems invalid. Take a look at the content of the tenant_kvs table, the indentation of the YAML config probably got lost during the cURL upload.

--
Pierre

Victor Chulu

unread,
Jun 21, 2017, 10:56:49 AM6/21/17
to Pierre-Alexandre Meyer, Kill Bill users mailing-list
Hello,

This is the value in the "tenant_value" column:

":cybersource: - :account_id: "*********" :login: "*****" :password: "******""

I have obscured the actual values.

Pierre-Alexandre Meyer

unread,
Jun 21, 2017, 11:24:34 AM6/21/17
to Victor Chulu, killbill...@googlegroups.com
[Adding mailing-list]

For PostgreSQL, make sure to specify the right adapter in the config, e.g.:

:cybersource:
  - :account_id: default
    :login: XXX
    :password: YYY
:database:
  :adapter: postgresql
  :database: 'killbill'


Hope that helps,

On Wed, Jun 21, 2017 at 4:06 PM, Victor Chulu <vch...@gmail.com> wrote:
Hello, I tried to fix the indetation. Now I have a new error related to Postgres syntax:

/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-jdbc-adapter-1.3.21/lib/arjdbc/jdbc/adapter.rb:595:in `_execute'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-jdbc-adapter-1.3.21/lib/arjdbc/jdbc/adapter.rb:569:in `execute'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-jdbc-adapter-1.3.21/lib/arjdbc/mysql/adapter.rb:77:in `configure_connection'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-jdbc-adapter-1.3.21/lib/arjdbc/jdbc/adapter.rb:85:in `initialize'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-jdbc-adapter-1.3.21/lib/arjdbc/jdbc/adapter.rb:44:in `new'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-jdbc-adapter-1.3.21/lib/arjdbc/jdbc/connection_methods.rb:12:in `jdbc_connection'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-jdbc-adapter-1.3.21/lib/arjdbc/jdbc/connection_methods.rb:15:in `jndi_connection'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-jdbc-adapter-1.3.21/lib/arjdbc/mysql/connection_methods.rb:6:in `mysql_connection'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-bogacs-0.5.0/lib/active_record/bogacs/pool_support.rb:12:in `new_connection'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-bogacs-0.5.0/lib/active_record/bogacs/false_pool.rb:215:in `checkout_new_connection'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-bogacs-0.5.0/lib/active_record/bogacs/false_pool.rb:142:in `checkout'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-bogacs-0.5.0/lib/active_record/bogacs/false_pool.rb:41:in `connection'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/activerecord-bogacs-0.5.0/lib/active_record/bogacs/false_pool.rb:64:in `with_connection'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/helpers/active_merchant/active_record/models/helpers.rb:38:in `with_connection'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/helpers/active_merchant/active_record/models/helpers.rb:42:in `with_connection_and_transaction'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/helpers/active_merchant/active_record/models/response.rb:54:in `create_response_and_transaction'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/helpers/active_merchant/payment_plugin.rb:575:in `save_response_and_transaction'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/helpers/active_merchant/payment_plugin.rb:161:in `add_payment_method'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/lib/cybersource/api.rb:218:in `add_payment_method'
/var/tmp/bundles/plugins/ruby/killbill-cybersource/5.2.2/ROOT/gems/gems/killbill-8.3.2/lib/killbill/gen/plugin-api/payment_plugin_api.rb:443:in `addPaymentMethod'
Killbill$$Plugin$$Api$$PaymentPluginApi_1555657243.gen:13:in `addPaymentMethod'
2017-06-21T15:04:28,357+0000 lvl='WARN', log='LoggingResponse', th='http-bio-9443-exec-8', xff='', rId='e36350d7-9bf8-4e16-b717-6fdaae50fd0d', aRId='1', tRId='1', Bad request
org.killbill.billing.payment.api.PaymentApiException: Failed to add payment method for account ca719787-dac0-4569-9333-5d6579bee936 : org.postgresql.util.PSQLException: ERROR: syntax error at or near "@@"
  Position: 6
        at org.killbill.billing.payment.core.PaymentMethodProcessor$1.doOperation(PaymentMethodProcessor.java:141)
        at org.killbill.billing.payment.core.PaymentMethodProcessor$1.doOperation(PaymentMethodProcessor.java:114)
        at org.killbill.billing.payment.core.ProcessorBase$WithAccountLock.processAccountWithLock(ProcessorBase.java:179)
        at org.killbill.billing.payment.core.ProcessorBase$CallableWithAccountLock.call(ProcessorBase.java:162)
        at org.killbill.billing.payment.core.ProcessorBase$CallableWithAccountLock.call(ProcessorBase.java:143)
        at org.killbill.billing.payment.dispatcher.CallableWithRequestData.call(CallableWithRequestData.java:69)
        at org.killbill.commons.concurrent.WrappedCallable.call(WrappedCallable.java:42)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.killbill.commons.concurrent.WrappedRunnable.run(WrappedRunnable.java:40)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)



--
Pierre

Pierre-Alexandre Meyer

unread,
Jun 23, 2017, 11:32:27 AM6/23/17
to Victor Chulu, killbill...@googlegroups.com
[Adding mailing-list]

You simply need to add the database section in the same file:

curl -v \
     -X POST \
     -u admin:password \
     -H 'X-Killbill-ApiKey: bob' \
     -H 'X-Killbill-ApiSecret: lazar' \
     -H 'X-Killbill-CreatedBy: admin' \
     -H 'Content-Type: text/plain' \
     -d ':cybersource:
  - :account_id: default
    :login: XXX
    :password: YYY
:database:
  :adapter: postgresql
  :database: 'killbill'' \


On Fri, Jun 23, 2017 at 10:10 AM, Victor Chulu <vch...@gmail.com> wrote:
Hello Pierre,

Does this mean I have to configure postgres separately for the plugin?

And can it be done with curl?



--
Pierre

Victor Chulu

unread,
Jun 27, 2017, 11:48:39 AM6/27/17
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Hello Pierre,

I added the database section, instead I get the following error from curl:

{"className":"org.killbill.billing.payment.api.PaymentApiException","code":7005,"message":"Failed to add payment method for account ca719787-dac0-4569-9333-5d6579bee936 : cannot load Java class org.postgresql.Driver","causeClassName":null,"causeMessage":null,"stackTrace":[]}

And this stack trace from the console:

org.killbill.billing.payment.api.PaymentApiException: Failed to add payment method for account ca719787-dac0-4569-9333-5d6579bee936 : cannot load Java class org.postgresql.Driver
        at org.killbill.billing.payment.core.PaymentMethodProcessor$1.doOperation(PaymentMethodProcessor.java:141)
        at org.killbill.billing.payment.core.PaymentMethodProcessor$1.doOperation(PaymentMethodProcessor.java:114)
        at org.killbill.billing.payment.core.ProcessorBase$WithAccountLock.processAccountWithLock(ProcessorBase.java:179)
        at org.killbill.billing.payment.core.ProcessorBase$CallableWithAccountLock.call(ProcessorBase.java:162)
        at org.killbill.billing.payment.core.ProcessorBase$CallableWithAccountLock.call(ProcessorBase.java:143)
        at org.killbill.billing.payment.dispatcher.CallableWithRequestData.call(CallableWithRequestData.java:69)
        at org.killbill.commons.concurrent.WrappedCallable.call(WrappedCallable.java:42)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.killbill.commons.concurrent.WrappedRunnable.run(WrappedRunnable.java:40)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

Killbill is able to use postgres successfully, but the cybersource plugin fails. Do I have to include the postgres jar somewhere?

--Victor

--
You received this message because you are subscribed to a topic in the Google Groups "Kill Bill users mailing-list" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/killbilling-users/b_KruUsP0f0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to killbilling-users+unsubscribe@googlegroups.com.
To post to this group, send email to killbilling-users@googlegroups.com.
Visit this group at https://groups.google.com/group/killbilling-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/killbilling-users/CAKXgekrTWH1em02p4We83XJT_zJA3hXGBhTFX1%3DGdfrB53gr1w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Pierre-Alexandre Meyer

unread,
Jun 29, 2017, 6:07:02 AM6/29/17
to Victor Chulu, killbill...@googlegroups.com
Hi Victor,

You need to export the PostgreSQL driver to the plugin. To do so, add the following property to your killbill.properties file (where you defined your jdbc url):

  org.killbill.osgi.system.bundle.export.packages.extra=org.postgresql

I've updated the README to reflect this:



--
You received this message because you are subscribed to the Google Groups "Kill Bill users mailing-list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to killbilling-users+unsubscribe@googlegroups.com.

To post to this group, send email to killbilling-users@googlegroups.com.
Visit this group at https://groups.google.com/group/killbilling-users.

For more options, visit https://groups.google.com/d/optout.



--
Pierre

Victor Chulu

unread,
Jun 29, 2017, 8:07:48 AM6/29/17
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Hi Pierre,

Thanks for the great help so far.

The suggested method got rid of the class not found error.
Now the issue is as below:

{"className":"org.killbill.billing.payment.api.PaymentApiException","code":7005,"message":"Failed to add payment method for account ca719787-dac0-4569-9333-5d6579bee936 : org.postgresql.util.PSQLException: FATAL: database \"killbill'\" does not exist","causeClassName":null,"causeMessage":null,"stackTrace":[]}

The database "killbill" does however, exist.

Stack trace:
org.killbill.billing.payment.api.PaymentApiException: Failed to add payment method for account ca719787-dac0-4569-9333-5d6579bee936 : org.postgresql.util.PSQLException: FATAL: database "killbill'" does not exist
        at org.killbill.billing.payment.core.PaymentMethodProcessor$1.doOperation(PaymentMethodProcessor.java:141)
        at org.killbill.billing.payment.core.PaymentMethodProcessor$1.doOperation(PaymentMethodProcessor.java:114)
        at org.killbill.billing.payment.core.ProcessorBase$WithAccountLock.processAccountWithLock(ProcessorBase.java:179)
        at org.killbill.billing.payment.core.ProcessorBase$CallableWithAccountLock.call(ProcessorBase.java:162)
        at org.killbill.billing.payment.core.ProcessorBase$CallableWithAccountLock.call(ProcessorBase.java:143)
        at org.killbill.billing.payment.dispatcher.CallableWithRequestData.call(CallableWithRequestData.java:69)
        at org.killbill.commons.concurrent.WrappedCallable.call(WrappedCallable.java:42)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.killbill.commons.concurrent.WrappedRunnable.run(WrappedRunnable.java:40)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

Victor

Pierre-Alexandre Meyer

unread,
Jun 29, 2017, 9:31:25 AM6/29/17
to Victor Chulu, killbill...@googlegroups.com
This one is harder to debug as it is specific to your PostgreSQL setup.

Are you sure you created both a killbill schema and a killbill database?
--
Pierre

Victor Chulu

unread,
Jun 29, 2017, 11:51:48 AM6/29/17
to Pierre-Alexandre Meyer, Kill Bill users mailing-list
I have a killbill database with only a public schema. 

Victor Chulu

unread,
Jun 30, 2017, 2:20:09 AM6/30/17
to Pierre-Alexandre Meyer, Kill Bill users mailing-list
Do I have to create a killbill schema under the killbill database?

Pierre-Alexandre Meyer

unread,
Jun 30, 2017, 5:53:05 AM6/30/17
to Victor Chulu, Kill Bill users mailing-list
Hi Victor,

You don't have to. I was able to use the public schema, create a database killbill, import the DDL and add a CyberSource payment method by following the instructions from the README (and updating the jdbc url to use postgresql instead of mysql).

Are you sure you are connecting to the right instance? The Kill Bill startup logs would show you the jdbc urls being used.

What do select current_schema(); and \c show when connecting to your database?
--
Pierre

Victor Chulu

unread,
Jul 10, 2017, 8:16:10 AM7/10/17
to Pierre-Alexandre Meyer, Kill Bill users mailing-list
Hi Pierre,

I was able to add a payment method successfully.
The issue was in my cybersource.yml, I was using a :url parameter (jdbc) instead of a :database.

Thank you so much for all the help rendered.

Victor Chulu

unread,
Jul 19, 2017, 6:22:06 AM7/19/17
to Pierre-Alexandre Meyer, Kill Bill users mailing-list
Hi Pierre,

I seem to be facing a new issue with payment method addition on the cybersource plugin via the killbill-java-client.

Each time I send a request I get the following response:

[qtp1944604588-33] WARN org.killbill.billing.client.KillBillHttpClient - Error 400 from Kill Bill: Failed to add payment method for account c71000a9-d9f3-4eee-b4b2-20e4bfeb434b : Request is missing one or more required fields
org.killbill.billing.client.KillBillClientException: Failed to add payment method for account c71000a9-d9f3-4eee-b4b2-20e4bfeb434b : Request is missing one or more required fields
at org.killbill.billing.client.KillBillHttpClient.throwExceptionOnResponseError(KillBillHttpClient.java:638)
at org.killbill.billing.client.KillBillHttpClient.doPrepareRequest(KillBillHttpClient.java:500)
at org.killbill.billing.client.KillBillHttpClient.doPost(KillBillHttpClient.java:247)
at org.killbill.billing.client.KillBillHttpClient.doPost(KillBillHttpClient.java:242)
at org.killbill.billing.client.KillBillClient.createPaymentMethod(KillBillClient.java:2567)
at com.ardenpay.config.WebConfig.lambda$setupRoutes$6(WebConfig.java:999)
at spark.RouteImpl$1.handle(RouteImpl.java:72)
at spark.http.matching.Routes.execute(Routes.java:61)
at spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:130)
at spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1568)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:564)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128)
at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
at java.lang.Thread.run(Thread.java:748)


When I use curl, the following works:

curl -v -X POST -u ****:**** -H 'X-Killbill-ApiKey: *******' -H 'X-Killbill-ApiSecret: *********' -H 'X-Killbill-CreatedBy: ****' -H 'Content-Type: application/json' -d '{  "pluginName": "killbill-cybersource",  "pluginInfo": {    "properties": [      {   "key": "ccFirstName",   "value": "James"      },      {   "key": "ccLastName",   "value": "Bond"      },      {   "key": "address1",   "value": "Longacres"      },      {   "key": "city",   "value": "Lusaka"      },      {   "key": "zip",   "value": "10101"      },      {   "key": "state",   "value": "ZM"      },      {   "key": "country",   "value": "Zambia"      },      {   "key": "ccExpirationMonth",   "value": 1      },      {   "key": "ccExpirationYear",   "value": 2018      },      {   "key": "ccNumber",   "value": "4111111111111111"      }    ]  }     }' "http://127.0.0.1:9443/1.0/kb/accounts/c71000a9-d9f3-4eee-b4b2-20e4bfeb434b/paymentMethods?isDefault=true&pluginProperty=skip_gw=true"

There is no stack trace on the Killbill console.

The error message from the java client suggests that there are one or more required fields missing. But I compared all the fields in the curl request versus the fields in the java client and I have the same fields.

Is there a bug in the Java client? 
I noticed it doesn't work even when using KAUI, with KAUI returning a similar error message.

KR//Victor

Victor Chulu

unread,
Jul 19, 2017, 11:16:24 AM7/19/17
to Pierre-Alexandre Meyer, Kill Bill users mailing-list
The actual error in the Cybersource business center is:

Reason Code: 150 
Reply Message: Payment processor error This field is invalid or missing. Please contact customer support.: merchant_id 

KR//Victor

Pierre-Alexandre Meyer

unread,
Jul 20, 2017, 2:56:10 AM7/20/17
to Victor Chulu, Kill Bill users mailing-list
Hi Victor,

The XML should be printed in the logs -- is the merchantID element sent? It should the same as your login.
--
Pierre

Pierre-Alexandre Meyer

unread,
Jul 21, 2017, 6:10:56 AM7/21/17
to Victor Chulu, killbill...@googlegroups.com
[Adding mailing-list]

It actually depends on how Kill Bill was installed, but typically there is a killbill.out file (in the Tomcat logs directory) containing both Kill Bill and plugins logs.

On Thu, Jul 20, 2017 at 12:06 AM, Victor Chulu <vch...@gmail.com> wrote:
Hi Pierre,

Where are the logs located?
I don't see anything related to the call in catalina.2017-07-19.log, it ends at the point the server starts.
(INFO: Server startup in 90447 ms)



--
Pierre

Victor Chulu

unread,
Jul 22, 2017, 6:02:10 AM7/22/17
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Hi Pierre,

I used the method outlined at this loaction: http://docs.killbill.io/latest/getting_started.html#_kpm (KPM prebuilt binaries)

I'm running it on ubuntu 16.04

Pierre-Alexandre Meyer

unread,
Jul 24, 2017, 7:46:39 AM7/24/17
to Victor Chulu, killbill...@googlegroups.com
Hi Victor,

All logs should be available in the ./logs directory, under the Tomcat installation folder. I would grep all files for "merchantID" to find the right one.

Hope that helps,


For more options, visit https://groups.google.com/d/optout.



--
Pierre

mamoun...@boundlessdrop.com

unread,
Aug 8, 2017, 9:27:10 AM8/8/17
to Kill Bill users mailing-list, pie...@kill-bill.org, vch...@gmail.com
> To unsubscribe from this group and all its topics, send an email to killbilling-us...@googlegroups.com.
>
> To post to this group, send email to killbill...@googlegroups.com.
>
> Visit this group at https://groups.google.com/group/killbilling-users.
>
> To view this discussion on the web visit https://groups.google.com/d/msgid/killbilling-users/CAKXgekrTWH1em02p4We83XJT_zJA3hXGBhTFX1%3DGdfrB53gr1w%40mail.gmail.com.
>
> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
>
>
>
> --
>
> You received this message because you are subscribed to the Google Groups "Kill Bill users mailing-list" group.
>
> To unsubscribe from this group and stop receiving emails from it, send an email to killbilling-us...@googlegroups.com.
>
> To post to this group, send email to killbill...@googlegroups.com.
>
> Visit this group at https://groups.google.com/group/killbilling-users.
>
> To view this discussion on the web visit https://groups.google.com/d/msgid/killbilling-users/CAGLCo-gmvn%2Bh6oWYWHbmDKs%3DOA0MJSD7tNnbqNdCPgR7z6PGcQ%40mail.gmail.com.
>
>
>
> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
>
> --
>
>
> Pierre
>
>
>
>
>
>
> --
>
> You received this message because you are subscribed to a topic in the Google Groups "Kill Bill users mailing-list" group.
>
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/killbilling-users/b_KruUsP0f0/unsubscribe.
>
> To unsubscribe from this group and all its topics, send an email to killbilling-us...@googlegroups.com.
>
> To post to this group, send email to killbill...@googlegroups.com.
>
> Visit this group at https://groups.google.com/group/killbilling-users.
>
> To view this discussion on the web visit https://groups.google.com/d/msgid/killbilling-users/CAKXgekr5A39azO3swcUiSu1CXhh2ogo49A_mW5FeSFBrr7swcA%40mail.gmail.com.
>
>
>
> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
>
>
>
> --
>
>
> Pierre
>
>
>
>
>
>
>
>
>
>
> --
>
>
> Pierre
>
>
>
>
>
>
>
>
> --
>
> You received this message because you are subscribed to a topic in the Google Groups "Kill Bill users mailing-list" group.
>
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/killbilling-users/b_KruUsP0f0/unsubscribe.
>
> To unsubscribe from this group and all its topics, send an email to killbilling-us...@googlegroups.com.
>
> To post to this group, send email to killbill...@googlegroups.com.
I'm running into the same error in my Ruby implementation, did you manage to solve it?
Reply all
Reply to author
Forward
0 new messages