Base44 Stripe payments not working
Base44 checkout does nothing, stays in test mode, or opens a blank page? Publish first, claim the Stripe sandbox, and read the function logs Base44 names.
Reviewed October 17, 2026
What it means in plain English
Pay or Checkout does nothing, the payment stays a test charge, or the browser is blank after Stripe. Base44's current Stripe setup was released in January 2026 and replaces the old flow. It starts in a Stripe test environment. Stripe is on the Builder plan and above.
Base44 says the checkout flow only runs on the published app, not in the editor preview. Publish, then open the live site to test.
Likely causes
- Stripe was never installed. The documented ask is
Connect a payment method so I can take payments from customers.Then click Install Stripe. After that, Dashboard, Integrations, Stripe shows the setup guide. - You tested in the editor preview. Custom payment flows usually do not work there either. Test on the published URL.
- The sandbox was never claimed. You have 60 days. Claim your Stripe sandbox links the test environment to your Stripe account, the one that receives payouts when you go live. Dashboard, Integrations, Stripe, Claim your Stripe sandbox, then Claim & Go Live. Finish the business and bank questions Stripe asks for. Setup should show that step complete when you return.
- Live mode is not on yet. After you claim the sandbox, Base44 activates live payments and creates the live API keys when the Stripe account finishes activating. You do not paste those keys yourself unless you choose Enter keys manually. While it waits, the Add your live API keys step says Waiting for your Stripe account to finish activating. If Stripe wants more information, click Resume setup in Stripe.
- The success or cancel URL points at a preview address, or the success page requires a login the person no longer has. Base44 says a blank page or a redirect loop after payment is usually the environment or the redirect. Success and cancel URLs should be the published domain. The success page should still be reachable for someone who is signed in. See Base44 login not working.
- The function log names a Stripe error. Base44's examples are
Product not found(a cart item is missing or has a wrong id),Invalid price(no price, or the price is 0),Missing success_url, andAPI Key invalid(Stripe is not connected). - Products live in Stripe, not in a separate Base44 product database. If the app stores price ids, Base44 says to update those references when you create a new price in Stripe instead of editing the old one.
- The flow relies on a webhook alone. Base44 says each flow should send a logged-in person to Stripe Checkout and, on the success page, confirm the payment and update their account while they are still logged in, instead of relying on webhooks alone.
- The app is for Israel. Base44 says it does not currently have a built-in payment solution for Israel. The documented path is to ask the chat to connect another provider.
- A digital product is being sold inside an App Store or Google Play build. Base44 says that purchase cannot happen inside the mobile app, because Apple and Google require their own billing. Stripe can still sell it on the web version.
Someone who cannot open the app at all is visibility or publish, not Stripe. See Base44 app works for me but not for other users. An export does not bring this Stripe connection with the ZIP. See Base44 code export or moving to Vercel.
How to fix it, step by step
- Confirm the Builder plan, then ask the chat to install Stripe and click Install Stripe.
- Publish the app. Dashboard, Integrations, Stripe, Try a test payment, Copy Card Number. On the published site, pay with that card, any future expiry, and any 3-digit CVC. Base44 says test payments do not move real money.
- When the test flow is right, claim the sandbox within 60 days and sign in to the Stripe account that should receive payouts. Check Setup for the completed claim step.
- Open Add your live API keys from Stripe. Wait for activation, or click Resume setup in Stripe and finish what Stripe asks. To use your own keys, click Enter keys manually, paste the live publishable key and the live secret key from the Stripe Dashboard, and click Save API keys.
- If Pay does nothing or the page is blank, open Dashboard, Code, Functions, open the payment function (Base44's store example is
createCheckout), and read Logs. Copy the red error into the chat. - Point success and cancel URLs at the published domain. Keep the success page available to a signed-in person, and confirm the payment there before you change their account. Base44 says to add the credits or the unlock once, including when the page is refreshed.
- Paste this to the Base44 chat:
Stripe checkout fails, stays on a test charge, or shows a blank page after payment. Do not rely on a webhook alone. Publish the app before testing. Read the payment function logs under Dashboard → Code → Functions. Success and cancel URLs must be the published domain, and the success page must confirm the payment while the person is still logged in, once only. If live keys are missing, use Claim your Stripe sandbox and Resume setup in Stripe.
How to check it worked
- A test payment on the published URL completes with the card from Try a test payment, and no real charge appears.
- After the Stripe account is active, a live checkout creates a real payment. Stripe Dashboard, Payments, shows the charge. Base44 says activity from the app is recorded there in real time.
- The function log for that checkout has no
API Key invalid,Missing success_url,Invalid price, orProduct not found.
If Checkout succeeds and the account still shows the free plan, the webhook never wrote the upgrade. See Stripe paid, but the user was not upgraded.
Sources
Related fixes
More Stripe fixes
More Base44 fixes
Keep going on your own.
The guides stay free. A deep leak report is $15. Fix packs are $24, or $49 for all three. There is no done-for-you repair.