Template to extract JSON data

Running into a bit of an issue trying to extract a value from a MQTT topic, in JSON format. I’ve gotten several values to extract as expected, but having issues with one of them, not sure why I can’t seem to parse it, everything looks right it just doesn’t work. I’m adjusting the values in the example below because they are GPS coordinates, all other values are identical.

The MQTT topic:
msh/2/json/LongFast/!ddad002e

The received MQTT message:

{"channel":0,"from":3806640304,"id":667937654,"payload":{"PDOP":788,"altitude":820,"latitude_i":105000000,"longitude_i":-1100000000,"sats_in_view":4,"time":1707753361},"rssi":-1,"sender":"!ddad002e","snr":6.25,"timestamp":1707753372,"to":4294967295,"type":"position"}

I’m able to extract the longitude with the following sensor & template:

    - name: "HTV3 b8b0 Lon"
      unique_id: "HTV3_b8b0_lon"
      state_topic: "msh/2/json/LongFast/!ddad002e"
      value_template: >-
        {% if value_json.from == 3806640304 and value_json.payload.longitude_i is defined %}
          {{ value_json.payload.longitude_i }}
        {% else %}
          {{ states('sensor.HTV3_b8b0_lon') }}
        {% endif %}

But when I try to extract latitude, It simply fails, here’s the sensor & template:

    - name: "HTV3 b8b0 Lat"
      unique_id: "HTV3_b8b0_lat"
      state_topic: "msh/2/json/LongFast/!ddad002e"
      value_template: >-
        {% if value_json.from == 3806640304 and value_json.payload.latitude_i is defined %}
          {{ value_json.paylod.latitude_i }}
        {% else %}
          {{ states('sensor.HTV3_b8b0_lat') }}
        {% endif %}

What am I missing here, I’m sure it’s something simple, and just needs a new set of eyes. Cheers.

“payload” is misspelled in the expression.

I knew it was something stupid, thank you!