PHPackages                             cita/ecommerce - 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. [Framework](/categories/framework)
4. /
5. cita/ecommerce

ActiveSilverstripe-vendormodule[Framework](/categories/framework)

cita/ecommerce
==============

eCommerce module for SilverStripe 4

1.0.1(2y ago)72244[1 PRs](https://github.com/CITANZ/citanz-ecommerce/pulls)MITPHPCI failing

Since Jul 18Pushed 2y ago7 watchersCompare

[ Source](https://github.com/CITANZ/citanz-ecommerce)[ Packagist](https://packagist.org/packages/cita/ecommerce)[ Docs](https://github.com/CITANZ/silverstripe-ecommerce)[ RSS](/packages/cita-ecommerce/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (14)Versions (4)Used By (0)

CITANZ SilverStripe eCommerce
=============================

[](#citanz-silverstripe-ecommerce)

No doc at this stage - use on your own risk.

How does it work?
-----------------

[](#how-does-it-work)

It doesn't...

Demo?
-----

[](#demo)

Email Configuration
-------------------

[](#email-configuration)

```
SilverStripe\Control\Email\Email:
  noreply_email:
    noreply@yourdomainname.com: 'Sitename'

```

Cronjob
-------

[](#cronjob)

set up a cronjob to purge pending carts (on a daily basis)

Product
-------

[](#product)

`Cita\eCommerce\Model\Product`

Order
-----

[](#order)

`Cita\eCommerce\Model\Order`

### implement `createInvoiceRows` function in extension to create your own invoice rows

[](#implement-createinvoicerows-function-in-extension-to-create-your-own-invoice-rows)

Payment settings
----------------

[](#payment-settings)

Payment is using Omnipay and its plugins. We have implemented 5 payment gateways in this module.

```
---
Name: 'citanz-silverstripe-ecommerce-payment'
---
SilverStripe\Omnipay\Model\Payment:
  file_logging: true
  # allowed_gateways:
    # - PaymentExpress_PxPay
    # - PayPal_Express
    # - Poli
    # - Paystation_Hosted
    # - Stripe

```

To enable the payment gateway that you wish to use, create a `payment.yml` file in your '\_config' directory, and uncomment the line(s) accordingly. Example:

```
---
Name: 'payment'
---
SilverStripe\Omnipay\Model\Payment:
  file_logging: true
  allowed_gateways:
    - PaymentExpress_PxPay

```

### Stripe

[](#stripe)

...

Make sure you require Stripe's v3 library in your template

```
Requirements::javascript('https://js.stripe.com/v3/');

```

### turn off order's default buttons:

[](#turn-off-orders-default-buttons)

Choose which one(s) you wish to turn off, and set the value(s) to false

```
Cita\eCommerce\Model\Order:
  default_buttons:
    send_invoice    :   true
    cheque_cleared  :   true
    refund          :   true
    send_tracking   :   true
    debit_cleared   :   true

```

Email sending
-------------

[](#email-sending)

If you want to customise emails, please implement below methods:

- SendCustomerEmail($from, $to, $str, $customer\_sent\_flag)
- SendAdminEmail($from, $to\_admin, $str, $admin\_sent\_flag)

and make sure you update the 'sent' prop in $customer\_sent\_flag &amp; $admin\_sent\_flag to `true`

Checkout values
---------------

[](#checkout-values)

### GST

[](#gst)

GST calculation is based on the subtotal amount AFTER the discount (is there is one) plus shipping cost.

### Shipping cost

[](#shipping-cost)

- Shipping cost IS NOT included in GST calculation
- Shipping cost DOES NOT accept discount (if you want to give the freight provider money, you extend the classes and customise the calculation and take manage your own calculation from there.)

### Templating

[](#templating)

If you would like to create your own cart templates, please override below files:

```
Cita\eCommerce\Controller\Layout\Cart.ss
Cita\eCommerce\Controller\Layout\Cart_checkout.ss
Cita\eCommerce\Controller\Layout\Cart_complete.ss
Cita\eCommerce\Model\Layout\Catalog.ss
Cita\eCommerce\Model\Layout\Product.ss
Cita\eCommerce\Model\Layout\ProductCollection.ss

```

FAQ
---

[](#faq)

### Test cards?

[](#test-cards)

#### POLi

[](#poli)

Username: DemoShopper

Password: DemoShopper

#### Payment Express

[](#payment-express)

Card: 4111111111111111

Card Holder: YOUR\_NAME

Expiry: \[leave it as it is\]

CVV: 100

#### Paystation

[](#paystation)

Card: 5555555555554444

Card Holder: YOUR\_NAME

Expiry: 0521

CVV: 100

#### Stripe

[](#stripe-1)

Card: 4000005540000008

Expiry: 0555

CVV: 555

### Why Payment Express method rounds my payable total (or amount shows up on the payment gateway is different from what's on the checkout grand total)?

[](#why-payment-express-method-rounds-my-payable-total-or-amount-shows-up-on-the-payment-gateway-is-different-from-whats-on-the-checkout-grand-total)

When on sandbox mode, Payment Express only allows integer value to be the amount to pay, therefore we have to round the amount before we pass it to Payment Express's payment gateway.

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97.1% 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

Every ~972 days

Total

2

Last Release

790d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0395e460ef8e7579fc3f6e426d16bd0fed2b54de4ef5611d49494b0d6ee240be?d=identicon)[leochenftw](/maintainers/leochenftw)

---

Top Contributors

[![leochenftw](https://avatars.githubusercontent.com/u/8662044?v=4)](https://github.com/leochenftw "leochenftw (167 commits)")[![chijinbo](https://avatars.githubusercontent.com/u/10263339?v=4)](https://github.com/chijinbo "chijinbo (3 commits)")[![okchum](https://avatars.githubusercontent.com/u/1487157?v=4)](https://github.com/okchum "okchum (1 commits)")[![sephyhe](https://avatars.githubusercontent.com/u/18409090?v=4)](https://github.com/sephyhe "sephyhe (1 commits)")

---

Tags

ecommerceshopping cartsilverstripe ecommerce

### Embed Badge

![Health badge](/badges/cita-ecommerce/health.svg)

```
[![Health](https://phpackages.com/badges/cita-ecommerce/health.svg)](https://phpackages.com/packages/cita-ecommerce)
```

###  Alternatives

[aimeos/aimeos

Aimeos ecommerce and shop system

5.3k108.1k](/packages/aimeos-aimeos)[jsdecena/laracom

Laravel powered e-commerce

2.0k4.4k](/packages/jsdecena-laracom)[silvershop/core

Provides an ecommerce product catalog, shopping cart, and order management system

11340.0k42](/packages/silvershop-core)[sylius/core

Sylius e-commerce core. It integrates all components.

10143.1k31](/packages/sylius-core)[swipestripe/swipestripe

Ecommerce module to create online shops using SilverStripe.

336.4k9](/packages/swipestripe-swipestripe)[cetera-labs/cetera-cms

Fastsite CMS — innovative content management and eCommerce-product, based at 10-years experience and agile development methodologies. Fastsite CMS helps to start your internet sales in 5 minutes.

165.0k1](/packages/cetera-labs-cetera-cms)

PHPackages © 2026

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