cita/ecommerce

SilverStripe 4 的电子商务模块

安装: 224

依赖: 0

建议者: 0

安全: 0

星标: 7

关注者: 8

分支: 4

开放问题: 1

类型:silverstripe-vendormodule

This package is auto-updated.

Last update: 2024-09-17 00:22:39 UTC


README

目前无文档 - 使用风险自负。

它是如何工作的?

它不...

演示?

https://demo-shop.cita.nz/

电子邮件配置

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

定时任务

设置定时任务以清除待处理的购物车(每日一次)

产品

Cita\eCommerce\Model\Product

订单

Cita\eCommerce\Model\Order

在扩展中实现 createInvoiceRows 函数以创建自定义发票行

支付设置

支付使用 Omnipay 及其插件。我们在此模块中实现了 5 个支付网关。

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

要启用您希望使用的支付网关,请在您的 '_config' 目录中创建一个 payment.yml 文件,并取消注释相应的行。示例

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

Stripe

...

请确保您的模板中需要 Stripe 的 v3 库

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

关闭订单的默认按钮

选择您希望关闭的按钮,并将值设置为 false

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

电子邮件发送

如果您想自定义电子邮件,请实现以下方法

  • SendCustomerEmail($from, $to, $str, $customer_sent_flag)
  • SendAdminEmail($from, $to_admin, $str, $admin_sent_flag)

并确保您更新 $customer_sent_flag & $admin_sent_flag 中的 'sent' 属性为 true

结账值

GST

GST 计算是基于折扣后的小计金额(如果有)加上运费。

运费

  • 运费不包括在 GST 计算中
  • 运费不接受折扣(如果您想给货运提供商钱,请扩展类并自定义计算,并从那里自行管理计算。)

模板

如果您想创建自己的购物车模板,请覆盖以下文件

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

常见问题解答

测试卡?

POLi

用户名:DemoShopper

密码:DemoShopper

支付 Express

卡号:4111111111111111

持卡人:您的名字

到期日:[保持原样]

CVV:100

Paystation

卡号:5555555555554444

持卡人:您的名字

到期日:0521

CVV:100

Stripe

卡号:4000005540000008

到期日:0555

CVV:555

为什么支付 Express 方法会四舍五入应付总额(或支付网关上显示的金额与结账总金额不同)?

在沙箱模式下,支付 Express 只允许整数作为应付金额,因此我们必须在将其传递给支付 Express 的支付网关之前四舍五入金额。