lago icon indicating copy to clipboard operation
lago copied to clipboard

[BUG]: Once click install - should Stripe Integration work?

Open metafeather opened this issue 8 months ago • 3 comments

Using the single Docker image, when I try to add a Stripe integration using the UI I get an error:

  • An error occured, please restart the application

I'm not sure if should work for the single Docker image (but it would be nice if it did, especially when testing agains a Stripe sandbox account) - if there are any limitations vs the Docker Compose verson they should be documented.

Possibly this is a problem only when running on http://localhost/, or perhaps I must need a Customer or other entity setup first.

To Reproduce Test with tags v1.25.0 and 1.24.1

docker run --rm -it --name lago -p 80:80 -p 3000:3000 getlago/lago:v1.25.0
  1. Signup on http://localhost/
  2. Click Integrations > Stripe
  3. Enter
  • Connection name = Stripe Test
  • Connection code = stripe_test - Note: it's unclear what this value should be from the docs & video
  • API secret key = sk_test_ABCetc - Secret key from Stripe sandbox (not Publishable key) Get UI toast error and error 500 in API with error in terminal:
17:28:11 web.1    | {"ts":"2025-04-15T17:28:11.617Z","pid":148,"tid":"2dgc","lvl":"INFO","msg":"Sidekiq 7.3.7 connecting to Redis with options {:size=>10, :pool_name=>\"internal\", :url=>\"redis://localhost:6379/0\", :pool_timeout=>5, :timeout=>5}"}
17:28:21 worker.1 | #<Thread:0x0000ffff901a30e8 /usr/local/bundle/gems/newrelic_rpm-9.12.0/lib/new_relic/agent/tracer.rb:424 run> terminated with exception (report_on_exception is true):
17:28:21 worker.1 | /app/api/config/initializers/analytics_ruby.rb:21:in `block in <main>': uninitialized constant Sentry (NameError)
17:28:21 worker.1 | 
17:28:21 worker.1 |       on_error: proc { |status, msg| Sentry.capture_exception(SegmentError.new(status, msg)) },
17:28:21 worker.1 |                                      ^^^^^^
17:28:21 worker.1 |     from /usr/local/bundle/gems/analytics-ruby-2.4.0/lib/segment/analytics/worker.rb:46:in `run'
17:28:21 worker.1 |     from /usr/local/bundle/gems/analytics-ruby-2.4.0/lib/segment/analytics/client.rb:191:in `block (2 levels) in ensure_worker_running'
17:28:21 worker.1 |     from /usr/local/bundle/gems/newrelic_rpm-9.12.0/lib/new_relic/agent/tracer.rb:434:in `block (2 levels) in thread_block_with_current_transaction'
17:28:21 worker.1 |     from /usr/local/bundle/gems/newrelic_rpm-9.12.0/lib/new_relic/agent/tracer.rb:357:in `capture_segment_error'
17:28:21 worker.1 |     from /usr/local/bundle/gems/newrelic_rpm-9.12.0/lib/new_relic/agent/tracer.rb:433:in `block in thread_block_with_current_transaction'
17:30:00 clock.1  | I, [2025-04-15T17:30:00.008859 #150]  INFO -- : Triggering 'schedule:retry_generating_subscription_invoices'

metafeather avatar Apr 15 '25 17:04 metafeather

Hello @metafeather

Yes it should work. This is a bug linked to segment, I recommend you to disable segment by passing this env var LAGO_DISABLE_SEGMENT to true to you docker container. It'll disable segment and avoid this error.

We'll fix this for the next release!

jdenquin avatar Apr 15 '25 23:04 jdenquin

I've added the env var and the Segment error no longer occurs, however the Integration does not get created and the error in the UI still occurs with no information in the logs, and the /graphql endpoint just gives a 500 error:

docker run --rm -it --name lago -e LAGO_DISABLE_SEGMENT="true" -p 80:80 -p 3000:3000 getlago/lago:v1.25.0

I have confirmed that the same vaules work with the Docker Compose version without problems.

metafeather avatar Apr 16 '25 09:04 metafeather

whats the error you have now?

jdenquin avatar Apr 16 '25 13:04 jdenquin

Hi, we have the same issue on our lago integration, disabling Segment leads to the same result (graphql error 500). We don't see anything specific in the logs so we couldn't investigate any further.

We've tried with older versions of Lago with the same result, and couldn't test with more recent releases because of the redis-server issue.

funelie avatar May 14 '25 14:05 funelie

:wave: @funelie I think you face a common issue with stripe key, how do you deploy Lago? Whats the issue you have with redis server on new versions?

jdenquin avatar May 14 '25 14:05 jdenquin

We haven't deployed lago yet, we are using it in its docker container locally to work on our app for now.

The issue we have with redis server is the same as this one : https://github.com/getlago/lago/issues/525

funelie avatar May 15 '25 06:05 funelie

Issue for redis-server should be fixed

do you have logs for the error you face with stripe?

jdenquin avatar May 15 '25 14:05 jdenquin

Hi @jdenquin , I work with @funelie We updated to version 1.28.1 of the Docker image and the redis problem is indeed fixed, thank you When we try to add the Stripe integration it's just like @metafeather said, Integration does not get created with no information in the logs, and the /graphql endpoint just gives a 500 error.

The only error I get in the logs is this one when connecting to the Lago interface:

lago-1  | 09:39:44 web.1    | {"ts":"2025-05-16T09:39:44.904Z","pid":139,"tid":"10wz","lvl":"INFO","msg":"Sidekiq 7.3.7 connecting to Redis with options {size: 10, pool_name: \"internal\", url: \"redis://localhost:6379/0\", pool_timeout: 5, timeout: 5}"}
lago-1  | 09:39:45 worker.1 | #<Thread:0x00007dfad0909888 /usr/local/bundle/gems/newrelic_rpm-9.18.0/lib/new_relic/agent/tracer.rb:424 run> terminated with exception (report_on_exception is true):
lago-1  | 09:39:45 worker.1 | /app/api/config/initializers/analytics_ruby.rb:12:in 'Exception#initialize': wrong number of arguments (given 2, expected 0..1) (ArgumentError)
lago-1  | 09:39:45 worker.1 |   from /app/api/config/initializers/analytics_ruby.rb:12:in 'SegmentError#initialize'
lago-1  | 09:39:45 worker.1 |   from /app/api/config/initializers/analytics_ruby.rb:21:in 'Class#new'
lago-1  | 09:39:45 worker.1 |   from /app/api/config/initializers/analytics_ruby.rb:21:in 'block in <main>'
lago-1  | 09:39:45 worker.1 |   from /usr/local/bundle/gems/analytics-ruby-2.4.0/lib/segment/analytics/worker.rb:46:in 'Segment::Analytics::Worker#run'
lago-1  | 09:39:45 worker.1 |   from /usr/local/bundle/gems/analytics-ruby-2.4.0/lib/segment/analytics/client.rb:191:in 'block (2 levels) in Segment::Analytics::Client#ensure_worker_running'
lago-1  | 09:39:45 worker.1 |   from /usr/local/bundle/gems/newrelic_rpm-9.18.0/lib/new_relic/agent/tracer.rb:434:in 'block (2 levels) in NewRelic::Agent::Tracer.thread_block_with_current_transaction'
lago-1  | 09:39:45 worker.1 |   from /usr/local/bundle/gems/newrelic_rpm-9.18.0/lib/new_relic/agent/tracer.rb:357:in 'NewRelic::Agent::Tracer.capture_segment_error'
lago-1  | 09:39:45 worker.1 |   from /usr/local/bundle/gems/newrelic_rpm-9.18.0/lib/new_relic/agent/tracer.rb:433:in 'block in NewRelic::Agent::Tracer.thread_block_with_current_transaction'

We are using the lago one-click command in our own docker-compose file like this:

services:
  lago:
    image: getlago/lago:v1.28.1
    ports:
      - 80:80
      - 3000:3000

frohrlich avatar May 16 '25 09:05 frohrlich

can you add this env variable ?

LAGO_DISABLE_SEGMENT=true

jdenquin avatar May 16 '25 10:05 jdenquin

I added it, now I don't have the error anymore when I log in, however Stripe integration still fails the same way.

frohrlich avatar May 16 '25 11:05 frohrlich

@frohrlich can you pull the last version again and give it a try?

jdenquin avatar May 16 '25 17:05 jdenquin

I pulled again and now the Stripe integration works, thank you!

frohrlich avatar May 19 '25 07:05 frohrlich

nice, its fixed on the last version, I close this issue so!

jdenquin avatar May 19 '25 08:05 jdenquin