"Incomplete Signature" "The request signature does not conform to platform standards" in Lazada API

I working in connecting our system in Lazada and need to retrieve items. this is my code.

    $region = "https://api.lazada.com.ph/rest";
    $getproductitem = "/products/get";
    $app_key = 110150;
    $date = new DateTime();
    $timestamp = 1656029861000;
    $access_token = "token***";
    $app_secret = "secret***";
    $base_str = $getproductitem.'access_token'.$access_token.'app_key'.$app_key.'sign_method'.$sign_method.'timestamp'.$timestamp; 
    $sign = hash_hmac('sha256', $base_str, $app_secret, false);
    //$sign = hex(sha256($getproductitem.'access_token'.$access_token.'app_key'.$app_key.'sign_method'.$sign_method.'timestamp'.$timestamp));

    //return $uri = "https://api.lazada.com.ph/rest/products/get?app_key=$app_key&access_token=$access_token&sign_method=$sign_method&timestamp=$timestamp&sign=$sign";
    $response = Http::get($region.$getproductitem,  [
        "app_key" => $app_key,
        "access_token" => $access_token,
        "sign_method" => $sign_method,
        "timestamp" =>  $timestamp,
        "sign" => $sign,

     return $response->json();

but the return is this.

{ “type”: “ISV”, “code”: “IncompleteSignature”, “message”: “The request signature does not conform to platform standards”, “request_id”: “212a721616560299294283218” }

I follow the instruction according to their documentation about setting of sign still i got error. thanks for help.

Your commented out code hex’s the result. Did you forget a function?

oh derp i’m blind. thats the false in hash_hmac.

Well, the Timestamp is now too old to use i think… cause it has to be within the last 2 hours (why are we not just using the ACTUAL timestamp?) but other than that… I dont immediately see why it would fail…