Payment plugin killbill-stripe is not registered

462 views
Skip to first unread message

azimha...@gmail.com

unread,
Jul 21, 2016, 4:38:07 AM7/21/16
to Kill Bill users mailing-list
Hi,

I am running Kill Bill 0.16.6. I did the following

1) Renamed the war as ROOT.war and ran the tomcat in windows
2) Whenever I am adding stripe payment method using URL
http://127.0.0.1:8080/1.0/kb/accounts/984429d9-2bf6-4327-816a-48baeed6cb74/paymentMethods?isDefault=true


This is throwing me an error saying that
{
"className": "org.killbill.billing.payment.api.PaymentApiException",
"code": 7028,
"message": "Payment plugin killbill-stripe is not registered",
"causeClassName": null,
"causeMessage": null,
"stackTrace": []
}

Thanks,
Azim

Pierre-Alexandre Meyer

unread,
Jul 21, 2016, 5:56:09 PM7/21/16
to Azim Hawaldar, Kill Bill users mailing-list
Hi Azim,

It looks like the plugin isn't installed. How did you set it up?


--
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/64ee9234-2647-459a-aec3-6068d62da6fd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Pierre

Azim Hawaldar

unread,
Jul 21, 2016, 11:18:16 PM7/21/16
to Pierre-Alexandre Meyer, Kill Bill users mailing-list

Hi Pierre,
How do I install the same in windows?
Thanks,
Azim

Pierre-Alexandre Meyer

unread,
Jul 21, 2016, 11:24:28 PM7/21/16
to Azim Hawaldar, Kill Bill users mailing-list
Hello Azim,

Installation of plugins is managed by KPM: kpm install_ruby_plugin stripe. See https://github.com/killbill/killbill-cloud/tree/master/kpm.

