affiliate_transaction

Срабатывает при изменении количества бонусных баллов покупателя: во время оформления или оплаты заказа либо в результате действий администратора магазина в профиле покупателя.

Доступно начиная с версии 11.3.0.

Shop-Script

Входящие параметры (передаются по ссылке)

$params['type'] string Тип операции с бонусными баллами: 'deposit' (увеличение количества в результате действия администратора в профиле покупателя), 'withdrawal' (уменьшение количества в результате действия администратора в профиле покупателя), 'order_bonus' (начисление при оплате заказа с применёнными баллами), 'order_discount' (списание при оформлении заказа), 'order_cancel' (списание при выполнении возврата для оплаченного заказа).
$params['id'] int Порядковый ID операции с баллами.
$params['contact_id'] int ID покупателя.
$params['amount'] float Количество баллов, добавленных на баланс либо списанных с баланса покупателя.
$params['order_id'] int ID заказа.
$params['comment'] string Локализованное описание операции с баллами.
$params['balance'] float Количество баллов на балансе после выполнения операции.
$params['log_id] int|null ID действия заказом, связанным с выполнением операции.
$params['order'] array|null Информация о заказе в виде массива со следующими ключами (если операция с баллами была вызвана действием с заказом):
$params['order']['id'] int ID заказа.
$params['order']['contact_id'] int ID контакта покупателя.
$params['order']['create_datetime'] datetime Дата и время создания.
$params['order']['update_datetime'] datetime Дата и время обновления.
$params['order']['state_id'] string Идентификатор статуса.
$params['order']['total'] float Стоимость заказа.
$params['order']['currency'] string 3-буквенное обозначение валюты заказа.
$params['order']['rate'] float 3-буквенное обозначение валюты заказа.
$params['order']['tax'] float Размер рассчитанной суммы налога.
$params['order']['shipping'] float Стоимость доставки.
$params['order']['discount'] float Размер скидки.
$params['order']['paid_year'] int Номер года из даты оплаты заказа.
$params['order']['paid_quarter'] int Номер квартала года из даты оплаты заказа.
$params['order']['paid_month'] int Номер месяца из даты оплаты заказа.
$params['order']['paid_date'] date Дата оплаты заказа.
$params['order']['paid_datetime'] datetime Дата и время оплаты заказа.
$params['order']['is_first'] datetime Дата и время оплаты заказа.
$params['order']['comment'] string Комментарий к заказу.
… код плагина …

Результат работы плагина

Shop-Script

Пример кода плагина

PHP

public function affiliateTransaction($params)
{
    switch ($params['type']) {
        case shopAffiliateTransactionModel::TYPE_DEPOSIT:
        case shopAffiliateTransactionModel::TYPE_ORDER_BONUS:
            $message = sprintf_wp(
                'The amount of %0.4f has been added to the account of customer with id=%d.',
                $params['amount'],
                $params['contact_id']
            );
            break;
        case shopAffiliateTransactionModel::TYPE_ORDER_CANCEL:
        case shopAffiliateTransactionModel::TYPE_ORDER_DISCOUNT:
        case shopAffiliateTransactionModel::TYPE_WITHDRAWAL:
            $message = sprintf_wp(
                'The amount of %0.4f has been deducted from the account of customer with id=%d.',
                $params['amount'],
                $params['contact_id']
            );
            break;
    }

    waLog::log(
        $message,
        'shop/plugins/' . $this->id . '/affiliate_transaction.log'
    );
}