creating form for wp_remote_post

You could make the form action be the current page’s URL. When the user submits the form the page gets reloaded with the POST parameters. Then in your widget’s code you check if those parameters exist. If so, you check them and then process them with your wp_remote_post.

Personally I use Gravity Forms for stuff like this. I create the form in Gravity and then add code to the gform_after_submission hook to process the form entry. It’s an easy option because it takes care of the rest of the form functionality (if you can afford the license).