From 94fac8fbee2f7119a9e4576173b39d7324616fd1 Mon Sep 17 00:00:00 2001 From: isaacclad Date: Thu, 11 Jun 2026 19:32:24 +0000 Subject: [PATCH] Lower sales platform fee from 15% to 9%. Align merchant settlement and booking checkout with the updated Ladill Pay sales tier. Co-authored-by: Cursor --- DEPLOY.md | 6 +++--- app/Models/QrSaleOrder.php | 2 +- app/Services/Merchant/MerchantSaleService.php | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DEPLOY.md b/DEPLOY.md index 2906088..0d3381b 100644 --- a/DEPLOY.md +++ b/DEPLOY.md @@ -2,7 +2,7 @@ Standalone app for **shop, menu & booking storefronts** at `merchant.ladill.com` — QR storefronts with catalog checkout. Sales settle into the one platform UserWallet -(15% fee), then withdraw via `account.ladill.com`. +(9% fee), then withdraw via `account.ladill.com`. Public scans stay at `ladill.com/q/` (blueprint decision — printed codes never migrate). The platform host forwards shop/menu/booking codes to this app (see @@ -23,7 +23,7 @@ main app DB user. |---|---| | `LADILL_SSO_CLIENT_ID` / `LADILL_SSO_CLIENT_SECRET` | `passport:client` on platform | | `BILLING_API_KEY_MERCHANT` | platform `.env` + this app | -| `PAY_API_KEY_MERCHANT` | platform `.env` + this app — Ladill Pay checkout (15% sales tier) | +| `PAY_API_KEY_MERCHANT` | platform `.env` + this app — Ladill Pay checkout (9% sales tier) | | `IDENTITY_API_KEY_MERCHANT` | platform `.env` + this app | | `PLATFORM_DB_*` | read `ladilldb.platform_settings` (Paystack keys from admin → Billing) | @@ -83,7 +83,7 @@ php artisan config:cache route:cache view:cache - SSO login at `merchant.ladill.com` - Create a shop, menu, or booking storefront, download QR PNG -- Scan `/q/`, place test order, confirm wallet credit (net of 15%) +- Scan `/q/`, place test order, confirm wallet credit (net of 9%) - Withdraw from `account.ladill.com/wallet` ## Product IA (blueprint) diff --git a/app/Models/QrSaleOrder.php b/app/Models/QrSaleOrder.php index c3a8b96..0af0929 100644 --- a/app/Models/QrSaleOrder.php +++ b/app/Models/QrSaleOrder.php @@ -27,7 +27,7 @@ class QrSaleOrder extends Model self::FULFILLMENT_CANCELLED => 'Cancelled', ]; - public const PLATFORM_FEE_RATE = 0.15; + public const PLATFORM_FEE_RATE = 0.09; protected $fillable = [ 'pay_order_id', diff --git a/app/Services/Merchant/MerchantSaleService.php b/app/Services/Merchant/MerchantSaleService.php index d959d6d..393d8f3 100644 --- a/app/Services/Merchant/MerchantSaleService.php +++ b/app/Services/Merchant/MerchantSaleService.php @@ -297,7 +297,7 @@ class MerchantSaleService } $paidAmount = round(($data['amount'] ?? 0) / 100, 2); - $platformFee = round($paidAmount * 0.15, 2); + $platformFee = round($paidAmount * QrSaleOrder::PLATFORM_FEE_RATE, 2); $merchantAmount = round($paidAmount - $platformFee, 2); $booking->update([