Call external API

I’d suggest you should call the API from the server, not from the client. This should be possible when the form is submitted and as you say doing OAuth from the browser introduces a lot more issues.

This is a fair bit of work, so I’d suggest this general structure to the way you approach it:

  1. Figure out how to do the OAuth authentication you need and calling the remote API in plain PHP code outside of WordPress. This is difficult enough, you don’t want to try to make this work inside WordPress first.
  2. Once you can do this, do the simplest possible integration with WordPress – e.g. in a plugin with e.g. a shortcode just to test that you can make this code run from inside WordPress ok.
  3. Once you’ve done this, figure out how to call the code when the form is submitted, e.g. by hooking in to a WordPress action that runs when your form is submitted, or finding some other way to run code on the server when the form is submitted.

HTH, please post if you have any followup or more specific questions.