DiscountProcessor
値引きを制御するプロセッサ.
値引きを扱う場合, 合計金額以上の値引きを追加しないように留意する必要があります.
PurchaseFlowは, DiscountProcessor::removeDiscountItemを最初に呼びだし, 値引き明細がすべてクリアされた状態でDiscountProcessor::addDiscountItemを呼び出します.
addDiscountItemが呼ばれるごとにPurchaseFlowは合計金額を集計します. addDiscountItemでは, 合計金額のチェックを行い, 追加できる範囲で値引き明細を追加するようにしてください.
Table of Contents
removeDiscountItem() | 値引き明細の削除処理を実装します. | mixed |
---|---|---|
addDiscountItem() | 値引き明細の追加処理を実装します. | ProcessResult|null |
Methods
removeDiscountItem()
値引き明細の削除処理を実装します.
public
removeDiscountItem(
$itemHolder :
ItemHolderInterface
, $context :
PurchaseContext
)
: mixed
Parameters
- $itemHolder : ItemHolderInterface
- $context : PurchaseContext
Return values
mixedaddDiscountItem()
値引き明細の追加処理を実装します.
public
addDiscountItem(
$itemHolder :
ItemHolderInterface
, $context :
PurchaseContext
)
: ProcessResult|null
かならず合計金額等のチェックを行い, 超える場合は利用できる金額まで丸めるか、もしくは明細の追加処理をスキップしてください. 正常に追加できない場合は, ProcessResult::warnを返却してください.
Parameters
- $itemHolder : ItemHolderInterface
- $context : PurchaseContext