I have quite simple contract terms so far. I don't expect that any legal actions are possible (the money is not that big and we're always around the globe). It's more for the client to be aware what to expect in case of problems. Should I ask them to make a photo of their signature in that case? Or just prompt to read and confirm?
You can use an e-signature tool like Docusign, Hellosign, or Authentisign to have the client sign the contract electronically.
Or you can have them print out a copy of the contract, sign it, scan it, and email it back to you for records.
You can also request for them to get the printed document notarized in their country or at an US consulate if available, and then have them mail the hard copy back to you. Depending on the country, some contracts will need to be notarized in order to be valid. I would recommend consulting with an attorney specializing in these matters.
Best of luck.
Some businesses that I use send me an email with the agreement, and ask that I reply, by email, with my name and "I agree to the terms" in the body.
This is a good solution for relatively small amounts, a few hundred perhaps, you'll have to decide where your comfort level is.
For larger amounts, and a more secure/binding contract, there are many online services which allow you to send PDF agreements by email and have them signed and returned to you, generally without any special software by your client. These will typically have monthly subscription costs.
You have to decide what is appropriate for your business. For smaller amounts, and international, it may not be cost effective to pursue non-paying clients legally. Therefore, does it it make sense to have a fancy contract system. As long as the agreement and correspondence is professional, that is probably the most important thing.