following https://craftcms.com/docs/commerce/3.x/extend/adjusters.html#writing-an-adjuster I am trying to make a custom adjuster:
I placed
class myPlugin extends Plugin{
Event::on(
OrderAdjustments::class,
OrderAdjustments::EVENT_REGISTER_ORDER_ADJUSTERS,
function(RegisterComponentTypesEvent $event) {
$event->types[] = Amss_StripeSurcharge::class;
}
);
}
inside myPlugin.php
and in the same file I have
use craft\commerce\services\OrderAdjustments;
use yii\base\Event;
use Amss_StripeSurcharge;
included in the top.
I have the file Amss_StripeSurcharge.php in the same folder as myPlugin.php,
which currently just has code copied and pasted from the documentation.
However, when I press add items to cart, I get the error:
TypeError: Argument 1 passed to amss\amss\AMSS::amss\amss{closure}() must be an instance of amss\amss\RegisterComponentTypesEvent, instance of craft\events\RegisterComponentTypesEvent given in C:\xampp\htdocs\newamss\craft\plugins\craft-AMSS\src\AMSS.php:205 Stack trace: #0 [internal function]: amss\amss\AMSS->amss\amss{closure}(Object(craft\events\RegisterComponentTypesEvent)) #1 C:\xampp\htdocs\newamss\craft\vendor\yiisoft\yii2\base\Event.php(312): call_user_func(Object(Closure), Object(craft\events\RegisterComponentTypesEvent)) #2 C:\xampp\htdocs\newamss\craft\vendor\yiisoft\yii2\base\Component.php(637): yii\base\Event::trigger('craft\commerce\...', 'registerOrderAd...', Object(craft\events\RegisterComponentTypesEvent)) #3 C:\xampp\htdocs\newamss\craft\vendor\craftcms\commerce\src\services\OrderAdjustments.php(103): yii\base\Component->trigger('registerOrderAd...', Object(craft\events\RegisterComponentTypesEvent)) #4 C:\xampp\htdocs\newamss\craft\vendor\craftcms\commerce\src\elements\Order.php(1804): craft\commerce\services\OrderAdjustments->getAdjusters() #5 C:\xampp\htdocs\newamss\craft\vendor\craftcms\commerce\src\elements\Order.php(1905): craft\commerce\elements\Order->recalculate() #6 C:\xampp\htdocs\newamss\craft\vendor\craftcms\cms\src\services\Elements.php(2666): craft\commerce\elements\Order->afterSave(false) #7 C:\xampp\htdocs\newamss\craft\vendor\craftcms\cms\src\services\Elements.php(773): craft\services\Elements->_saveElementInternal(Object(craft\commerce\elements\Order), false, false, true) #8 C:\xampp\htdocs\newamss\craft\vendor\craftcms\commerce\src\controllers\CartController.php(403): craft\services\Elements->saveElement(Object(craft\commerce\elements\Order), false, false, true) #9 C:\xampp\htdocs\newamss\craft\vendor\craftcms\commerce\src\controllers\CartController.php(238): craft\commerce\controllers\CartController->_returnCart() #10 [internal function]: craft\commerce\controllers\CartController->actionUpdateCart() #11 C:\xampp\htdocs\newamss\craft\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array) #12 C:\xampp\htdocs\newamss\craft\vendor\yiisoft\yii2\base\Controller.php(181): yii\base\InlineAction->runWithParams(Array) #13 C:\xampp\htdocs\newamss\craft\vendor\craftcms\cms\src\web\Controller.php(190): yii\base\Controller->runAction('update-cart', Array) #14 C:\xampp\htdocs\newamss\craft\vendor\yiisoft\yii2\base\Module.php(534): craft\web\Controller->runAction('update-cart', Array) #15 C:\xampp\htdocs\newamss\craft\vendor\craftcms\cms\src\web\Application.php(276): yii\base\Module->runAction('commerce/cart/u...', Array) #16 C:\xampp\htdocs\newamss\craft\vendor\craftcms\cms\src\web\Application.php(585): craft\web\Application->runAction('commerce/cart/u...', Array) #17 C:\xampp\htdocs\newamss\craft\vendor\craftcms\cms\src\web\Application.php(255): craft\web\Application->_processActionRequest(Object(craft\web\Request)) #18 C:\xampp\htdocs\newamss\craft\vendor\yiisoft\yii2\base\Application.php(392): craft\web\Application->handleRequest(Object(craft\web\Request)) #19 C:\xampp\htdocs\newamss\craft\web\index.php(26): yii\base\Application->run() #20 {main}
myPlugin and myPlugin.php are just madeup names for what the name of the actual plugin is called, which is called amss
Any help on how I can fix this error would be appreciated!