I'm fairly new to deal with x-www-form-urlencoded message. However I encountered an different encoding with PostUrlEncodedAsync that I used in Flurl HTTP to encoded whitespace as +, yet if I used other urlencoding it would use %20
e.g item_name: Test Purchase
From Flurl: Test+Purchase
From other UrlEncoded: Test%20Purchase