Skip to content
Code Craft — web development and digital marketing
Django Store Add-onv1.0.0

Stripe Payments Add-on for Code Craft Store (Django)

Take card, Apple Pay and Google Pay payments in the Django store through Stripe Checkout, with signed webhooks

No reviews yetUpdated October 2026
Stripe add-on settings card in the Django store admin
Screenshots · 1 / 3

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
How it works

From order to a live website

  1. 1

    Buy the add-on

    One-time price. Your download link and licence key arrive by email and in My Account.

  2. 2

    Drop it in

    Upload the folder to addons/, restart the app and enable it in the admin.

  3. 3

    Take payments

    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: Django 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, currency and order number 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 only, 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 Django

This is an add-on for Code Craft Store: Django Ecommerce, sold separately. Upload its folder to the store's addons/ folder, restart the app and configure it in Admin → Add-ons; no code changes needed. Each add-on has its own licence key.

  • Works with Code Craft Store for Django 1.0 or later
  • Installed in minutes on cPanel Python App 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: Django Ecommerce that want to take card payments, plus Apple Pay and Google Pay where Stripe offers them on its page. You need the store (1.0 or later) on Python 3.10 or later, a Stripe account that can accept payments in your country, and your store on HTTPS so Stripe can reach the webhook. Card details are entered on Stripe's hosted page, never on your site, and the add-on adds no Python packages to install.

  • A Stripe account in your business name
  • An HTTPS domain for the webhook
  • Store 1.0+, Python 3.10+

Setting it up in Stripe and in your admin

Upload the stripe folder to addons/ and restart the app (cPanel: Setup Python App → Restart; VPS: restart the service). In the Stripe Dashboard copy your secret key from Developers → API keys (sk_test_ while you test). Add a webhook endpoint with the address the add-on shows in Admin → Add-ons, which is https://your-domain/addons/stripe/webhook/, choose checkout.session.completed and copy the whsec_ signing secret. Paste both values and the add-on licence key into the add-on's settings, tick Enable and save, then tick Card (Stripe) in Admin → Payment methods.

  • Webhook address: /addons/stripe/webhook/
  • Two settings: secret key and signing secret
  • Shown at checkout as Card (Stripe)

What happens during a payment

When a shopper picks Card (Stripe), the add-on creates a Checkout Session for the order total in the order's currency, at the rate saved on the order and in Stripe's smallest unit (whole units for zero-decimal currencies such as JPY), with an idempotency key so a retry does not open a second session. The shopper pays on Stripe and returns to the order page; the add-on looks the session up and marks the order paid only if it is paid, carries this order's number and has the exact amount and currency. If Stripe is slow, the order page says the confirmation has not arrived yet. The signed webhook (also checkout.session.async_payment_succeeded) confirms orders when the shopper closes the tab. If Stripe returns an error, the order is kept and stays pending.

  • Session looked up on return
  • Order number, amount and currency must match
  • Paid orders are never marked paid twice

Honest limits

The add-on's automated tests answer every Stripe call with a simulated response: session created with the amount and currency, a euro order using the order's rate, return after lookup, a wrong amount not paid, a valid webhook, forged and expired signatures refused, and a gateway error keeping the order. It has never processed a real payment. Refunds, disputes and payouts are handled in your Stripe Dashboard, not from the store.

  • Simulated responses only
  • 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.