PHPackages                             se7enxweb/sevenx\_payment\_stripe - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. se7enxweb/sevenx\_payment\_stripe

ActiveEzpublish-legacy-extension[Payment Processing](/categories/payments)

se7enxweb/sevenx\_payment\_stripe
=================================

Stripe Payment Element gateway for eZ Publish 4 / Exponential CMS. Integrates the Stripe PaymentIntents API and Stripe.js Payment Element into the eZ Publish shop workflow. Supports cards, Apple Pay, Google Pay, Link, Stripe Tax, and all Stripe-enabled payment methods.

v1.0.0(1mo ago)13GPL-2.0-or-laterSmartyPHP &gt;=8.0.0

Since May 27Pushed 1mo agoCompare

[ Source](https://github.com/se7enxweb/sevenx_payment_stripe)[ Packagist](https://packagist.org/packages/se7enxweb/sevenx_payment_stripe)[ Docs](https://github.com/se7enxweb/sevenx_payment_stripe)[ Fund](https://account.venmo.com/u/se7enxweb)[ Fund](https://cash.app/$7xweb)[ RSS](/packages/se7enxweb-sevenx-payment-stripe/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

7x Payment Gateway : Stripe
===========================

[](#7x-payment-gateway--stripe)

A [Stripe](https://stripe.com) payment gateway extension for **Exponential**. Provides an alternative payment gateway using the modern **Stripe Payment Element** — a single, embedded UI that supports cards, Apple Pay, Google Pay, Link, and every Stripe-supported payment method with zero additional code.

---

At a glance
-----------

[](#at-a-glance)

**Extension name**`sevenx_payment_stripe`**Version**1.0.0**License**[GNU General Public License v2.0 (or any later version)](LICENSE)**Requires**Exponential CMS 4.7+ · PHP 8.0+ · Composer · **ezjscore** extension**ezjscore**Latest version — must be installed, activated, and working**Stripe PHP SDK**`stripe/stripe-php` v14+ (installed via Composer)**Stripe.js**v3 (loaded from `https://js.stripe.com/v3/`)**Tested on**PHP 8.2, Exponential CMS 4.7---

How it works
------------

[](#how-it-works)

The extension integrates with the Exponential shop **workflow event** system. When a customer reaches the payment step, Exponential calls `loadForm()` on the gateway class, which renders the Stripe Payment Element. After Stripe confirms the payment in-page, the JS posts to `ezjsc-stripe::verify` which verifies the result server-side and marks the order as **Paid** (status 1000). The browser then navigates to a clean `/shop/checkout` URL where the workflow advances automatically.

### Payment flow

[](#payment-flow)

```
Browser                    Exponential / PHP             Stripe
  |                               |                         |
  |--- GET /shop/checkout ------->|                         |
  |   (pre_checkout workflow      |                         |
  |    triggers loadForm())       |                         |
  ||                         |
  |   { orderId }                  |--- createPaymentIntent->|
  |                                ||
  |                                ||                         |
  |   (loadForm() finds           |                         |
  |    status_id === 1000)        |                         |
  |modifyStatus(1000)` which records the status change atomically.
5. **Workflow completion** — The JS calls `window.location.replace("/shop/checkout")` — a clean URL with no Stripe query parameters. Exponential calls `loadForm()` again; it detects `status_id === 1000` and returns `STATUS_ACCEPTED`, advancing the workflow to the order confirmation page.

---

Quick start
-----------

[](#quick-start)

See **[doc/INSTALL.md](doc/INSTALL.md)** for complete requirements and installation steps.

---

Documentation
-------------

[](#documentation)

DocumentContents[doc/INSTALL.md](doc/INSTALL.md)Requirements, installation, Composer setup, INI configuration[doc/FEATURES.md](doc/FEATURES.md)Full feature list — security, Stripe Tax, Payment Element[doc/FAQ.md](doc/FAQ.md)Troubleshooting and common questions[doc/TODO.md](doc/TODO.md)Roadmap and planned improvements[doc/EZCURLGATEWAY.md](doc/EZCURLGATEWAY.md)eZCurlGateway PHP 8 fork — diff vs stock, rationale[doc/changelogs/](doc/changelogs/)Version history---

Extension structure
-------------------

[](#extension-structure)

```
extension/sevenx_payment_stripe/
├── classes/
│   ├── ezcurlgateway.php                       Base cURL gateway (PHP 8 fork — see doc/EZCURLGATEWAY.md)
│   ├── sevenx_payment_stripegateway.php        loadForm(): renders form or advances workflow
│   └── ezjscserverfunctionsstripejs.php        eZJSCore endpoints — confirm (create PI) + verify (set status 1000)
├── modules/charge/
│   ├── module.php                              Registers 'charge' module views
│   ├── charge.php                              Fallback for ezjsc-stripe::confirm
│   ├── confirm.php                             Deprecated stub — redirects to /shop/checkout
│   └── verify.php                              Fallback for ezjsc-stripe::verify
├── design/standard/
│   ├── javascript/stripe-checkout.js        Payment Element JS, confirmPayment() call
│   ├── stylesheets/checkout.css                Checkout form styles
│   └── templates/workflow/eventtype/result/
│       └── stripe_form.tpl                     Checkout form template
├── settings/
│   └── stripe.ini.append.php                   SecretKey + DisplayHelp
├── composer.json
├── ezinfo.php
├── extension.xml
└── package.xml

```

---

Configuration
-------------

[](#configuration)

### INI settings — `settings/override/stripe.ini.append.php`

[](#ini-settings--settingsoverridestripeiniappendphp)

Set real keys in the **site-level override** (never in the extension's own `settings/stripe.ini.append.php`, which is committed to version control and contains only placeholders).

```
[Sevenx_Payment_Stripe_Settings]
# Both keys must come from the same Stripe account.
# Use sk_test_... / pk_test_... for development, sk_live_... / pk_live_... for production.
SecretKey=sk_test_...
PublishableKey=pk_test_...

# Display help text on the payment form (true/false)
DisplayHelp=false
```

> Find your keys at .

---

Going live (test → production)
------------------------------

[](#going-live-test--production)

1. Replace both `SecretKey` and `PublishableKey` in `settings/override/stripe.ini.append.php` with your `sk_live_...` and `pk_live_...` keys. Both must be from the same Stripe account.
2. Confirm `window.location.origin + "/shop/checkout"` resolves correctly for your domain — this is the `return_url` used for redirect-required payment methods (iDEAL, 3DS fallback, etc.).
3. If using Stripe Tax, verify that Tax is activated in the Stripe Dashboard for your account.
4. Test end-to-end in the Stripe Dashboard with a live card before announcing production.

---

Requirements summary
--------------------

[](#requirements-summary)

- Exponential 6.0.x+ (PHP 8.2+)
- PHP 8.0 or higher
- **ezjscore** extension — latest version, installed and activated (the AJAX endpoints `ezjsc-stripe::confirm` and `ezjsc-stripe::verify` are registered via ezjscore's `FunctionList` mechanism; without it no payment can be initialised or verified)
- Composer (for the `stripe/stripe-php` SDK)
- A Stripe account (free — [stripe.com](https://stripe.com))
- HTTPS on the production domain (required by Stripe for live payments)

---

License
-------

[](#license)

Copyright (C) 2001–2026 [7x](https://se7enx.com). Released under the **GNU General Public License v2.0 (or any later version)** — see [LICENSE](LICENSE).

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance90

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 61.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

58d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1083669?v=4)[7x](/maintainers/7x)[@7x](https://github.com/7x)

---

Top Contributors

[![se7enxweb](https://avatars.githubusercontent.com/u/51429274?v=4)](https://github.com/se7enxweb "se7enxweb (8 commits)")[![brookinsconsulting](https://avatars.githubusercontent.com/u/617031?v=4)](https://github.com/brookinsconsulting "brookinsconsulting (5 commits)")

---

Tags

stripeextensionApple Paymodulepayment gatewaygoogle-paycredit cardsez publisheZ Publish LegacyExponential CMSPayment ElementPaymentIntents

### Embed Badge

![Health badge](/badges/se7enxweb-sevenx-payment-stripe/health.svg)

```
[![Health](https://phpackages.com/badges/se7enxweb-sevenx-payment-stripe/health.svg)](https://phpackages.com/packages/se7enxweb-sevenx-payment-stripe)
```

###  Alternatives

[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3518.3k](/packages/duncanmcclean-statamic-cargo)[flux-se/sylius-stripe-plugin

Sylius Stripe plugin using Payment Request

1242.7k2](/packages/flux-se-sylius-stripe-plugin)[musahmusah/laravel-multipayment-gateways

A Laravel Package that makes implementation of multiple payment Gateways endpoints and webhooks seamless

882.2k1](/packages/musahmusah-laravel-multipayment-gateways)[tastyigniter/ti-ext-payregister

Allows you to accept credit card payments using PayPal, Stripe, Authorize.Net and/or Mollie.

1018.3k8](/packages/tastyigniter-ti-ext-payregister)[luyadev/luya-module-payment

LUYA Payment allows you to integrate payments in a safe and fast way. The module take care of all the provider required steps (call, create, success, abort, etc.) and provides all the informations for your store.

1012.2k](/packages/luyadev-luya-module-payment)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
