php – get products from shopify API

Buenas tengo el siguiente problema:
Me conecto a la API de Shopify para intentar sacar los datos de los productos y asi poder llevar el stock de la web con la de los proveedores, bueno el caso es que me conecto perfectamente y me devuelve el “Header link” para poder realizar un paginaciĆ³n y asi sacar todos los datos pero no me lo hace recursivamente para sacar TODOS los datos solo me lo hace 1 vez, espero que puedan ayudarme y gracias de ante mano.

$items_per_page = 1;
$next_page = '';
$last_page = false;

while (!$last_page) {

$url = "https://{APIkey}:{password}@mishop.myshopify.com/admin/api/2020-10/products.json?limit=". $items_per_page . $next_page;

$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADERFUNCTION, function ($curl, $header) use (&$headers) {
    $len = strlen($header);
    $header = explode(':', $header, 2);

    if (count($header) >= 2) {
        $headers(strtolower(trim($header(0)))) = trim($header(1));
    }
    return $len;

});

$result = curl_exec($curl);
echo ('<br>');
curl_close($curl);
echo ('<br>');

if (isset($headers('link'))) {
    $links = explode(',', $headers('link'));
    echo ('<br>');
    var_dump($links);
    foreach ($links as $link) {
        echo ('<br>');
        echo('entra tambien');
        if (strpos($link, 'rel="next"')) {

            preg_match('~<(.*?)>~', $link, $next);

            $url_components = parse_url($next(1));

            parse_str($url_components('query'), $params);

            $next_page = '&page_info=' . $params('page_info');

        } else {

            $last_page = true;
        }
    }
} else {
    $last_page = true; // if missing "link" parameter - there's only one page of results = last_page
}



   $source_array = json_decode($result, true);
}
echo "<pre>";
print_r($source_array);
echo "</pre>"

;