I’m using Adalo’s native Stripe component (with Stripe Marketplace ), and I’m trying to process a real payment in live mode. However, every payment fails with this Stripe error:
“The provided key ‘sk_test_…’ does not have access to account ‘acct_…’ (or that account does not exist). Application access may have been revoked.”
I have switched Stripe to Live mode and Test mode is off on the component.
I republished the app
i tried to add the component again on test app to be sure that i am logged to the correct real account then i copied it to the real app
I removed the pk_xxx & the sk_xxx and switched on/off the test mode toggle.
Despite this, Stripe still reports that the request is coming from an sk_test key,
Has anyone experienced this with the native Stripe / Marketplace component?
If so, how did you fix it?
Following up on this topic, I’d like to share what I discovered.
Initially, when I encountered the sk_test_... issue while trying to process a real payment using the Stripe Marketplace component, it was because test keys were still configured in the Stripe Connect component. After removing the test keys, the Marketplace component remained disabled (the card input fields were shaded and unusable).
The root cause turned out to be that the Marketplace component could not detect the connected account (acc_...) because the account had been created via the API rather than through the Stripe Connect component.
I then attempted to connect the existing account using the Stripe Connect component, but this was not possible because the account had been created as a Stripe Express account, while the Connect component only supports creating or connecting Stripe Standard accounts.
As a workaround, I created the Checkout Session externally via the API, and this approach worked successfully.
Conclusion:
The Stripe Connect component appears to support only Stripe Standard accounts. For Stripe Express accounts, onboarding and payment processing must be handled externally via the API (for example, by creating Checkout Sessions manually). At least in my case, this was the only working solution.
Thanks to @Dilon as well for digging into this and helping investigate the issue.