getShippingQuery()->answer(true, [ 'shipping_options' => [ new ShippingOption([ 'id' => 'basic', 'title' => 'Basic Shipping', 'prices' => [ new LabeledPrice(['label' => 'Basic Shipping', 'amount' => 800]), ], ]), new ShippingOption([ 'id' => 'premium', 'title' => 'Premium Shipping', 'prices' => [ new LabeledPrice(['label' => 'Premium Shipping', 'amount' => 1500]), new LabeledPrice(['label' => 'Extra speedy', 'amount' => 300]), ], ]), ], ]); // If we do make certain checks, you can define the error message displayed to the user like this. // return $this->getShippingQuery()->answer(false, [ // 'error_message' => 'We do not ship to your location :-(', // ]); } }