From ab0eb3ab280b6adb9d7d9023dc560539aac5d118 Mon Sep 17 00:00:00 2001 From: Dwindi Ramadhana Date: Thu, 8 Jan 2026 09:56:12 +0700 Subject: [PATCH] fix(admin): shipping uses rate-level options from calculate_shipping Removed static method-level fallback. Shipping method selector now: 1. Shows 'Enter shipping address to see available rates' when address incomplete 2. Calls calculate_shipping endpoint to get actual WC_Shipping_Rate objects 3. Displays rate-level options (e.g., JNE REG, JNE YES) not method-level This ensures third-party shipping plugins like Rajaongkir, UPS, FedEx display their courier rates correctly. --- .../src/routes/Orders/partials/OrderForm.tsx | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/admin-spa/src/routes/Orders/partials/OrderForm.tsx b/admin-spa/src/routes/Orders/partials/OrderForm.tsx index d0d9fff..092bed4 100644 --- a/admin-spa/src/routes/Orders/partials/OrderForm.tsx +++ b/admin-spa/src/routes/Orders/partials/OrderForm.tsx @@ -1266,7 +1266,12 @@ export default function OrderForm({ {hasPhysicalProduct && (
- {shippingLoading ? ( + {!isShippingAddressComplete ? ( + /* Prompt user to enter address first */ +
+ {__('Enter shipping address to see available rates')} +
+ ) : shippingLoading ? (
{__('Calculating rates...')}
) : shippingRates?.methods && shippingRates.methods.length > 0 ? ( - ) : isShippingAddressComplete && effectiveShippingAddress.country ? ( - /* Address is complete but no methods returned - show message */ -
{__('No shipping methods available for this address')}
- ) : shippings.length > 0 ? ( - /* Fallback to static list when address is not complete */ - ) : ( -
{__('No shipping methods configured')}
+ /* Address is complete but no methods returned */ +
{__('No shipping methods available for this address')}
)}
)}