Stripe Payments Add-on for Code Craft Store (Laravel)
Take card, Apple Pay and Google Pay payments in the Laravel store through Stripe Checkout, with signed webhooks

Everything included
- Stripe Checkout Sessions (hosted payment page)
- Webhook signature check with timestamp tolerance
- Session looked up with Stripe on return
- Amount and currency checked before marking paid
- Zero-decimal currencies handled
- Settings and licence key in Admin → Add-ons
From order to a live website
- 1
Buy the add-on
One-time price. Your download link and licence key arrive by email and in My Account.
- 2
Drop it in
Upload the folder to addons/ and enable it in the admin.
- 3
Configure
Pick card payment at checkout, pay on Stripe's page and come back to a paid order. If the shopper closes the tab after paying, the signed webhook still marks the order paid.
What it does
Adds Stripe as a payment method to Code Craft Store: Laravel Ecommerce. At checkout the shopper is sent to Stripe's hosted Checkout page for the order total in the order's currency. When they come back, the add-on looks the session up with Stripe's API, and Stripe's webhook is accepted only with a valid Stripe-Signature (5-minute tolerance). The paid amount and currency are compared with the order before it is marked paid. You need your own Stripe account. The add-on follows Stripe's Checkout Sessions and webhook documentation and was tested against mocked Stripe responses, not with real payments.
- Stripe Checkout Sessions (hosted payment page)
- Webhook signature check with timestamp tolerance
- Session looked up with Stripe on return
- Amount and currency checked before marking paid
Requires Code Craft Store for Laravel
This is an add-on for Code Craft Store: Laravel Ecommerce, sold separately. Upload its folder to the store's addons/ folder and configure it in Admin → Add-ons; no Composer or code changes needed. Each add-on has its own licence key.
- Works with Code Craft Store for Laravel 1.0 or later
- Installed in minutes on cPanel, Hostinger or a VPS
- Its own settings card in the admin
Who needs it and what you need first
It is for shops running Code Craft Store: Laravel Ecommerce that want to take card payments, plus Apple Pay and Google Pay wherever Stripe offers them on its page. You need the store (1.0 or later) on PHP 8.3, a Stripe account that can accept payments in your country, and your store on HTTPS so Stripe can reach the webhook. Card details are typed on Stripe's hosted page, never on your site. The add-on brings no extra Composer packages: it talks to Stripe's API with Laravel's built-in HTTP client.
- A Stripe account in your business name
- An HTTPS domain for the webhook
- Code Craft Store for Laravel 1.0+, PHP 8.3+
Setting it up in Stripe and in your admin
In the Stripe Dashboard open Developers → API keys and copy the secret key (sk_test_ while you test). In Developers → Webhooks add the endpoint https://your-domain/webhooks/stripe with the events checkout.session.completed and checkout.session.async_payment_succeeded, and copy its whsec_ signing secret. In the store open Admin → Add-ons, paste both values and the add-on licence key, optionally type the product name shoppers see on the Stripe page (it defaults to Order and the order number), tick Enable and save. Then tick Card (Stripe) in Admin → Payments so it appears at checkout.
- Webhook address: /webhooks/stripe
- Two events to select in Stripe
- Shown at checkout as Card (Stripe)
What happens during a payment
When a shopper picks Card (Stripe) and places the order, the store creates a Stripe Checkout Session for the order total in the order's currency, in Stripe's smallest unit (cents, or whole units for zero-decimal currencies such as JPY), with the shopper's email filled in. The shopper pays on Stripe and comes back to the order page, where the add-on asks Stripe for that session. The order is marked paid only when the session belongs to it, is paid, and the amount and currency match; otherwise a note is added to the order history. If the shopper closes the tab, the signed webhook does the same check later. An order that is already paid is never marked paid again.
- Session looked up with Stripe on return
- Wrong amount or currency: not marked paid, note added
- Order stays pending until Stripe confirms
Honest limits
The add-on was tested only against mocked Stripe responses in the store's feature tests: session created and redirect, a valid webhook, old signatures and wrong amounts refused, and the return checked with Stripe. It has not processed a real payment, so place a test order with your sk_test_ key and Stripe's test card before you switch to live keys. Refunds, disputes and payouts are handled in your Stripe Dashboard, not from the store. Stripe decides which currencies, cards and wallets your account can take.
- Mocked tests only, no real payments
- Refunds are made in Stripe
- Stripe's own fees apply
More ready-made websites
Built by the same team, with the same setup service and support.
Browse every ready-made website, or compare our custom website packages if you need a site designed from scratch. Want more guests to find you on Google Maps? See our local SEO service, or talk to our web design team.




