{"record":{"id":"19cb3ec6eb9e8e64","repo":"nopSolutions/nopCommerce","slug":"no-available-shipping-options","errorCode":null,"errorMessage":"No available shipping options","messagePattern":"No available shipping options","errorType":"exception","errorClass":"NopException","httpStatus":null,"severity":"error","filePath":"src/Plugins/Nop.Plugin.Payments.PayPalCommerce/Services/PayPalCommerceServiceManager.cs","lineNumber":668,"sourceCode":"\n        var shipping = new Shipping\n        {\n            Name = new() { FullName = CommonHelper.EnsureMaximumLength(fullName, 300), },\n            Address = address\n        };\n\n        if (details.Placement == ButtonPlacement.PaymentMethod && !isApplePay)\n        {\n            shipping.Type = details.IsPickup\n                ? ShippingType.SHIPPING.ToString().ToUpper() //PICKUP_IN_STORE option doesn't work for some reason\n                : ShippingType.SHIPPING.ToString().ToUpper();\n\n            return shipping;\n        }\n\n        var (shippingOptions, pickupPoints) = await PrepareShippingOptionsAsync(details);\n        if (!shippingOptions?.Any() ?? true)\n            throw new NopException(\"No available shipping options\");\n\n        var selectedShippingOption = shippingOptions.FirstOrDefault();\n        if (!string.IsNullOrEmpty(selectedOptionId))\n        {\n            var existingOption = shippingOptions\n                .FirstOrDefault(option => string.Equals(option.Name, selectedOptionId, StringComparison.InvariantCultureIgnoreCase))\n                ?? throw new NopException(\"Selected shipping option is unavailable\");\n\n            selectedShippingOption = existingOption;\n        }\n\n        if (selectedShippingOption is null)\n            throw new NopException(\"Selected shipping option is unavailable\");\n\n        PickupPoint pickupPoint = null;\n        if (selectedShippingOption.IsPickupInStore)\n        {\n            pickupPoint = await pickupPoints.FirstOrDefaultAwaitAsync(async point =>","sourceCodeStart":650,"sourceCodeEnd":686,"githubUrl":"https://github.com/nopSolutions/nopCommerce/blob/64bdf2ff08c8b39e65717bcf974fb43dc2ef68f2/src/Plugins/Nop.Plugin.Payments.PayPalCommerce/Services/PayPalCommerceServiceManager.cs#L650-L686","documentation":"Thrown during shipping option preparation when no shipping options or pickup points are available for the cart. The plugin calls PrepareShippingOptionsAsync which delegates to nopCommerce's shipping rate computation; if the result is null or empty, there is no way to fulfill the order.","triggerScenarios":"PrepareShippingAsync calls PrepareShippingOptionsAsync(details) which returns null or an empty list; the null-coalescing check '!shippingOptions?.Any() ?? true' evaluates to true.","commonSituations":"No shipping rate computation method is active or configured; all configured shipping providers returned no rates for the destination; the shipping address country/region is not covered by any shipping method; shipping rate computation plugins are misconfigured or their external APIs are down.","solutions":["Verify at least one shipping rate computation method is installed and active in nopCommerce (Configuration > Shipping > Providers)","Check that the configured shipping methods cover the customer's shipping destination country and region","Test shipping rate calculation independently for the customer's address to confirm providers return rates","Ensure shipping provider plugins (e.g., UPS, USPS, FedEx) have valid API credentials and are operational","Verify restricted shipping zones are not excluding the customer's destination"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Check shipping options availability before PayPal flow\nvar shippingOptions = await _shippingService\n    .GetShippingOptionsAsync(cart, shippingAddress, \"\", storeId);\nif (!shippingOptions.ShippingOptions.Any())\n{\n    return Error(\"No shipping options available for the selected address\");\n}","typeGuard":null,"tryCatchPattern":"var (result, error) = await manager.PrepareShippingAsync(settings, details, selectedOptionId, isApplePay);\nif (!string.IsNullOrEmpty(error))\n{\n    if (error == \"No available shipping options\")\n        return View(\"NoShippingOptions\");\n}","preventionTips":["Always verify at least one shipping rate computation method is active","Test shipping rate calculation for all destination countries you serve","Ensure shipping provider API credentials are valid and monitored","Set up fallback free shipping or flat-rate options for uncovered regions"],"tags":["shipping","shipping-options","paypal-commerce","nopcommerce","configuration"],"backgroundTag":null,"analyzedSha":"64bdf2ff08c8b39e65717bcf974fb43dc2ef68f2","analyzedAt":"2026-08-13T21:19:38.062Z","schemaVersion":2},"datasetVersion":"2026-08-14T00:17:13.853Z"}