refactor: update marketplace fee structure for TikTok and Shopee, replacing old fee keys with new ones and adjusting related settings

This commit is contained in:
Yoga Pangestu 2026-06-17 22:58:36 +07:00
parent d682f9e309
commit b176854bc3
7 changed files with 254 additions and 150 deletions

View File

@ -72,19 +72,21 @@ public function attributes(): array
private function feeFieldKeys(): array
{
return [
'tiktok_shop_admin_fee' => 'biaya admin TikTok Shop',
'tiktok_shop_transaction_fee' => 'biaya transaksi TikTok Shop',
'tiktok_shop_payment_fee' => 'biaya pembayaran TikTok Shop',
'tiktok_shop_affiliate_commission' => 'komisi afiliasi TikTok Shop',
'tiktok_shop_shipping_subsidy' => 'subsidi ongkir TikTok Shop',
'tiktok_shop_vat_rate' => 'PPN / pajak TikTok Shop',
'shopee_commission_fee' => 'komisi Shopee',
'shopee_transaction_fee' => 'biaya transaksi Shopee',
'tiktok_shop_platform_commission' => 'biaya komisi platform TikTok Shop',
'tiktok_shop_logistics_service_fee' => 'biaya layanan logistik TikTok Shop',
'tiktok_shop_dynamic_commission' => 'komisi dinamis TikTok Shop',
'tiktok_shop_order_processing_fee' => 'biaya pemrosesan pesanan TikTok Shop',
'tiktok_shop_affiliate' => 'affiliate TikTok Shop',
'tiktok_shop_pre_order_service_fee' => 'biaya layanan pre order TikTok Shop',
'shopee_admin_fee' => 'biaya administrasi Shopee',
'shopee_program_fee' => 'biaya program Shopee',
'shopee_shipping_savings' => 'hemat biaya kirim Shopee',
'shopee_premium' => 'premi Shopee',
'shopee_service_fee' => 'biaya layanan Shopee',
'shopee_payment_fee' => 'biaya pembayaran Shopee',
'shopee_affiliate_commission' => 'komisi afiliasi Shopee',
'shopee_shipping_subsidy' => 'subsidi ongkir Shopee',
'shopee_voucher_fee' => 'biaya voucher / diskon Shopee',
'shopee_order_processing_fee' => 'biaya proses pesanan Shopee',
'shopee_ams_commission_fee' => 'biaya komisi AMS Shopee',
'shopee_pre_order' => 'pre order Shopee',
'shopee_live_extra' => 'live extra Shopee',
];
}
}

View File

