自己解決したので、記述します。
ShoppingService.phpのsetDeliveryFreeAmountを書き換えたら、実現できました。
PHP
1$Order->setDeliveryFeeTotal(0);
を
PHP
1$Order->setDeliveryFeeTotal($Order->getDeliveryFeeTotal() - 900);
に変更。
コード全体
書き換え前
public function setDeliveryFreeAmount(Order $Order)
{
// 配送料無料条件(合計金額)
$deliveryFreeAmount = $this->BaseInfo->getDeliveryFreeAmount();
if (!is_null($deliveryFreeAmount)) {
// 合計金額が設定金額以上であれば送料無料
if ($Order->getSubTotal() >= $deliveryFreeAmount) {
$Order->setDeliveryFeeTotal(0);
// お届け先情報の配送料も0にセット
$shippings = $Order->getShippings();
foreach ($shippings as $Shipping) {
$Shipping->setShippingDeliveryFee(0);
}
}
}
}
書き換え後
public function setDeliveryFreeAmount(Order $Order)
{
// 配送料無料条件(合計金額)
$deliveryFreeAmount = $this->BaseInfo->getDeliveryFreeAmount();
if (!is_null($deliveryFreeAmount)) {
// 合計金額が設定金額以上であれば送料から900円マイナスする
if ($Order->getSubTotal() >= $deliveryFreeAmount) {
$Order->setDeliveryFeeTotal($Order->getDeliveryFeeTotal() - 900);
// お届け先情報の配送料も0にセット
$shippings = $Order->getShippings();
foreach ($shippings as $Shipping) {
$Shipping->setShippingDeliveryFee(0);
}
}
}
}