I have had good luck fixing seatbelt retraction by using compressed air and WD40 to clean them out without having to take them entirely apart, only removing them from the plastic housing. Use about 60 psi and a spray straw on the WD40 to get into the openings of the interior reel case. You have to know that on one side or the other of the belt reel is a toothed sprocket. On the outer edge of the sprocket somewhere is a swinging pawl and pendulum activated by inertia that engages the sprocket when the pendulum swings towrads the front of the vehicle. The pendulum/pawl MUST swing FREELY or the seatbelt will not retract. Often dirt, crud, corrosion or all of them build up and prevents its free swinging movement, keeping it engaged in the sprocket. That is where the compressed air and WD40 come in. First blow air in from all sides (try to see what comes out) then blow in WD40 from all sides. Then repeat air, then WD40. You get the idea. It helps if you can remove any outer plastic housing so that you can actually blow and spray into the device, particularly focusing on the reel sides where the sprocket and pawl are. Once it begins to retract, keeping blowing and spraying more just to get it ALL cleaned up, unitl it works perfectly. It takes at least 15 minutes of cleaning to even get it to move, and then even more time to get it all clean.
Like I said, I have fixed at least 6 seatbelts this way, though never on my truck, which hasn't needed it. Good luck... let us know if it works!!