PHP CURL POST方法提供500个响应代码

Hi I know that there are similar questions already in there but I have ruled them out.

So I am trying to make a simple POST method with curl and keep getting error 500. Have I missed something ?

// Get cURL resource
$curl = curl_init();

//POST request body
$post_data = array(
    'subscription_uuid' => $subscription_uuid,
    'merchant' => $merchant_id
);

echo "JSON in POSTFIELDS:" . json_encode($post_data, JSON_PRETTY_PRINT) . "
";

// Set Headers, endpoint and option to output response as string
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'https://subscriptions-jwt.fortumo.io/subscriptions/cancel',
    CURLOPT_POST => 1,
    CURLOPT_HTTPHEADER => array(
        'Content Type: application/json' ,
        'Authorization: Bearer' . " " . $jwt

    ),
    CURLOPT_POSTFIELDS => json_encode($post_data)
));

// Send the request & save response
$unsubscribe_response = curl_exec($curl);

$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

//Request URL:
echo "Unsubscribe Request URL:
" . curl_getinfo($curl, CURLINFO_EFFECTIVE_URL) . "
";
echo "Error Code:" . $statusCode . "
";

And here is the response I get from that code block(simplified this using echo-s):

JSON in POSTFIELDS:{
    "subscription_uuid": "<<MY-TOKEN>>",
    "merchant": "<<MY-TOKEN>>"
}
Unsubscribe Request URL:
https://subscriptions-jwt.fortumo.io/subscriptions/cancel
Error Code:500

Wierd thing is that using exactly same set of headers, JSON postfields and URL in a tool such as Advanced REST client everything works fine and I get 200 response with no problem.

Something is wrong with my code. Can anyone please spot the issue? Thanks in advance!