条带webhook在TEST模式下正确响应,但在LIVE中没有响应

Can someone please help me get my head round why this stripe webhook responds correctly in test mode (by giving the response "Worked!") but in live mode gives no response! Heres my webhook end point:

<?php
require_once('../vendor/autoload.php');
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("####");

// You can find your endpoint's secret in your webhook settings
$endpoint_secret = '####';

$payload = @file_get_contents('php://input');
$sig_header = $_SERVER['HTTP_STRIPE_SIGNATURE'];
$event = null;

try {
  $event = \Stripe\Webhook::constructEvent(
    $payload, $sig_header, $endpoint_secret
  );
} catch(\UnexpectedValueException $e) {
  // Invalid payload
  http_response_code(400); // PHP 5.4 or greater
  exit();
} catch(\Stripe\Error\SignatureVerification $e) {
  // Invalid signature
  http_response_code(400); // PHP 5.4 or greater
  exit();
}

        // This function is leveraged to search through the JSON for specific values
        function searchArrayValueByKey(array $array, $search) {
            foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($array)) as $key => $value) {
                if ($search === $key)
                return $value;
            }
                return false;
            }
$input = @file_get_contents("php://input");         // this gets the POST data provided when the webhook pings this page
$event_json = json_decode($input, TRUE);            // decode the JSON, and TRUE turns it into a multidimensional array
$type = searchArrayValueByKey($event_json, 'type'); // Check the type of event sent from Stripe.com - example "charge.succeeded"
switch ($type) {                                    // depending on the event fired by Stripe, do something different.
        case "account.updated":
        echo 'Worked!';
        break;
        case "balance.available":
        echo 'Worked!';
        break;
    case "charge.captured":
        echo 'Worked!';
        break;
    case "charge.refunded":
        echo 'Worked!';
        break;
    case "charge.succeeded":
        echo 'Worked!';
        break;
    case "charge.updated":
        echo 'Worked!';
        break;
    case "charge.failed":
    echo 'Worked!';
        break;
    case "charge.dispute.created":
        echo 'Worked!';
        break;
    case "charge.dispute.updated":
        echo 'Worked!';
        break;
    case "charge.dispute.closed":
        echo 'Worked!';
        break;
    case "coupon.created":
        echo 'Worked!';
        break;
    case "coupon.deleted":
        echo 'Worked!';
        break;
    case "customer.created":
        echo 'Worked!';
        break;
    case "customer.updated":
        echo 'Worked!';
        break;
    case "customer.deleted":
        echo 'Worked!';
        break;
    case "customer.card.created":
        echo 'Worked!';
        break;
    case "customer.card.updated":
        echo 'Worked!';
        break;
    case "customer.card.deleted":
        echo 'Worked!';
        break;
    case "customer.discount.created":
        echo 'Worked!';
        break;
    case "customer.discount.updated":
        echo 'Worked!';
        break;
    case "customer.discount.deleted":
        echo 'Worked!';
        break;
    case "customer.subscription.created":
    echo 'Worked!';
        break;
    case "customer.subscription.updated":
        echo 'Worked!';
        break;
    case "customer.subscription.deleted":
        echo 'Worked!';
        break;
    case "customer.subscription.trial_will_end":
        echo 'Worked!';
        break;
    case "invoice.created":
        echo 'Worked!';
        break;
    case "invoice.updated":
        echo 'worked!';
        break;
    case "invoice.payment_succeeded":
        echo 'Worked!';
        break;
    case "invoice.payment_failed":
        echo 'Worked!';
        break;
    case "invoiceitem.created":
        echo 'Worked!';
        break;
    case "invoiceitem.updated":
        echo 'Worked!';
        break;
    case "invoiceitem.deleted":
        echo 'Worked!';
        break;
    case "plan.created":
        echo 'Worked!';
        break;
    case "plan.updated":
        echo 'Worked!';
        break;
    case "plan.deleted":
        echo 'Worked!';
        break;
    case "transfer.created":
        echo 'Worked!';
        break;
    case "transfer.updated":
        echo 'Worked!';
        break;
    case "transfer.paid":
        echo 'Worked!';
        break;
    case "transfer.failed":
        echo 'Worked!';
        break;
    default:
        // An error has occured, this was not a Stripe.com event - log into your Stripe.com account and check the log.

}
http_response_code(200);
?>

I have made sure to change my secret key and endpoint key when switching between live and test.

Ive tried everything! Even tried contacting stripe to no avail, they just said there is nothing they can do on their end.

Any insight on what I'm doing wrong would be much appreciated.