diff --git a/OpenActive.Server.NET/StoreBookingEngine/StoreBookingEngine.cs b/OpenActive.Server.NET/StoreBookingEngine/StoreBookingEngine.cs index d6185e8b..20606a7a 100644 --- a/OpenActive.Server.NET/StoreBookingEngine/StoreBookingEngine.cs +++ b/OpenActive.Server.NET/StoreBookingEngine/StoreBookingEngine.cs @@ -489,7 +489,17 @@ private List GetOrderItemContexts(List sourceOrder new IncompleteOrderItemError(), "acceptedOffer @id was not provided"); } - var idComponents = base.ResolveOpportunityID(orderedItemId, acceptedOfferId); + IBookableIdComponents idComponents; + try + { + + idComponents = base.ResolveOpportunityID(orderedItemId, acceptedOfferId); + } + catch (RequiredBaseUrlMismatchException e) + { + throw new OpenBookingException(new InvalidOpportunityOrOfferIdError(), $"Opportunity @id or Offer @id does not originate from this system, {e.Message}. Opportunity @id '{orderedItemId}'; Offer @id '{acceptedOfferId}'"); + } + if (idComponents == null) {