@ -15,12 +15,12 @@ class MarketplaceService
private function tiktokFeeKeys(): array
{
return [
'tiktok_shop_admin_fee',
'tiktok_shop_transaction_fee',
'tiktok_shop_payment_fee',
'tiktok_shop_affiliate_commission',
'tiktok_shop_shipping_subsidy',
'tiktok_shop_vat_rate',
'tiktok_shop_platform_commission',
'tiktok_shop_logistics_service_fee',
'tiktok_shop_dynamic_commission',
'tiktok_shop_order_processing_fee',
'tiktok_shop_affiliate',
'tiktok_shop_pre_order_service_fee',
];
}
@ -30,13 +30,15 @@ private function tiktokFeeKeys(): array
private function shopeeFeeKeys(): array
{
return [
'shopee_commission_fee',
'shopee_transaction_fee',
'shopee_admin_fee',
'shopee_program_fee',
'shopee_shipping_savings',
'shopee_premium',
'shopee_service_fee',
'shopee_payment_fee',
'shopee_affiliate_commission',
'shopee_shipping_subsidy',
'shopee_voucher_fee',
'shopee_order_processing_fee',
'shopee_ams_commission_fee',
'shopee_pre_order',
'shopee_live_extra',
];
}
@ -45,19 +47,21 @@ public function marketplaceData(): array
$settings = app(MarketplaceSettings::class);
return [
'tiktok_shop_admin_fee' => $this->presentFeeRule($settings->tiktok_shop_admin_fee),
'tiktok_shop_transaction_fee' => $this->presentFeeRule($settings->tiktok_shop_transaction_fee),
'tiktok_shop_payment_fee' => $this->presentFeeRule($settings->tiktok_shop_payment_fee),
'tiktok_shop_affiliate_commission' => $this->presentFeeRule($settings->tiktok_shop_affiliate_commission),
'tiktok_shop_shipping_subsidy' => $this->presentFeeRule($settings->tiktok_shop_shipping_subsidy),
'tiktok_shop_vat_rate' => $this->presentFeeRule($settings->tiktok_shop_vat_rate),
'shopee_commission_fee' => $this->presentFeeRule($settings->shopee_commission_fee),
'shopee_transaction_fee' => $this->presentFeeRule($settings->shopee_transaction_fee),
'tiktok_shop_platform_commission' => $this->presentFeeRule($settings->tiktok_shop_platform_commission),
'tiktok_shop_logistics_service_fee' => $this->presentFeeRule($settings->tiktok_shop_logistics_service_fee),
'tiktok_shop_dynamic_commission' => $this->presentFeeRule($settings->tiktok_shop_dynamic_commission),
'tiktok_shop_order_processing_fee' => $this->presentFeeRule($settings->tiktok_shop_order_processing_fee),
'tiktok_shop_affiliate' => $this->presentFeeRule($settings->tiktok_shop_affiliate),
'tiktok_shop_pre_order_service_fee' => $this->presentFeeRule($settings->tiktok_shop_pre_order_service_fee),
'shopee_admin_fee' => $this->presentFeeRule($settings->shopee_admin_fee),
'shopee_program_fee' => $this->presentFeeRule($settings->shopee_program_fee),
'shopee_shipping_savings' => $this->presentFeeRule($settings->shopee_shipping_savings),
'shopee_premium' => $this->presentFeeRule($settings->shopee_premium),
'shopee_service_fee' => $this->presentFeeRule($settings->shopee_service_fee),
'shopee_payment_fee' => $this->presentFeeRule($settings->shopee_payment_fee),
'shopee_affiliate_commission' => $this->presentFeeRule($settings->shopee_affiliate_commission),
'shopee_shipping_subsidy' => $this->presentFeeRule($settings->shopee_shipping_subsidy),
'shopee_voucher_fee' => $this->presentFeeRule($settings->shopee_voucher_fee),
'shopee_order_processing_fee' => $this->presentFeeRule($settings->shopee_order_processing_fee),
'shopee_ams_commission_fee' => $this->presentFeeRule($settings->shopee_ams_commission_fee),
'shopee_pre_order' => $this->presentFeeRule($settings->shopee_pre_order),
'shopee_live_extra' => $this->presentFeeRule($settings->shopee_live_extra),
];
}
@ -112,27 +116,29 @@ private function feeRulesForChannel(OrderChannel $channel): ?array
$settings = app(MarketplaceSettings::class);
return match ($channel) {
OrderChannel::SHOPEE => [
'platform' => 'shopee',
'fees' => [
'commission_fee' => $this->presentFeeRule($settings->shopee_commission_fee),
'transaction_fee' => $this->presentFeeRule($settings->shopee_transaction_fee),
'service_fee' => $this->presentFeeRule($settings->shopee_service_fee),
'payment_fee' => $this->presentFeeRule($settings->shopee_payment_fee),
'affiliate_commission' => $this->presentFeeRule($settings->shopee_affiliate_commission),
'shipping_subsidy' => $this->presentFeeRule($settings->shopee_shipping_subsidy),
'voucher_fee' => $this->presentFeeRule($settings->shopee_voucher_fee),
],
],
OrderChannel::TIKTOK => [
'platform' => 'tiktok',
'fees' => [
'admin_fee' => $this->presentFeeRule($settings->tiktok_shop_admin_fee),
'transaction_fee' => $this->presentFeeRule($settings->tiktok_shop_transaction_fee),
'payment_fee' => $this->presentFeeRule($settings->tiktok_shop_payment_fee),
'affiliate_commission' => $this->presentFeeRule($settings->tiktok_shop_affiliate_commission),
'shipping_subsidy' => $this->presentFeeRule($settings->tiktok_shop_shipping_subsidy),
'vat_rate' => $this->presentFeeRule($settings->tiktok_shop_vat_rate),
'platform_commission' => $this->presentFeeRule($settings->tiktok_shop_platform_commission),
'logistics_service_fee' => $this->presentFeeRule($settings->tiktok_shop_logistics_service_fee),
'dynamic_commission' => $this->presentFeeRule($settings->tiktok_shop_dynamic_commission),
'order_processing_fee' => $this->presentFeeRule($settings->tiktok_shop_order_processing_fee),
'affiliate' => $this->presentFeeRule($settings->tiktok_shop_affiliate),
'pre_order_service_fee' => $this->presentFeeRule($settings->tiktok_shop_pre_order_service_fee),
],
],
OrderChannel::SHOPEE => [
'platform' => 'shopee',
'fees' => [
'admin_fee' => $this->presentFeeRule($settings->shopee_admin_fee),
'program_fee' => $this->presentFeeRule($settings->shopee_program_fee),
'shipping_savings' => $this->presentFeeRule($settings->shopee_shipping_savings),
'premium' => $this->presentFeeRule($settings->shopee_premium),
'service_fee' => $this->presentFeeRule($settings->shopee_service_fee),
'order_processing_fee' => $this->presentFeeRule($settings->shopee_order_processing_fee),
'ams_commission_fee' => $this->presentFeeRule($settings->shopee_ams_commission_fee),
'pre_order' => $this->presentFeeRule($settings->shopee_pre_order),
'live_extra' => $this->presentFeeRule($settings->shopee_live_extra),
],
],
OrderChannel::STORE => null,

View File

@ -6,31 +6,35 @@
class MarketplaceSettings extends Settings
{
public array $tiktok_shop_admin_fee;
public array $tiktok_shop_platform_commission;
public array $tiktok_shop_transaction_fee;
public array $tiktok_shop_logistics_service_fee;
public array $tiktok_shop_payment_fee;
public array $tiktok_shop_dynamic_commission;
public array $tiktok_shop_affiliate_commission;
public array $tiktok_shop_order_processing_fee;
public array $tiktok_shop_shipping_subsidy;
public array $tiktok_shop_affiliate;
public array $tiktok_shop_vat_rate;
public array $tiktok_shop_pre_order_service_fee;
public array $shopee_commission_fee;
public array $shopee_admin_fee;
public array $shopee_transaction_fee;
public array $shopee_program_fee;
public array $shopee_shipping_savings;
public array $shopee_premium;
public array $shopee_service_fee;
public array $shopee_payment_fee;
public array $shopee_order_processing_fee;
public array $shopee_affiliate_commission;
public array $shopee_ams_commission_fee;
public array $shopee_shipping_subsidy;
public array $shopee_pre_order;
public array $shopee_voucher_fee;
public array $shopee_live_extra;
public static function group(): string
{

View File

@ -25,20 +25,24 @@ public function up(): void
});
$this->migrator->inGroup('marketplace', function (SettingsBlueprint $blueprint): void {
$blueprint->add('tiktok_shop_admin_fee', MarketplaceFeeRule::defaultPercent(5.0)->toArray());
$blueprint->add('tiktok_shop_transaction_fee', MarketplaceFeeRule::defaultPercent(1.0)->toArray());
$blueprint->add('tiktok_shop_payment_fee', MarketplaceFeeRule::defaultPercent(0.7)->toArray());
$blueprint->add('tiktok_shop_affiliate_commission', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('tiktok_shop_shipping_subsidy', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('tiktok_shop_vat_rate', MarketplaceFeeRule::defaultPercent(11.0)->toArray());
// TikTok Shop
$blueprint->add('tiktok_shop_platform_commission', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('tiktok_shop_logistics_service_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('tiktok_shop_dynamic_commission', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('tiktok_shop_order_processing_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('tiktok_shop_affiliate', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('tiktok_shop_pre_order_service_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_commission_fee', MarketplaceFeeRule::defaultPercent(6.0)->toArray());
$blueprint->add('shopee_transaction_fee', MarketplaceFeeRule::defaultPercent(2.0)->toArray());
// Shopee
$blueprint->add('shopee_admin_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_program_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_shipping_savings', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_premium', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_service_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_payment_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_affiliate_commission', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_shipping_subsidy', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_voucher_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_order_processing_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_ams_commission_fee', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_pre_order', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
$blueprint->add('shopee_live_extra', MarketplaceFeeRule::defaultPercent(0.0)->toArray());
});
}
};

View File

@ -0,0 +1,70 @@
<?php
use App\Support\Marketplace\MarketplaceFeeRule;
use Illuminate\Support\Facades\DB;
use Spatie\LaravelSettings\Migrations\SettingsBlueprint;
use Spatie\LaravelSettings\Migrations\SettingsMigration;
return new class extends SettingsMigration
{
public function up(): void
{
$this->migrator->inGroup('marketplace', function (SettingsBlueprint $blueprint): void {
$oldKeys = [
'tiktok_shop_admin_fee',
'tiktok_shop_transaction_fee',
'tiktok_shop_payment_fee',
'tiktok_shop_affiliate_commission',
'tiktok_shop_shipping_subsidy',
'tiktok_shop_vat_rate',
'shopee_commission_fee',
'shopee_transaction_fee',
'shopee_service_fee',
'shopee_payment_fee',
'shopee_affiliate_commission',
'shopee_shipping_subsidy',
'shopee_voucher_fee',
];
$existing = DB::table('settings')
->where('group', 'marketplace')
->pluck('name')
->toArray();
foreach ($oldKeys as $key) {
if (in_array($key, $existing)) {
$blueprint->delete($key);
}
}
$newFields = [
'tiktok_shop_platform_commission',
'tiktok_shop_logistics_service_fee',
'tiktok_shop_dynamic_commission',
'tiktok_shop_order_processing_fee',
'tiktok_shop_affiliate',
'tiktok_shop_pre_order_service_fee',
'shopee_admin_fee',
'shopee_program_fee',
'shopee_shipping_savings',
'shopee_premium',
'shopee_service_fee',
'shopee_order_processing_fee',
'shopee_ams_commission_fee',
'shopee_pre_order',
'shopee_live_extra',
];
$current = DB::table('settings')
->where('group', 'marketplace')
->pluck('name')
->toArray();
foreach ($newFields as $key) {
if (! in_array($key, $current)) {
$blueprint->add($key, MarketplaceFeeRule::defaultPercent(0.0)->toArray());
}
}
});
}
};

View File

@ -36,20 +36,22 @@ const platformItems: Array<{
];
const form = useForm({
tiktok_shop_admin_fee: { ...props.data.tiktok_shop_admin_fee },
tiktok_shop_transaction_fee: { ...props.data.tiktok_shop_transaction_fee },
tiktok_shop_payment_fee: { ...props.data.tiktok_shop_payment_fee },
tiktok_shop_affiliate_commission: { ...props.data.tiktok_shop_affiliate_commission },
tiktok_shop_shipping_subsidy: { ...props.data.tiktok_shop_shipping_subsidy },
tiktok_shop_vat_rate: { ...props.data.tiktok_shop_vat_rate },
tiktok_shop_platform_commission: { ...props.data.tiktok_shop_platform_commission },
tiktok_shop_logistics_service_fee: { ...props.data.tiktok_shop_logistics_service_fee },
tiktok_shop_dynamic_commission: { ...props.data.tiktok_shop_dynamic_commission },
tiktok_shop_order_processing_fee: { ...props.data.tiktok_shop_order_processing_fee },
tiktok_shop_affiliate: { ...props.data.tiktok_shop_affiliate },
tiktok_shop_pre_order_service_fee: { ...props.data.tiktok_shop_pre_order_service_fee },
shopee_commission_fee: { ...props.data.shopee_commission_fee },
shopee_transaction_fee: { ...props.data.shopee_transaction_fee },
shopee_admin_fee: { ...props.data.shopee_admin_fee },
shopee_program_fee: { ...props.data.shopee_program_fee },
shopee_shipping_savings: { ...props.data.shopee_shipping_savings },
shopee_premium: { ...props.data.shopee_premium },
shopee_service_fee: { ...props.data.shopee_service_fee },
shopee_payment_fee: { ...props.data.shopee_payment_fee },
shopee_affiliate_commission: { ...props.data.shopee_affiliate_commission },
shopee_shipping_subsidy: { ...props.data.shopee_shipping_subsidy },
shopee_voucher_fee: { ...props.data.shopee_voucher_fee },
shopee_order_processing_fee: { ...props.data.shopee_order_processing_fee },
shopee_ams_commission_fee: { ...props.data.shopee_ams_commission_fee },
shopee_pre_order: { ...props.data.shopee_pre_order },
shopee_live_extra: { ...props.data.shopee_live_extra },
});
function feeErrors(key: string): string[] {
@ -91,45 +93,45 @@ function submit() {
<FieldSet>
<FieldGroup class="grid gap-4 sm:grid-cols-2">
<MarketplaceFeeField
id="tiktok_shop_admin_fee"
v-model="form.tiktok_shop_admin_fee"
label="Biaya Admin"
:errors="feeErrors('tiktok_shop_admin_fee')"
id="tiktok_shop_platform_commission"
v-model="form.tiktok_shop_platform_commission"
label="Biaya Komisi Platform"
:errors="feeErrors('tiktok_shop_platform_commission')"
/>
<MarketplaceFeeField
id="tiktok_shop_transaction_fee"
v-model="form.tiktok_shop_transaction_fee"
label="Biaya Transaksi"
:errors="feeErrors('tiktok_shop_transaction_fee')"
id="tiktok_shop_logistics_service_fee"
v-model="form.tiktok_shop_logistics_service_fee"
label="Biaya Layanan Logistik"
:errors="feeErrors('tiktok_shop_logistics_service_fee')"
/>
<MarketplaceFeeField
id="tiktok_shop_payment_fee"
v-model="form.tiktok_shop_payment_fee"
label="Biaya Pembayaran"
:errors="feeErrors('tiktok_shop_payment_fee')"
id="tiktok_shop_dynamic_commission"
v-model="form.tiktok_shop_dynamic_commission"
label="Komisi Dinamis"
:errors="feeErrors('tiktok_shop_dynamic_commission')"
/>
<MarketplaceFeeField
id="tiktok_shop_affiliate_commission"
v-model="form.tiktok_shop_affiliate_commission"
label="Komisi Afiliasi"
:errors="feeErrors('tiktok_shop_affiliate_commission')"
id="tiktok_shop_order_processing_fee"
v-model="form.tiktok_shop_order_processing_fee"
label="Biaya Pemrosesan Pesanan"
:errors="feeErrors('tiktok_shop_order_processing_fee')"
/>
<MarketplaceFeeField
id="tiktok_shop_shipping_subsidy"
v-model="form.tiktok_shop_shipping_subsidy"
label="Subsidi Ongkir"
:errors="feeErrors('tiktok_shop_shipping_subsidy')"
id="tiktok_shop_affiliate"
v-model="form.tiktok_shop_affiliate"
label="Affiliate"
:errors="feeErrors('tiktok_shop_affiliate')"
/>
<MarketplaceFeeField
id="tiktok_shop_vat_rate"
v-model="form.tiktok_shop_vat_rate"
label="PPN / Pajak"
:errors="feeErrors('tiktok_shop_vat_rate')"
id="tiktok_shop_pre_order_service_fee"
v-model="form.tiktok_shop_pre_order_service_fee"
label="Biaya Layanan Pre Order"
:errors="feeErrors('tiktok_shop_pre_order_service_fee')"
/>
</FieldGroup>
</FieldSet>
@ -141,17 +143,31 @@ function submit() {
<FieldSet>
<FieldGroup class="grid gap-4 sm:grid-cols-2">
<MarketplaceFeeField
id="shopee_commission_fee"
v-model="form.shopee_commission_fee"
label="Komisi Shopee"
:errors="feeErrors('shopee_commission_fee')"
id="shopee_admin_fee"
v-model="form.shopee_admin_fee"
label="Biaya Administrasi"
:errors="feeErrors('shopee_admin_fee')"
/>
<MarketplaceFeeField
id="shopee_transaction_fee"
v-model="form.shopee_transaction_fee"
label="Biaya Transaksi"
:errors="feeErrors('shopee_transaction_fee')"
id="shopee_program_fee"
v-model="form.shopee_program_fee"
label="Biaya Program"
:errors="feeErrors('shopee_program_fee')"
/>
<MarketplaceFeeField
id="shopee_shipping_savings"
v-model="form.shopee_shipping_savings"
label="Hemat Biaya Kirim"
:errors="feeErrors('shopee_shipping_savings')"
/>
<MarketplaceFeeField
id="shopee_premium"
v-model="form.shopee_premium"
label="Premi"
:errors="feeErrors('shopee_premium')"
/>
<MarketplaceFeeField
@ -162,31 +178,31 @@ function submit() {
/>
<MarketplaceFeeField
id="shopee_payment_fee"
v-model="form.shopee_payment_fee"
label="Biaya Pembayaran"
:errors="feeErrors('shopee_payment_fee')"
id="shopee_order_processing_fee"
v-model="form.shopee_order_processing_fee"
label="Biaya Proses Pesanan"
:errors="feeErrors('shopee_order_processing_fee')"
/>
<MarketplaceFeeField
id="shopee_affiliate_commission"
v-model="form.shopee_affiliate_commission"
label="Komisi Afiliasi Shopee"
:errors="feeErrors('shopee_affiliate_commission')"
id="shopee_ams_commission_fee"
v-model="form.shopee_ams_commission_fee"
label="Biaya Komisi AMS"
:errors="feeErrors('shopee_ams_commission_fee')"
/>
<MarketplaceFeeField
id="shopee_shipping_subsidy"
v-model="form.shopee_shipping_subsidy"
label="Subsidi Ongkir"
:errors="feeErrors('shopee_shipping_subsidy')"
id="shopee_pre_order"
v-model="form.shopee_pre_order"
label="Pre Order"
:errors="feeErrors('shopee_pre_order')"
/>
<MarketplaceFeeField
id="shopee_voucher_fee"
v-model="form.shopee_voucher_fee"
label="Biaya Voucher / Diskon"
:errors="feeErrors('shopee_voucher_fee')"
id="shopee_live_extra"
v-model="form.shopee_live_extra"
label="Live Extra"
:errors="feeErrors('shopee_live_extra')"
/>
</FieldGroup>
</FieldSet>

View File

@ -29,17 +29,19 @@ export type SocialMediaSettingsData = {
};
export type MarketplaceSettingsData = {
tiktok_shop_admin_fee: MarketplaceFeeRule;
tiktok_shop_transaction_fee: MarketplaceFeeRule;
tiktok_shop_payment_fee: MarketplaceFeeRule;
tiktok_shop_affiliate_commission: MarketplaceFeeRule;
tiktok_shop_shipping_subsidy: MarketplaceFeeRule;
tiktok_shop_vat_rate: MarketplaceFeeRule;
shopee_commission_fee: MarketplaceFeeRule;
shopee_transaction_fee: MarketplaceFeeRule;
tiktok_shop_platform_commission: MarketplaceFeeRule;
tiktok_shop_logistics_service_fee: MarketplaceFeeRule;
tiktok_shop_dynamic_commission: MarketplaceFeeRule;
tiktok_shop_order_processing_fee: MarketplaceFeeRule;
tiktok_shop_affiliate: MarketplaceFeeRule;
tiktok_shop_pre_order_service_fee: MarketplaceFeeRule;
shopee_admin_fee: MarketplaceFeeRule;
shopee_program_fee: MarketplaceFeeRule;
shopee_shipping_savings: MarketplaceFeeRule;
shopee_premium: MarketplaceFeeRule;
shopee_service_fee: MarketplaceFeeRule;
shopee_payment_fee: MarketplaceFeeRule;
shopee_affiliate_commission: MarketplaceFeeRule;
shopee_shipping_subsidy: MarketplaceFeeRule;
shopee_voucher_fee: MarketplaceFeeRule;
shopee_order_processing_fee: MarketplaceFeeRule;
shopee_ams_commission_fee: MarketplaceFeeRule;
shopee_pre_order: MarketplaceFeeRule;
shopee_live_extra: MarketplaceFeeRule;
};