On this page

Overview

LiteShoper Stripe (liteshop-stripe) adds credit and debit card payments to your LiteShoper checkout using Stripe Payment Intents and the Payment Element (embedded card form on your site).

When a customer pays, Stripe confirms the payment and LiteShoper marks the order confirmed. Orders, inventory, and email notifications use the same Commerce flow as other payment methods.

What it does

  • Embedded card checkout (no redirect to Stripe-hosted page)
  • Sandbox (test) and live modes
  • Webhook handler for payment_intent.succeeded
  • Also handles refund and subscription-related Stripe events where configured
  • Works with LiteShoper Commerce order emails and digital delivery hooks

Requirements

  • LiteShoper core with Commerce active (built into core)
  • Marketplace license for liteshop-stripe (one-time per domain)
  • Stripe account at stripe.com
  • HTTPS on your store (required for live card payments)
  • Outbound HTTPS from your server to api.stripe.com

Installation

  1. On liteshoper.com, purchase LiteShoper Stripe and copy your license key.
  2. In your store admin, go to Plugins → Marketplace.
  3. Find liteshop-stripe → paste license → Install with license.
  4. Confirm the plugin appears under Plugins as active.
  5. If you see “requires Commerce”, ensure core Commerce is installed (it ships with core).

Setup & configuration

Admin path: Commerce → Settings → Stripe (/admin/commerce/settings?tab=stripe)

Setting Description
Enable Stripe Turn on Stripe at checkout. Hidden until secret key is saved.
Sandbox mode Use test keys (pk_test_ / sk_test_). Leave on until you finish testing.
Publishable key Starts with pk_test_ or pk_live_
Secret key Encrypted in database. Leave blank when saving other fields to keep existing key.
Webhook signing secret From Stripe Dashboard → Webhooks. Validates incoming events.

Stripe Dashboard steps

  1. Log in to Stripe → Developers → API keys.
  2. Copy Publishable key and Secret key (test mode first).
  3. Go to Developers → Webhooks → Add endpoint.
  4. Endpoint URL: https://YOUR-STORE.com/commerce/stripe/webhook
  5. Select event: payment_intent.succeeded (minimum).
  6. Copy the Signing secret (whsec_…) into LiteShoper settings.

Tutorial: first card payment

  1. Enable Stripe in sandbox mode with test keys.
  2. Add a test product and go to checkout on your storefront.
  3. Select Credit / debit card (Stripe).
  4. Enter test card 4242 4242 4242 4242, any future expiry, any CVC.
  5. Complete payment — you should land on order confirmation.
  6. In admin → Commerce → Orders, confirm status is confirmed.
  7. In Stripe Dashboard → Payments, verify the Payment Intent succeeded.

Go live

  1. Complete Stripe account activation (business verification).
  2. Switch Stripe Dashboard to Live mode keys.
  3. Update LiteShoper with live publishable + secret keys.
  4. Create a live webhook endpoint (same URL path).
  5. Uncheck sandbox in LiteShoper settings.
  6. Place one small real transaction to verify end-to-end.

Webhooks

URL Method
/commerce/stripe/webhook POST — Stripe server notifications
/commerce/stripe/create-intent POST — checkout creates Payment Intent (AJAX)

The webhook is the reliable path to confirm payment if the customer closes the browser before the page finishes loading.

Admin reference

  • Settings: Commerce → Settings → Stripe
  • Orders: Commerce → Orders (refunds when supported)
  • Transactions: Logged in commerce transactions table on payment

Troubleshooting

Problem Solution
Stripe not shown at checkout Enable plugin, enable Stripe in settings, ensure secret key is set.
Payment succeeds but order stays pending Check webhook URL, signing secret, and server error log. Stripe Dashboard → Webhooks → event delivery.
Invalid webhook signature Re-copy signing secret for the correct endpoint (test vs live).
Stripe not configured error Publishable and secret keys missing or wrong mode.
Commerce inactive notice Activate core Commerce plugin.

← All docs

LiteShoper Help Answers from plugins, docs & FAQs

Hi! Ask me about LiteShoper plugins, licenses, or documentation.