Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Notifications
Mark all as read
Q&A

How to circumvent Stripe::AuthenticationError: No API key provided Question

+2
−0

I want to setup a local QPixel instance (WSL - Ubuntu 20.04) and am following the guide by luap42.

Finally I get an error Stripe::AuthenticationError: No API key provided. Set your API key using "Stripe.api_key = <API-KEY>". in DonationsControllerTest.

DonationsControllerTest#test_should_create_PaymentIntent:
Stripe::AuthenticationError: No API key provided. Set your API key using "Stripe.api_key = <API-KEY>". You can generate API keys from the Stripe web interface. See https://stripe.com/api for details, or email [email protected] if you have any questions.
    app/controllers/donations_controller.rb:33:in `intent'
    test/controllers/donations_controller_test.rb:12:in `block in <class:DonationsControllerTest>'


bin/rails test test/controllers/donations_controller_test.rb:11

This is probably related to the donation box and specific for Codidact, not really needed for QPixel. While it's nice that QPixel can have a donation possibility via Stripe, for my local development I would rather keep it optional, i.e. I would prefer if QPixel can be configured to work without donations.

Is there a quick fix to work around that error (without needing to get an API key from Stripe)?

I also filed a feature request to make donations optional. This here is more like the bug report and for quick fixes.

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

3 answers

You are accessing this answer with a direct link, so it's being shown above all other answers regardless of its score. You can return to the normal view.

+1
−0

I don't know the correct way to do this, but I was looking at the commit that added donations, and I wonder, as a workaround until you get the correct answer (presumably from Art), it would work to comment out a couple things.

Specifically, can you find the place in the project where app/assets/javascripts/donations.js is being loaded and comment that out? This appears to be the entry point for calling all the Stripe stuff, so if it never gets loaded, maybe nothing ever gets checked.

If that's not enough, I also see this in app/views/layouts/_head.html.erb, and I wonder what happens if it's not there:

<%= javascript_include_tag "https://js.stripe.com/v3/" %>

I'm obviously just guessing (and I don't even know exactly what an ERB file is); my goal is to get you unblocked until we get the real answer. Maybe my guesses are all wrong but you, looking at that commit, can see what needs to be done.

Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment thread

Might work (2 comments)
+1
−0

Stripe setup is handled in config/initializers/stripe.rb, where the Stripe API key is set based on the values saved in the Rails credentials file.

You should be able to run rails credentials:edit (set the EDITOR environment variable to whatever command line editor you use first), and set stripe_test_public and stripe_test_secret to any non-empty string, and that should work as long as you're not actually running any Stripe related operations.

Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment thread

Problem with editing the credentials (1 comment)
+0
−0

As a quick fix one can remove test should create PaymentIntent from DonationsControllerTest which may backfire later on, but gets you one step further for the time being.

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!

Like what we're doing? Support us! Donate