Also, I encourage you to use Docker (see https://github.com/killbill/killbill-cloud/tree/master/docker), as Kill Bill isn't officially supported on Windows.
--
Pierre

Pierre-Alexandre Meyer

unread,
Jul 22, 2016, 11:30:44 AM7/22/16
to Azim Hawaldar, killbill...@googlegroups.com
The view is defined here: https://github.com/killbill/killbill-analytics-plugin/blob/HEAD/src/main/resources/reports/v_report_active_by_product_term_monthly.ddl

Could you verify you have data in the analytics_subscription_transitions and in the calendar tables?

On Fri, Jul 22, 2016 at 8:25 AM, Azim Hawaldar <azimha...@gmail.com> wrote:
Hi Pierre,

I did installed the Analytics plugin. So whenever the product is subscribed the view "v_report_active_by_product_term_monthly" is updated from where I get the data, the query to do so is

SELECT * tenant_record_id, `day`, product_name, billing_period, `count`
FROM v_report_active_by_product_term_monthly;

This is returning null. Any help Please?

Thanks,
Azim

On Fri, Jul 22, 2016 at 8:40 PM, Pierre-Alexandre Meyer <pie...@kill-bill.org> wrote:
Hi Azim,

To compute such metrics, the easiest is to use our Analytics plugin. See http://docs.killbill.io/0.16/userguide_analytics.html.

A demo of it is available at http://demo.killbill.io/analytics (username demo_ro, password demo_ro).

On Fri, Jul 22, 2016 at 6:02 AM, Azim Hawaldar <azimha...@gmail.com> wrote:
Hi Pierre,

Thanks for this info. I have one more doubt. As a Biller I create a product and consumer subscribe to the product. So is there any way I can figure out how can I know how many people have subscribed to my product and the revenue generated by this product.

Thanks,
Azim



--
Pierre




--
Pierre

Azim Hawaldar

unread,
Jul 22, 2016, 11:41:53 AM7/22/16
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Hi Pierre,

I could see that there are data in calendar table and analytics_subscription_transitions. But analytics_subscription_transitions table has data regarding to few product which is not the one user has subscribed.

Thanks,
Azim

Pierre-Alexandre Meyer

unread,
Jul 22, 2016, 11:44:22 AM7/22/16
to Azim Hawaldar, killbill...@googlegroups.com
Could you force a refresh of the user's data to see if it helps? See https://github.com/killbill/killbill-analytics-plugin/blob/master/README.md#api.
--
Pierre

Azim Hawaldar

unread,
Jul 22, 2016, 11:49:46 AM7/22/16
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Hi Pierre,

I did this initially, but did not found this resoruce.

curl -v \
     -X PUT \
     -u admin:password \
     -H "X-Killbill-ApiKey:bob" \
     -H "X-Killbill-ApiSecret:lazar" \
     "http://127.0.0.1:8080/plugins/killbill-analytics/<ACCOUNT_ID>"
But, still the data remains same in analytics_subscription_transitions table.
Thanks,
Azim

Azim Hawaldar

unread,
Jul 22, 2016, 11:51:00 AM7/22/16
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Sorry for typo, I did this force refresh for account But data remains same in the table.

Thanks,
Azim

Pierre-Alexandre Meyer

unread,
Jul 22, 2016, 11:55:16 AM7/22/16
to Azim Hawaldar, killbill...@googlegroups.com
Could you show us:
  • The content of analytics_subscription_transitions for that account
  • The content of subscriptions, subscription_events for that account
  • The full Kill Bill logs (including when you forced the refresh)
  • Your catalog
Thanks,
--
Pierre

Azim Hawaldar

unread,
Jul 22, 2016, 11:57:07 AM7/22/16
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Hi Pierre,

I used wrong account Id while force updating, Now I am using the correct one but I am getting 500 internal server error.

{
  "className": "org.skife.jdbi.v2.exceptions.UnableToExecuteStatementException",
  "code": null,
  "message": "java.sql.SQLDataException: Data too long for column 'next_slug' at row 1 [statement:\"create\", located:\"insert into analytics_subscription_transitions (\n  subscription_event_record_id\n, bundle_id\n, bundle_external_key\n, subscription_id\n, requested_timestamp\n, event\n, prev_product_name\n, prev_product_type\n, prev_product_category\n, prev_slug\n, prev_phase\n, prev_billing_period\n, prev_price\n, converted_prev_price\n, prev_price_list\n, prev_mrr\n, converted_prev_mrr\n, prev_currency\n, prev_service\n, prev_state\n, prev_business_active\n, prev_start_date\n, next_product_name\n, next_product_type\n, next_product_category\n, next_slug\n, next_phase\n, next_billing_period\n, next_price\n, converted_next_price\n, next_price_list\n, next_mrr\n, converted_next_mrr\n, next_currency\n, next_service\n, next_state\n, next_business_active\n, next_start_date\n, next_end_date\n, converted_currency\n, created_date\n, created_by\n, created_reason_code\n, created_comments\n, account_id\n, account_name\n, account_external_key\n, account_record_id\n, tenant_record_id\n, report_group\n) values (\n  :subscriptionEventRecordId\n, :bundleId\n, :bundleExternalKey\n, :subscriptionId\n, :requestedTimestamp\n, :event\n, :prevProductName\n, :prevProductType\n, :prevProductCategory\n, :prevSlug\n, :prevPhase\n, :prevBillingPeriod\n, :prevPrice\n, :convertedPrevPrice\n, :prevPriceList\n, :prevMrr\n, :convertedPrevMrr\n, :prevCurrency\n, :prevService\n, :prevState\n, :prevBusinessActive\n, :prevStartDate\n, :nextProductName\n, :nextProductType\n, :nextProductCategory\n, :nextSlug\n, :nextPhase\n, :nextBillingPeriod\n, :nextPrice\n, :convertedNextPrice\n, :nextPriceList\n, :nextMrr\n, :convertedNextMrr\n, :nextCurrency\n, :nextService\n, :nextState\n, :nextBusinessActive\n, :nextStartDate\n, :nextEndDate\n, :convertedCurrency\n, :createdDate\n, :createdBy\n, :createdReasonCode\n, :createdComments\n, :accountId\n, :accountName\n, :accountExternalKey\n, :accountRecordId\n, :tenantRecordId\n, :reportGroup\n);\", rewritten:\"insert into analytics_subscription_transitions (\n  subscription_event_record_id\n, bundle_id\n, bundle_external_key\n, subscription_id\n, requested_timestamp\n, event\n, prev_product_name\n, prev_product_type\n, prev_product_category\n, prev_slug\n, prev_phase\n, prev_billing_period\n, prev_price\n, converted_prev_price\n, prev_price_list\n, prev_mrr\n, converted_prev_mrr\n, prev_currency\n, prev_service\n, prev_state\n, prev_business_active\n, prev_start_date\n, next_product_name\n, next_product_type\n, next_product_category\n, next_slug\n, next_phase\n, next_billing_period\n, next_price\n, converted_next_price\n, next_price_list\n, next_mrr\n, converted_next_mrr\n, next_currency\n, next_service\n, next_state\n, next_business_active\n, next_start_date\n, next_end_date\n, converted_currency\n, created_date\n, created_by\n, created_reason_code\n, created_comments\n, account_id\n, account_name\n, account_external_key\n, account_record_id\n, tenant_record_id\n, report_group\n) values (\n  ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n, ?\n);\", arguments:{ positional:{}, named:{recordId:null,prevCurrency:'null',convertedPrevPrice:null,prevMrr:null,nextProductCategory:'BASE',nextService:'entitlement-service',event:'START_ENTITLEMENT_BASE',requestedTimestamp:LocalDateArgument{value=2016-07-22},prevBillingPeriod:'null',createdDate:DateTimeArgument{value=2016-07-22T06:06:22.000Z},nextEndDate:LocalDateArgument{value=2016-07-22},prevProductType:'null',nextStartDate:LocalDateArgument{value=2016-07-22},bundleExternalKey:'ek_8923bad4-a285-45ca-bfde-438f8aa58414',prevService:'null',prevProductCategory:'null',convertedPrevMrr:null,prevSlug:'null',tenantRecordId:1,class:class org.killbill.billing.plugin.analytics.dao.model.BusinessSubscriptionTransitionModelDao,nextPrice:1233.78,2:org.killbill.billing.plugin.analytics.http.AnalyticsApiCallContext@389afca8,prevStartDate:null,0:'analytics_subscription_transitions',createdBy:'sdp',createdReasonCode:'reason',reportGroup:'default',bundleId:UUIDArgument{value=3e72766d-4988-485a-a7c8-acc834dc9753},convertedNextMrr:1233.7800,nextPhase:'EVERGREEN',prevPhase:'null',accountId:UUIDArgument{value=0be13d47-25c6-4e63-b12b-4640f896977f},nextSlug:'P_059D4277-F7F1-41B8-8DC2-C686F0A41FAF_MONTHLY-evergreen',nextBillingPeriod:'MONTHLY',convertedNextPrice:1233.78,subscriptionId:UUIDArgument{value=a83591f3-230f-4f62-91a8-ec590c641f8f},nextMrr:1233.7800,nextPriceList:'OWNER',nextProductName:'P_059D4277-F7F1-41B8-8DC2-C686F0A41FAF',prevPriceList:'null',tableName:'analytics_subscription_transitions',nextCurrency:'USD',prevProductName:'null',prevPrice:null,accountExternalKey:'azimhawaldarflow',accountRecordId:4,convertedCurrency:'USD',accountName:'Azim Hawaldar',nextState:'START_ENTITLEMENT',createdComments:'test',nextProductType:'AHASDP',prevBusinessActive:null,subscriptionEventRecordId:3,nextBusinessActive:true,prevState:'null'}, finder:[]}]",
  "causeClassName": "java.sql.SQLDataException",
  "causeMessage": "Data too long for column 'next_slug' at row 1",
  "stackTrace": []
}

Thanks,
Azim

Pierre-Alexandre Meyer

unread,
Jul 22, 2016, 12:02:39 PM7/22/16
to Azim Hawaldar, killbill...@googlegroups.com
On Fri, Jul 22, 2016 at 8:57 AM, Azim Hawaldar <azimha...@gmail.com> wrote:
I used wrong account Id while force updating, Now I am using the correct one but I am getting 500 internal server error.

[...]
 
java.sql.SQLDataException: Data too long for column 'next_slug'

[...]
 
nextSlug:'P_059D4277-F7F1-41B8-8DC2-C686F0A41FAF_MONTHLY-evergreen'

It looks like your product name is too long for the default DDL. Try increasing the prev_slug and next_slug database columns, e.g.

alter table analytics_subscription_transitions modify prev_slug varchar(255) default null;
alter table analytics_subscription_transitions modify next_slug varchar(255) default null;

The refresh should hopefully then go through.

--
Pierre

Azim Hawaldar

unread,
Jul 22, 2016, 12:21:37 PM7/22/16
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Hi Pierre,

Now the force refresh operation is successful. What should I do next so that I can get to know what is the revenue generated by product and number of user who had subscribed?

Thanks,
Azim

Pierre-Alexandre Meyer

unread,
Jul 22, 2016, 12:24:24 PM7/22/16
to Azim Hawaldar, killbill...@googlegroups.com
You either need to rely on the default reports (such as v_report_active_by_product_term_monthly) or create your own SQL views. These views can then be ETL'ed to a separate reporting system and/or you can use the built-in dashboarding features.

--
Pierre

Azim Hawaldar

unread,
Jul 22, 2016, 12:26:58 PM7/22/16
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Hi Pierre,

After force refresh on account, I could see that the view v_report_active_by_product_term_monthly is still empty. Do i need to create a new product and ask the end user to subscribe?

Thanks,
Azim

Pierre-Alexandre Meyer

unread,
Jul 22, 2016, 12:36:23 PM7/22/16
to Azim Hawaldar, killbill...@googlegroups.com
The view has specific conditions built-in, such as looking for subscriptions in the past only, positive MRR, etc. If your data doesn't match these conditions, the view will be empty.

I would suggest looking at the raw data (e.g. select * from analytics_subscription_transitions) and then build your own queries to match the reports you need to build. 
--
Pierre

Azim Hawaldar

unread,
Jul 22, 2016, 12:47:33 PM7/22/16
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Hi Pierre,

I am not building any custom reports, I am using the data as available from the view. Can you help me to achieve this?

Thanks,
Azim

Azim Hawaldar

unread,
Jul 22, 2016, 1:10:07 PM7/22/16
to Pierre-Alexandre Meyer, killbill...@googlegroups.com
Hi Pierre,

The query in the view  is quiet complex, not able to understand. Can you help me ? what i am doing wrong here while creating or subscribing product so that it can be picked by the view.

Thanks,
Azim

Pierre-Alexandre Meyer

unread,
Jul 22, 2016, 1:19:56 PM7/22/16
to Azim Hawaldar, killbill...@googlegroups.com
Hi Azim,

To use the analytics plugin, you need SQL knowledge to build your own reports. Even if we figure out what's going on for that specific view in your setup, I don't think it will solve your requirements (it won't give you the number of users per product for instance).

I would suggest you focus instead on understanding the data model (tables are described in the doc http://docs.killbill.io/0.16/userguide_analytics.html), and start building your own SQL queries.
--
Pierre

Hemal Majethiya

unread,
Aug 18, 2021, 8:28:44 AM8/18/21
to Kill Bill users mailing-list
Hi Pierre,

I have started using kill bill and i have installed stripe plugin from Install new plugin option.
Then configured it from configure plugin tab with my secret key and public key.

But when creating payment method for Account, it give me stripe-plugin not registered error.
Can you please guide me how can i encounter issue?

Stripe plugin is already in running state.

Hemal Majethiya

unread,
Aug 18, 2021, 8:31:32 AM8/18/21
to Kill Bill users mailing-list
Api is also returning same error:

{
"className": "org.killbill.billing.payment.api.PaymentApiException",
"code": 7028,
"message": "Payment plugin stripe-plugin is not registered",
"causeClassName": null,
"causeMessage": null,
"stackTrace": []
}

let me know if i have to share more information regarding issue

Reshma Bidikar

unread,
Aug 18, 2021, 9:32:46 AM8/18/21
to Kill Bill users mailing-list
Hello Hemal, 

I would like to confirm a few things in order to understand what is going on:
  1. What is your Kill Bill setup (Tomcat/Docker/AWS)?
  2. Have you installed the Stripe plugin as per the Kill Bill Stripe tutorial?
  3. If you are using a Tomcat setup, have you created the database tables for the stripe plugin as mentioned here?
Regards,
Reshma

Reply all
Reply to author
Forward
0 new messages